Show More
Commit Description:
fix wrong merge on user
Commit Description:
fix wrong merge on user
References:
File last commit:
Show/Diff file:
Action:
node_modules/object.assign/implementation.js
| 41 lines
| 1.3 KiB
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
// modified from https://github.com/es-shims/es6-shim | ||||
var keys = require('object-keys'); | ||||
var bind = require('function-bind'); | ||||
var canBeObject = function (obj) { | ||||
return typeof obj !== 'undefined' && obj !== null; | ||||
}; | ||||
var hasSymbols = require('has-symbols/shams')(); | ||||
var toObject = Object; | ||||
var push = bind.call(Function.call, Array.prototype.push); | ||||
var propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable); | ||||
var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null; | ||||
module.exports = function assign(target, source1) { | ||||
if (!canBeObject(target)) { throw new TypeError('target must be an object'); } | ||||
var objTarget = toObject(target); | ||||
var s, source, i, props, syms, value, key; | ||||
for (s = 1; s < arguments.length; ++s) { | ||||
source = toObject(arguments[s]); | ||||
props = keys(source); | ||||
var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols); | ||||
if (getSymbols) { | ||||
syms = getSymbols(source); | ||||
for (i = 0; i < syms.length; ++i) { | ||||
key = syms[i]; | ||||
if (propIsEnumerable(source, key)) { | ||||
push(props, key); | ||||
} | ||||
} | ||||
} | ||||
for (i = 0; i < props.length; ++i) { | ||||
key = props[i]; | ||||
value = source[key]; | ||||
if (propIsEnumerable(source, key)) { | ||||
objTarget[key] = value; | ||||
} | ||||
} | ||||
} | ||||
return objTarget; | ||||
}; | ||||