@domql/utils 2.32.19 → 2.32.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/object.js +9 -2
- package/dist/esm/object.js +9 -2
- package/object.js +15 -2
- package/package.json +2 -2
package/dist/cjs/object.js
CHANGED
|
@@ -102,7 +102,7 @@ const merge = (element, obj, excludeFrom = []) => {
|
|
|
102
102
|
}
|
|
103
103
|
return element;
|
|
104
104
|
};
|
|
105
|
-
const deepMerge = (element, extend, excludeFrom = []) => {
|
|
105
|
+
const deepMerge = (element, extend, excludeFrom = [], level = Infinity) => {
|
|
106
106
|
for (const e in extend) {
|
|
107
107
|
const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
|
|
108
108
|
if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__"))
|
|
@@ -110,7 +110,14 @@ const deepMerge = (element, extend, excludeFrom = []) => {
|
|
|
110
110
|
const elementProp = element[e];
|
|
111
111
|
const extendProp = extend[e];
|
|
112
112
|
if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {
|
|
113
|
-
|
|
113
|
+
if (level > 0) {
|
|
114
|
+
deepMerge(elementProp, extendProp, excludeFrom, level - 1);
|
|
115
|
+
} else {
|
|
116
|
+
for (const k in extendProp) {
|
|
117
|
+
if (excludeFrom.includes(k) || elementProp[k]) continue;
|
|
118
|
+
elementProp[k] = extendProp[k];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
114
121
|
} else if (elementProp === void 0) {
|
|
115
122
|
element[e] = extendProp;
|
|
116
123
|
}
|
package/dist/esm/object.js
CHANGED
|
@@ -72,7 +72,7 @@ const merge = (element, obj, excludeFrom = []) => {
|
|
|
72
72
|
}
|
|
73
73
|
return element;
|
|
74
74
|
};
|
|
75
|
-
const deepMerge = (element, extend, excludeFrom = []) => {
|
|
75
|
+
const deepMerge = (element, extend, excludeFrom = [], level = Infinity) => {
|
|
76
76
|
for (const e in extend) {
|
|
77
77
|
const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
|
|
78
78
|
if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__"))
|
|
@@ -80,7 +80,14 @@ const deepMerge = (element, extend, excludeFrom = []) => {
|
|
|
80
80
|
const elementProp = element[e];
|
|
81
81
|
const extendProp = extend[e];
|
|
82
82
|
if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
|
|
83
|
-
|
|
83
|
+
if (level > 0) {
|
|
84
|
+
deepMerge(elementProp, extendProp, excludeFrom, level - 1);
|
|
85
|
+
} else {
|
|
86
|
+
for (const k in extendProp) {
|
|
87
|
+
if (excludeFrom.includes(k) || elementProp[k]) continue;
|
|
88
|
+
elementProp[k] = extendProp[k];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
84
91
|
} else if (elementProp === void 0) {
|
|
85
92
|
element[e] = extendProp;
|
|
86
93
|
}
|
package/object.js
CHANGED
|
@@ -77,7 +77,12 @@ export const merge = (element, obj, excludeFrom = []) => {
|
|
|
77
77
|
return element
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
export const deepMerge = (
|
|
80
|
+
export const deepMerge = (
|
|
81
|
+
element,
|
|
82
|
+
extend,
|
|
83
|
+
excludeFrom = [],
|
|
84
|
+
level = Infinity
|
|
85
|
+
) => {
|
|
81
86
|
for (const e in extend) {
|
|
82
87
|
const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e)
|
|
83
88
|
if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith('__'))
|
|
@@ -85,7 +90,15 @@ export const deepMerge = (element, extend, excludeFrom = []) => {
|
|
|
85
90
|
const elementProp = element[e]
|
|
86
91
|
const extendProp = extend[e]
|
|
87
92
|
if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
|
|
88
|
-
|
|
93
|
+
// shallow merge when deepness level is reached
|
|
94
|
+
if (level > 0) {
|
|
95
|
+
deepMerge(elementProp, extendProp, excludeFrom, level - 1)
|
|
96
|
+
} else {
|
|
97
|
+
for (const k in extendProp) {
|
|
98
|
+
if (excludeFrom.includes(k) || elementProp[k]) continue
|
|
99
|
+
elementProp[k] = extendProp[k]
|
|
100
|
+
}
|
|
101
|
+
}
|
|
89
102
|
} else if (elementProp === undefined) {
|
|
90
103
|
element[e] = extendProp
|
|
91
104
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/utils",
|
|
3
|
-
"version": "2.32.
|
|
3
|
+
"version": "2.32.25",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build": "npx rimraf -I dist; npm run build:cjs; npm run build:esm",
|
|
25
25
|
"prepublish": "npm run build; npm run copy:package:cjs"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "325683c8553a64ee952c8a36f4e823257d1e81bb",
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/core": "^7.27.1"
|
|
30
30
|
}
|