core-js
Version:
Standard library
21 lines (20 loc) • 681 B
JavaScript
// 19.1.2.1 Object.assign(target, source, ...)
var toObject = require('./$.to-object')
, IObject = require('./$.iobject')
, enumKeys = require('./$.enum-keys');
module.exports = require('./$.fails')(function(){
return Symbol() in Object.assign({}); // Object.assign available and Symbol is native
}) ? function assign(target, source){ // eslint-disable-line no-unused-vars
var T = toObject(target)
, l = arguments.length
, i = 1;
while(l > i){
var S = IObject(arguments[i++])
, keys = enumKeys(S)
, length = keys.length
, j = 0
, key;
while(length > j)T[key = keys[j++]] = S[key];
}
return T;
} : Object.assign;