29 lines
698 B
JavaScript
29 lines
698 B
JavaScript
import _has from "./_has.js"; // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
|
|
function _objectAssign(target) {
|
|
if (target == null) {
|
|
throw new TypeError('Cannot convert undefined or null to object');
|
|
}
|
|
|
|
var output = Object(target);
|
|
var idx = 1;
|
|
var length = arguments.length;
|
|
|
|
while (idx < length) {
|
|
var source = arguments[idx];
|
|
|
|
if (source != null) {
|
|
for (var nextKey in source) {
|
|
if (_has(nextKey, source)) {
|
|
output[nextKey] = source[nextKey];
|
|
}
|
|
}
|
|
}
|
|
|
|
idx += 1;
|
|
}
|
|
|
|
return output;
|
|
}
|
|
|
|
export default typeof Object.assign === 'function' ? Object.assign : _objectAssign; |