@domql/utils 3.0.0 → 3.0.6
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/element.js +1 -2
- package/dist/cjs/extends.js +12 -5
- package/dist/cjs/keys.js +2 -2
- package/dist/esm/element.js +1 -2
- package/dist/esm/extends.js +13 -6
- package/dist/esm/keys.js +2 -2
- package/element.js +1 -2
- package/extends.js +19 -6
- package/keys.js +2 -2
- package/package.json +2 -2
package/dist/cjs/element.js
CHANGED
|
@@ -86,7 +86,7 @@ const createRoot = (element, parent) => {
|
|
|
86
86
|
const { __ref: parentRef } = parent;
|
|
87
87
|
const hasRoot = parent && parent.key === ":root";
|
|
88
88
|
if (!(ref == null ? void 0 : ref.root)) {
|
|
89
|
-
|
|
89
|
+
ref.root = hasRoot ? element : parentRef == null ? void 0 : parentRef.root;
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
const createPath = (element, parent, key) => {
|
|
@@ -113,7 +113,6 @@ const addCaching = (element, parent, key) => {
|
|
|
113
113
|
if (!ref.__children) ref.__children = [];
|
|
114
114
|
ref.__extends = (0, import_extends.createExtends)(element, parent, key);
|
|
115
115
|
ref.path = createPath(element, parent, key);
|
|
116
|
-
ref.root = createRoot(element, parent);
|
|
117
116
|
return ref;
|
|
118
117
|
};
|
|
119
118
|
const createElement = (passedProps, parentEl, passedKey, opts, root) => {
|
package/dist/cjs/extends.js
CHANGED
|
@@ -161,7 +161,7 @@ const flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new S
|
|
|
161
161
|
processed.add(extend);
|
|
162
162
|
if (extend == null ? void 0 : extend.extends) {
|
|
163
163
|
deepExtend(extend, stack, context, processed);
|
|
164
|
-
} else {
|
|
164
|
+
} else if (extend) {
|
|
165
165
|
stack.push(extend);
|
|
166
166
|
}
|
|
167
167
|
return stack;
|
|
@@ -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
|
@@ -30,12 +30,12 @@ __export(keys_exports, {
|
|
|
30
30
|
module.exports = __toCommonJS(keys_exports);
|
|
31
31
|
const DOMQ_PROPERTIES = [
|
|
32
32
|
"attr",
|
|
33
|
-
"
|
|
33
|
+
"styles",
|
|
34
34
|
"text",
|
|
35
35
|
"html",
|
|
36
36
|
"content",
|
|
37
37
|
"data",
|
|
38
|
-
"
|
|
38
|
+
"classlist",
|
|
39
39
|
"state",
|
|
40
40
|
"scope",
|
|
41
41
|
"deps",
|
package/dist/esm/element.js
CHANGED
|
@@ -74,7 +74,7 @@ const createRoot = (element, parent) => {
|
|
|
74
74
|
const { __ref: parentRef } = parent;
|
|
75
75
|
const hasRoot = parent && parent.key === ":root";
|
|
76
76
|
if (!(ref == null ? void 0 : ref.root)) {
|
|
77
|
-
|
|
77
|
+
ref.root = hasRoot ? element : parentRef == null ? void 0 : parentRef.root;
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
80
|
const createPath = (element, parent, key) => {
|
|
@@ -101,7 +101,6 @@ const addCaching = (element, parent, key) => {
|
|
|
101
101
|
if (!ref.__children) ref.__children = [];
|
|
102
102
|
ref.__extends = createExtends(element, parent, key);
|
|
103
103
|
ref.path = createPath(element, parent, key);
|
|
104
|
-
ref.root = createRoot(element, parent);
|
|
105
104
|
return ref;
|
|
106
105
|
};
|
|
107
106
|
const createElement = (passedProps, parentEl, passedKey, opts, root) => {
|
package/dist/esm/extends.js
CHANGED
|
@@ -20,7 +20,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
20
20
|
import { joinArrays, removeDuplicatesInArray } from "./array.js";
|
|
21
21
|
import { matchesComponentNaming } from "./component.js";
|
|
22
22
|
import { deepClone, exec } from "./object.js";
|
|
23
|
-
import { isArray,
|
|
23
|
+
import { isArray, isObject, isString } from "./types.js";
|
|
24
24
|
const ENV = "development";
|
|
25
25
|
const createExtendsFromKeys = (key) => {
|
|
26
26
|
if (key.includes("+")) {
|
|
@@ -130,7 +130,7 @@ const flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new S
|
|
|
130
130
|
processed.add(extend);
|
|
131
131
|
if (extend == null ? void 0 : extend.extends) {
|
|
132
132
|
deepExtend(extend, stack, context, processed);
|
|
133
|
-
} else {
|
|
133
|
+
} else if (extend) {
|
|
134
134
|
stack.push(extend);
|
|
135
135
|
}
|
|
136
136
|
return stack;
|
|
@@ -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/element.js
CHANGED
|
@@ -69,7 +69,7 @@ export const createRoot = (element, parent) => {
|
|
|
69
69
|
|
|
70
70
|
const hasRoot = parent && parent.key === ':root'
|
|
71
71
|
if (!ref?.root) {
|
|
72
|
-
|
|
72
|
+
ref.root = hasRoot ? element : parentRef?.root
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -117,7 +117,6 @@ export const addCaching = (element, parent, key) => {
|
|
|
117
117
|
|
|
118
118
|
ref.__extends = createExtends(element, parent, key)
|
|
119
119
|
ref.path = createPath(element, parent, key)
|
|
120
|
-
ref.root = createRoot(element, parent) // Call createRoot after addCaching
|
|
121
120
|
|
|
122
121
|
return ref
|
|
123
122
|
}
|
package/extends.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { joinArrays, removeDuplicatesInArray } from './array.js'
|
|
4
4
|
import { matchesComponentNaming } from './component.js'
|
|
5
5
|
import { deepClone, exec } from './object.js'
|
|
6
|
-
import { isArray,
|
|
6
|
+
import { isArray, isObject, isString } from './types.js'
|
|
7
7
|
const ENV = process.env.NODE_ENV
|
|
8
8
|
|
|
9
9
|
export const createExtendsFromKeys = key => {
|
|
@@ -159,7 +159,7 @@ export const flattenExtend = (
|
|
|
159
159
|
|
|
160
160
|
if (extend?.extends) {
|
|
161
161
|
deepExtend(extend, stack, context, processed)
|
|
162
|
-
} else {
|
|
162
|
+
} else if (extend) {
|
|
163
163
|
stack.push(extend)
|
|
164
164
|
}
|
|
165
165
|
|
|
@@ -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.6",
|
|
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": "ef6f7abdb0a8cdaa28559e377bc10a12e76ef8f0",
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/core": "^7.12.0"
|
|
30
30
|
}
|