UNPKG

1.51 kBJavaScriptView Raw
1"use strict";
2var isObj = function (x) {
3 var type = typeof x;
4 return x !== null && (type === 'object' || type === 'function');
5};
6var hasOwnProperty = Object.prototype.hasOwnProperty;
7var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8function toObject(val) {
9 if (val === null || val === undefined) {
10 throw new TypeError('Sources cannot be null or undefined');
11 }
12 return Object(val);
13}
14function assignKey(to, from, key) {
15 var val = from[key];
16 if (val === undefined || val === null) {
17 return;
18 }
19 if (hasOwnProperty.call(to, key)) {
20 if (to[key] === undefined || to[key] === null) {
21 throw new TypeError('Cannot convert undefined or null to object (' + key + ')');
22 }
23 }
24 if (!hasOwnProperty.call(to, key) || !isObj(val)) {
25 to[key] = val;
26 }
27 else {
28 to[key] = assign(Object(to[key]), from[key]);
29 }
30}
31function assign(to, from) {
32 if (to === from) {
33 return to;
34 }
35 from = Object(from);
36 for (var key in from) {
37 if (hasOwnProperty.call(from, key)) {
38 assignKey(to, from, key);
39 }
40 }
41 return to;
42}
43function deepAssign(target) {
44 var args = [];
45 for (var _i = 1; _i < arguments.length; _i++) {
46 args[_i - 1] = arguments[_i];
47 }
48 target = toObject(target);
49 for (var s = 0; s < args.length; s++) {
50 assign(target, args[s]);
51 }
52 return target;
53}
54exports.deepAssign = deepAssign;
55//# sourceMappingURL=deepAssign.js.map
\No newline at end of file