@domql/utils 3.0.1 → 3.0.7
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/extends.js +11 -4
- package/dist/cjs/keys.js +1 -1
- package/dist/esm/extends.js +11 -4
- package/dist/esm/keys.js +1 -1
- package/extends.js +17 -4
- package/keys.js +1 -1
- package/package.json +2 -2
package/dist/cjs/extends.js
CHANGED
|
@@ -169,21 +169,28 @@ const flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new S
|
|
|
169
169
|
const deepMergeExtends = (element, extend) => {
|
|
170
170
|
extend = (0, import_object.deepClone)(extend);
|
|
171
171
|
for (const e in extend) {
|
|
172
|
-
if (["parent", "node", "__ref"].indexOf(e) > -1) continue;
|
|
173
|
-
if (e === "__proto__") continue;
|
|
172
|
+
if (["parent", "node", "__ref", "__proto__"].indexOf(e) > -1) continue;
|
|
174
173
|
const elementProp = element[e];
|
|
175
174
|
const extendProp = extend[e];
|
|
176
175
|
if (extendProp === void 0) continue;
|
|
177
176
|
if (Object.prototype.hasOwnProperty.call(extend, e) && !["__proto__", "constructor", "prototype"].includes(e)) {
|
|
178
177
|
if (elementProp === void 0) {
|
|
179
|
-
element[e] =
|
|
178
|
+
element[e] = extendProp;
|
|
180
179
|
} else if ((0, import_types.isObject)(elementProp) && (0, import_types.isObject)(extendProp)) {
|
|
181
180
|
if ((0, import_component.matchesComponentNaming)(e)) {
|
|
182
|
-
element[e] = deepMergeExtends(elementProp,
|
|
181
|
+
element[e] = deepMergeExtends(elementProp, extendProp);
|
|
183
182
|
} else {
|
|
184
183
|
deepMergeExtends(elementProp, extendProp);
|
|
185
184
|
}
|
|
186
185
|
}
|
|
186
|
+
if (e === "extends" || e === "childExtends" || e === "childExtendsRecursive") {
|
|
187
|
+
if ((0, import_types.isArray)(elementProp) && (0, import_types.isArray)(extendProp)) {
|
|
188
|
+
element[e] = elementProp.concat(extendProp);
|
|
189
|
+
} else if ((0, import_types.isArray)(elementProp) && (0, import_types.isObject)(extendProp)) {
|
|
190
|
+
const obj = deepMergeExtends({}, elementProp);
|
|
191
|
+
element[e] = deepMergeExtends(obj, extendProp);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
187
194
|
}
|
|
188
195
|
}
|
|
189
196
|
return element;
|
package/dist/cjs/keys.js
CHANGED
package/dist/esm/extends.js
CHANGED
|
@@ -138,21 +138,28 @@ const flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new S
|
|
|
138
138
|
const deepMergeExtends = (element, extend) => {
|
|
139
139
|
extend = deepClone(extend);
|
|
140
140
|
for (const e in extend) {
|
|
141
|
-
if (["parent", "node", "__ref"].indexOf(e) > -1) continue;
|
|
142
|
-
if (e === "__proto__") continue;
|
|
141
|
+
if (["parent", "node", "__ref", "__proto__"].indexOf(e) > -1) continue;
|
|
143
142
|
const elementProp = element[e];
|
|
144
143
|
const extendProp = extend[e];
|
|
145
144
|
if (extendProp === void 0) continue;
|
|
146
145
|
if (Object.prototype.hasOwnProperty.call(extend, e) && !["__proto__", "constructor", "prototype"].includes(e)) {
|
|
147
146
|
if (elementProp === void 0) {
|
|
148
|
-
element[e] =
|
|
147
|
+
element[e] = extendProp;
|
|
149
148
|
} else if (isObject(elementProp) && isObject(extendProp)) {
|
|
150
149
|
if (matchesComponentNaming(e)) {
|
|
151
|
-
element[e] = deepMergeExtends(elementProp,
|
|
150
|
+
element[e] = deepMergeExtends(elementProp, extendProp);
|
|
152
151
|
} else {
|
|
153
152
|
deepMergeExtends(elementProp, extendProp);
|
|
154
153
|
}
|
|
155
154
|
}
|
|
155
|
+
if (e === "extends" || e === "childExtends" || e === "childExtendsRecursive") {
|
|
156
|
+
if (isArray(elementProp) && isArray(extendProp)) {
|
|
157
|
+
element[e] = elementProp.concat(extendProp);
|
|
158
|
+
} else if (isArray(elementProp) && isObject(extendProp)) {
|
|
159
|
+
const obj = deepMergeExtends({}, elementProp);
|
|
160
|
+
element[e] = deepMergeExtends(obj, extendProp);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
156
163
|
}
|
|
157
164
|
}
|
|
158
165
|
return element;
|
package/dist/esm/keys.js
CHANGED
package/extends.js
CHANGED
|
@@ -171,8 +171,7 @@ export const deepMergeExtends = (element, extend) => {
|
|
|
171
171
|
extend = deepClone(extend)
|
|
172
172
|
|
|
173
173
|
for (const e in extend) {
|
|
174
|
-
if (['parent', 'node', '__ref'].indexOf(e) > -1) continue
|
|
175
|
-
if (e === '__proto__') continue
|
|
174
|
+
if (['parent', 'node', '__ref', '__proto__'].indexOf(e) > -1) continue
|
|
176
175
|
|
|
177
176
|
const elementProp = element[e]
|
|
178
177
|
const extendProp = extend[e]
|
|
@@ -187,21 +186,35 @@ export const deepMergeExtends = (element, extend) => {
|
|
|
187
186
|
) {
|
|
188
187
|
if (elementProp === undefined) {
|
|
189
188
|
// For undefined properties in element, copy from extend
|
|
190
|
-
element[e] =
|
|
189
|
+
element[e] = extendProp
|
|
191
190
|
} else if (isObject(elementProp) && isObject(extendProp)) {
|
|
192
191
|
// For objects, merge based on type
|
|
193
192
|
if (matchesComponentNaming(e)) {
|
|
194
193
|
// For components, override base properties with extended ones
|
|
195
|
-
element[e] = deepMergeExtends(elementProp,
|
|
194
|
+
element[e] = deepMergeExtends(elementProp, extendProp)
|
|
196
195
|
} else {
|
|
197
196
|
// For other objects, merge normally
|
|
198
197
|
deepMergeExtends(elementProp, extendProp)
|
|
199
198
|
}
|
|
200
199
|
}
|
|
200
|
+
|
|
201
|
+
if (
|
|
202
|
+
e === 'extends' ||
|
|
203
|
+
e === 'childExtends' ||
|
|
204
|
+
e === 'childExtendsRecursive'
|
|
205
|
+
) {
|
|
206
|
+
if (isArray(elementProp) && isArray(extendProp)) {
|
|
207
|
+
element[e] = elementProp.concat(extendProp)
|
|
208
|
+
} else if (isArray(elementProp) && isObject(extendProp)) {
|
|
209
|
+
const obj = deepMergeExtends({}, elementProp)
|
|
210
|
+
element[e] = deepMergeExtends(obj, extendProp)
|
|
211
|
+
}
|
|
212
|
+
}
|
|
201
213
|
// If elementProp is defined and not an object, keep it (don't override)
|
|
202
214
|
// This preserves properties from earlier in the extend chain
|
|
203
215
|
}
|
|
204
216
|
}
|
|
217
|
+
|
|
205
218
|
return element
|
|
206
219
|
}
|
|
207
220
|
|
package/keys.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/utils",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build": "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": "ad8d42d52cce0024e5df6b2e364f660e0e4dd02d",
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/core": "^7.12.0"
|
|
30
30
|
}
|