18 lines
384 B
JavaScript
18 lines
384 B
JavaScript
|
'use strict'
|
||
|
/* eslint no-proto: 0 */
|
||
|
module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties)
|
||
|
|
||
|
function setProtoOf (obj, proto) {
|
||
|
obj.__proto__ = proto
|
||
|
return obj
|
||
|
}
|
||
|
|
||
|
function mixinProperties (obj, proto) {
|
||
|
for (var prop in proto) {
|
||
|
if (!obj.hasOwnProperty(prop)) {
|
||
|
obj[prop] = proto[prop]
|
||
|
}
|
||
|
}
|
||
|
return obj
|
||
|
}
|