root / HServer / 00.Server / 00.Program / node_modules / object-assign / index.js
이력 | 보기 | 이력해설 | 다운로드 (817 Bytes)
1 |
'use strict';
|
---|---|
2 |
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
3 |
|
4 |
function ToObject(val) { |
5 |
if (val == null) { |
6 |
throw new TypeError('Object.assign cannot be called with null or undefined'); |
7 |
} |
8 |
|
9 |
return Object(val);
|
10 |
} |
11 |
|
12 |
function ownEnumerableKeys(obj) { |
13 |
var keys = Object.getOwnPropertyNames(obj);
|
14 |
|
15 |
if (Object.getOwnPropertySymbols) {
|
16 |
keys = keys.concat(Object.getOwnPropertySymbols(obj)); |
17 |
} |
18 |
|
19 |
return keys.filter(function (key) { |
20 |
return propIsEnumerable.call(obj, key);
|
21 |
}); |
22 |
} |
23 |
|
24 |
module.exports = Object.assign || function (target, source) {
|
25 |
var from;
|
26 |
var keys;
|
27 |
var to = ToObject(target);
|
28 |
|
29 |
for (var s = 1; s < arguments.length; s++) { |
30 |
from = arguments[s];
|
31 |
keys = ownEnumerableKeys(Object(from)); |
32 |
|
33 |
for (var i = 0; i < keys.length; i++) { |
34 |
to[keys[i]] = from[keys[i]]; |
35 |
} |
36 |
} |
37 |
|
38 |
return to;
|
39 |
}; |