프로젝트

일반

사용자정보

통계
| 개정판:

root / HServer / 00.Server / 00.Program / node_modules / object-assign / index.js

이력 | 보기 | 이력해설 | 다운로드 (817 Bytes)

1 39 HKM
'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
};