@domql/element 2.5.200 → 2.5.205
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/create.js +5 -5
- package/dist/cjs/create.js +88 -46
- package/dist/cjs/define.js +2 -1
- package/dist/cjs/extend.js +8 -4
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/iterate.js +18 -9
- package/dist/cjs/methods/index.js +69 -36
- package/dist/cjs/methods/set.js +2 -1
- package/dist/cjs/methods/v2.js +12 -6
- package/dist/cjs/mixins/attr.js +8 -4
- package/dist/cjs/mixins/classList.js +16 -8
- package/dist/cjs/mixins/content.js +16 -9
- package/dist/cjs/mixins/data.js +4 -2
- package/dist/cjs/mixins/html.js +4 -2
- package/dist/cjs/mixins/scope.js +2 -1
- package/dist/cjs/mixins/state.js +4 -2
- package/dist/cjs/mixins/style.js +4 -2
- package/dist/cjs/mixins/text.js +6 -3
- package/dist/cjs/node.js +13 -7
- package/dist/cjs/props/create.js +12 -6
- package/dist/cjs/props/inherit.js +4 -2
- package/dist/cjs/props/update.js +6 -3
- package/dist/cjs/set.js +16 -9
- package/dist/cjs/update.js +53 -29
- package/dist/cjs/utils/applyParam.js +4 -3
- package/dist/cjs/utils/component.js +6 -3
- package/dist/cjs/utils/extendUtils.js +19 -10
- package/dist/cjs/utils/object.js +16 -8
- package/dist/cjs/utils/onlyResolveExtends.js +26 -13
- package/dist/cjs/utils/propEvents.js +4 -2
- package/dist/esm/create.js +88 -46
- package/dist/esm/define.js +2 -1
- package/dist/esm/extend.js +8 -4
- package/dist/esm/iterate.js +18 -9
- package/dist/esm/methods/index.js +69 -36
- package/dist/esm/methods/set.js +2 -1
- package/dist/esm/methods/v2.js +12 -6
- package/dist/esm/mixins/attr.js +8 -4
- package/dist/esm/mixins/classList.js +16 -8
- package/dist/esm/mixins/content.js +16 -9
- package/dist/esm/mixins/data.js +4 -2
- package/dist/esm/mixins/html.js +4 -2
- package/dist/esm/mixins/scope.js +2 -1
- package/dist/esm/mixins/state.js +4 -2
- package/dist/esm/mixins/style.js +4 -2
- package/dist/esm/mixins/text.js +6 -3
- package/dist/esm/node.js +13 -7
- package/dist/esm/props/create.js +12 -6
- package/dist/esm/props/inherit.js +4 -2
- package/dist/esm/props/update.js +6 -3
- package/dist/esm/set.js +16 -9
- package/dist/esm/update.js +53 -29
- package/dist/esm/utils/applyParam.js +4 -3
- package/dist/esm/utils/component.js +6 -3
- package/dist/esm/utils/extendUtils.js +19 -10
- package/dist/esm/utils/object.js +16 -8
- package/dist/esm/utils/onlyResolveExtends.js +26 -13
- package/dist/esm/utils/propEvents.js +4 -2
- package/methods/index.js +3 -3
- package/mixins/content.js +2 -2
- package/node.js +1 -1
- package/package.json +8 -8
- package/set.js +3 -3
- package/update.js +6 -6
- package/utils/applyParam.js +2 -2
- package/utils/extendUtils.js +1 -1
package/dist/esm/create.js
CHANGED
|
@@ -59,17 +59,20 @@ const create = async (element, parent, key, options = OPTIONS.create || {}, atta
|
|
|
59
59
|
addMethods(element, parent, options);
|
|
60
60
|
createScope(element, parent);
|
|
61
61
|
await createState(element, parent);
|
|
62
|
-
if (element.scope === "state")
|
|
62
|
+
if (element.scope === "state")
|
|
63
|
+
element.scope = element.state;
|
|
63
64
|
createIfConditionFlag(element, parent);
|
|
64
65
|
createProps(element, parent, options);
|
|
65
|
-
if (element.scope === "props" || element.scope === true)
|
|
66
|
+
if (element.scope === "props" || element.scope === true)
|
|
67
|
+
element.scope = element.props;
|
|
66
68
|
createIfConditionFlag(element, parent);
|
|
67
69
|
if (element.node && ref.__if) {
|
|
68
70
|
return assignNode(element, parent, key, attachOptions);
|
|
69
71
|
}
|
|
70
72
|
applyVariant(element, parent);
|
|
71
73
|
const onInit = await triggerEventOn("init", element, options);
|
|
72
|
-
if (onInit === false)
|
|
74
|
+
if (onInit === false)
|
|
75
|
+
return element;
|
|
73
76
|
triggerEventOn("beforeClassAssign", element, options);
|
|
74
77
|
assignKeyAsClassname(element);
|
|
75
78
|
addChildrenIfNotInOriginal(element, parent, key);
|
|
@@ -80,18 +83,20 @@ const create = async (element, parent, key, options = OPTIONS.create || {}, atta
|
|
|
80
83
|
};
|
|
81
84
|
const createBasedOnType = (element, parent, key, options) => {
|
|
82
85
|
if (element === void 0) {
|
|
83
|
-
if (ENV === "
|
|
86
|
+
if (ENV === "testing" || ENV === "development") {
|
|
84
87
|
console.warn(key, "element is undefined in", parent && parent.__ref && parent.__ref.path);
|
|
85
88
|
}
|
|
86
89
|
return {};
|
|
87
90
|
}
|
|
88
|
-
if (isString(key) && key.slice(0,
|
|
89
|
-
if (ENV === "
|
|
91
|
+
if (isString(key) && key.slice(0, 2 === "__")) {
|
|
92
|
+
if (ENV === "testing" || ENV === "development") {
|
|
90
93
|
console.warn(key, "seems like to be in __ref");
|
|
91
94
|
}
|
|
92
95
|
}
|
|
93
|
-
if (element === null)
|
|
94
|
-
|
|
96
|
+
if (element === null)
|
|
97
|
+
return;
|
|
98
|
+
if (element === true)
|
|
99
|
+
return { text: true };
|
|
95
100
|
if (element.__hash) {
|
|
96
101
|
return { extend: element };
|
|
97
102
|
}
|
|
@@ -100,8 +105,10 @@ const createBasedOnType = (element, parent, key, options) => {
|
|
|
100
105
|
const redefineElement = (element, parent, key, options) => {
|
|
101
106
|
const elementWrapper = createBasedOnType(element, parent, key, options);
|
|
102
107
|
if (options.syntaxv3 || element.props && element.props.syntaxv3 || parent && parent.props && parent.props.syntaxv3) {
|
|
103
|
-
if (element.props)
|
|
104
|
-
|
|
108
|
+
if (element.props)
|
|
109
|
+
element.props.syntaxv3 = true;
|
|
110
|
+
else
|
|
111
|
+
element.syntaxv3 = true;
|
|
105
112
|
return createValidDomqlObjectFromSugar(element, parent, key, options);
|
|
106
113
|
} else if (checkIfKeyIsComponent(key)) {
|
|
107
114
|
return applyKeyComponentAsExtend(elementWrapper, parent, key);
|
|
@@ -112,7 +119,8 @@ const redefineElement = (element, parent, key, options) => {
|
|
|
112
119
|
return elementWrapper;
|
|
113
120
|
};
|
|
114
121
|
const redefineParent = (element, parent, key, options) => {
|
|
115
|
-
if (!parent)
|
|
122
|
+
if (!parent)
|
|
123
|
+
return ROOT;
|
|
116
124
|
if (isNode(parent)) {
|
|
117
125
|
const parentNodeWrapper = { key: ":root", node: parent };
|
|
118
126
|
ROOT[`${key}_parent`] = parentNodeWrapper;
|
|
@@ -130,48 +138,58 @@ const createKey = (element, parent, key) => {
|
|
|
130
138
|
return (exec(key, element) || key || element.key || generateKey()).toString();
|
|
131
139
|
};
|
|
132
140
|
const addRef = (element, parent) => {
|
|
133
|
-
if (element.__ref)
|
|
134
|
-
|
|
141
|
+
if (element.__ref)
|
|
142
|
+
element.__ref.origin = element;
|
|
143
|
+
else
|
|
144
|
+
element.__ref = { origin: element };
|
|
135
145
|
return element.__ref;
|
|
136
146
|
};
|
|
137
147
|
const switchDefaultOptions = (element, parent, options) => {
|
|
138
148
|
if (Object.keys(options).length) {
|
|
139
149
|
registry.defaultOptions = options;
|
|
140
|
-
if (options.ignoreChildExtend)
|
|
150
|
+
if (options.ignoreChildExtend)
|
|
151
|
+
delete options.ignoreChildExtend;
|
|
141
152
|
}
|
|
142
153
|
};
|
|
143
154
|
const addElementIntoParentChildren = (element, parent) => {
|
|
144
|
-
if (parent.__ref && parent.__ref.__children)
|
|
155
|
+
if (parent.__ref && parent.__ref.__children)
|
|
156
|
+
parent.__ref.__children.push(element.key);
|
|
145
157
|
};
|
|
146
158
|
const visitedElements = /* @__PURE__ */ new WeakMap();
|
|
147
159
|
const renderElement = async (element, parent, options, attachOptions) => {
|
|
148
160
|
var _a, _b, _c, _d;
|
|
149
161
|
if (visitedElements.has(element)) {
|
|
150
|
-
if (ENV === "
|
|
162
|
+
if (ENV === "testing" || ENV === "development")
|
|
163
|
+
console.warn("Cyclic rendering detected:", element.__ref.path);
|
|
151
164
|
}
|
|
152
165
|
visitedElements.set(element, true);
|
|
153
166
|
const { __ref: ref, key } = element;
|
|
154
167
|
const createNestedChild = async () => {
|
|
155
168
|
const isInfiniteLoopDetected = detectInfiniteLoop(ref.path);
|
|
156
|
-
if (ref.__uniqId || isInfiniteLoopDetected)
|
|
169
|
+
if (ref.__uniqId || isInfiniteLoopDetected)
|
|
170
|
+
return;
|
|
157
171
|
await createNode(element, options);
|
|
158
172
|
ref.__uniqId = Math.random();
|
|
159
173
|
};
|
|
160
|
-
if (ENV === "
|
|
174
|
+
if (ENV === "testing" || ENV === "development") {
|
|
161
175
|
await createNestedChild();
|
|
162
176
|
} else {
|
|
163
177
|
try {
|
|
164
178
|
await createNestedChild();
|
|
165
179
|
} catch (e) {
|
|
166
180
|
const path = ref.path;
|
|
167
|
-
if (path.includes("ComponentsGrid"))
|
|
168
|
-
|
|
181
|
+
if (path.includes("ComponentsGrid"))
|
|
182
|
+
path.splice(0, path.indexOf("ComponentsGrid") + 2);
|
|
183
|
+
if (path.includes("demoComponent"))
|
|
184
|
+
path.splice(0, path.indexOf("demoComponent") + 1);
|
|
169
185
|
const isDemoComponent = (_b = (_a = element.lookup((el) => el.state.key)) == null ? void 0 : _a.state) == null ? void 0 : _b.key;
|
|
170
186
|
element.warn("Error happened in:", isDemoComponent ? isDemoComponent + " " : "" + path.join("."));
|
|
171
187
|
element.verbose();
|
|
172
188
|
element.error(e, options);
|
|
173
|
-
if ((_c = element.on) == null ? void 0 : _c.error)
|
|
174
|
-
|
|
189
|
+
if ((_c = element.on) == null ? void 0 : _c.error)
|
|
190
|
+
element.on.error(e, element, element.state, element.context, options);
|
|
191
|
+
if ((_d = element.props) == null ? void 0 : _d.onError)
|
|
192
|
+
element.props.onError(e, element, element.state, element.context, options);
|
|
175
193
|
}
|
|
176
194
|
}
|
|
177
195
|
if (!ref.__if) {
|
|
@@ -198,37 +216,55 @@ const applyValueAsText = (element, parent, key) => {
|
|
|
198
216
|
};
|
|
199
217
|
const applyContext = (element, parent, options) => {
|
|
200
218
|
const forcedOptionsContext = options.context && !ROOT.context && !element.context;
|
|
201
|
-
if (forcedOptionsContext)
|
|
202
|
-
|
|
219
|
+
if (forcedOptionsContext)
|
|
220
|
+
ROOT.context = options.context;
|
|
221
|
+
if (!element.context)
|
|
222
|
+
element.context = parent.context || options.context || ROOT.context;
|
|
203
223
|
};
|
|
204
224
|
const createScope = (element, parent) => {
|
|
205
225
|
const { __ref: ref } = element;
|
|
206
|
-
if (!element.scope)
|
|
226
|
+
if (!element.scope)
|
|
227
|
+
element.scope = parent.scope || ref.root.scope || {};
|
|
207
228
|
};
|
|
208
229
|
const createIfConditionFlag = (element, parent) => {
|
|
209
230
|
const { __ref: ref } = element;
|
|
210
231
|
if (isFunction(element.if) && !element.if(element, element.state, element.context)) {
|
|
211
232
|
delete ref.__if;
|
|
212
|
-
} else
|
|
233
|
+
} else
|
|
234
|
+
ref.__if = true;
|
|
213
235
|
};
|
|
214
236
|
const addCaching = (element, parent) => {
|
|
215
237
|
const { __ref: ref, key } = element;
|
|
216
238
|
let { __ref: parentRef } = parent;
|
|
217
|
-
if (!element.transform)
|
|
218
|
-
|
|
219
|
-
if (!ref.
|
|
220
|
-
|
|
221
|
-
if (!ref.
|
|
222
|
-
|
|
223
|
-
if (!ref.
|
|
224
|
-
|
|
225
|
-
if (!ref.
|
|
226
|
-
|
|
227
|
-
if (
|
|
239
|
+
if (!element.transform)
|
|
240
|
+
element.transform = {};
|
|
241
|
+
if (!ref.__cached)
|
|
242
|
+
ref.__cached = {};
|
|
243
|
+
if (!ref.__defineCache)
|
|
244
|
+
ref.__defineCache = {};
|
|
245
|
+
if (!ref.__exec)
|
|
246
|
+
ref.__exec = {};
|
|
247
|
+
if (!ref.__execProps)
|
|
248
|
+
ref.__execProps = {};
|
|
249
|
+
if (!ref.__class)
|
|
250
|
+
ref.__class = {};
|
|
251
|
+
if (!ref.__classNames)
|
|
252
|
+
ref.__classNames = {};
|
|
253
|
+
if (!ref.__attr)
|
|
254
|
+
ref.__attr = {};
|
|
255
|
+
if (!ref.__changes)
|
|
256
|
+
ref.__changes = [];
|
|
257
|
+
if (!ref.__children)
|
|
258
|
+
ref.__children = [];
|
|
259
|
+
if (checkIfKeyIsComponent(key))
|
|
260
|
+
ref.__componentKey = key.split("_")[0].split(".")[0].split("+")[0];
|
|
228
261
|
const hasRoot = parent && parent.key === ":root";
|
|
229
|
-
if (!ref.root)
|
|
230
|
-
|
|
231
|
-
if (!parentRef
|
|
262
|
+
if (!ref.root)
|
|
263
|
+
ref.root = hasRoot ? element : parentRef.root;
|
|
264
|
+
if (!parentRef)
|
|
265
|
+
parentRef = parent.ref = {};
|
|
266
|
+
if (!parentRef.path)
|
|
267
|
+
parentRef.path = [];
|
|
232
268
|
ref.path = parentRef.path.concat(element.key);
|
|
233
269
|
};
|
|
234
270
|
const onlyResolveExtends = (element, parent, key, options) => {
|
|
@@ -238,14 +274,17 @@ const onlyResolveExtends = (element, parent, key, options) => {
|
|
|
238
274
|
addMethods(element, parent, options);
|
|
239
275
|
createScope(element, parent);
|
|
240
276
|
createState(element, parent);
|
|
241
|
-
if (element.scope === "state")
|
|
277
|
+
if (element.scope === "state")
|
|
278
|
+
element.scope = element.state;
|
|
242
279
|
createIfConditionFlag(element, parent);
|
|
243
280
|
createProps(element, parent, options);
|
|
244
|
-
if (element.scope === "props" || element.scope === true)
|
|
281
|
+
if (element.scope === "props" || element.scope === true)
|
|
282
|
+
element.scope = element.props;
|
|
245
283
|
if (element.node && ref.__if) {
|
|
246
284
|
parent[key || element.key] = element;
|
|
247
285
|
}
|
|
248
|
-
if (!element.props)
|
|
286
|
+
if (!element.props)
|
|
287
|
+
element.props = {};
|
|
249
288
|
applyVariant(element, parent);
|
|
250
289
|
addElementIntoParentChildren(element, parent);
|
|
251
290
|
}
|
|
@@ -253,7 +292,8 @@ const onlyResolveExtends = (element, parent, key, options) => {
|
|
|
253
292
|
throughInitialDefine(element);
|
|
254
293
|
throughInitialExec(element);
|
|
255
294
|
for (const k in element) {
|
|
256
|
-
if (isUndefined(element[k]) || isMethod(k, element) || isObject((registry.default || registry)[k]) || isVariant(k))
|
|
295
|
+
if (isUndefined(element[k]) || isMethod(k, element) || isObject((registry.default || registry)[k]) || isVariant(k))
|
|
296
|
+
continue;
|
|
257
297
|
const hasDefine = element.define && element.define[k];
|
|
258
298
|
const contextHasDefine = element.context && element.context.define && element.context.define[k];
|
|
259
299
|
const optionsHasDefine = options.define && options.define[k];
|
|
@@ -278,8 +318,10 @@ const applyMediaProps = (element, parent, key) => {
|
|
|
278
318
|
const { props } = element;
|
|
279
319
|
if (props) {
|
|
280
320
|
props.display = "none";
|
|
281
|
-
if (props[key])
|
|
282
|
-
|
|
321
|
+
if (props[key])
|
|
322
|
+
props[key].display = props.display;
|
|
323
|
+
else
|
|
324
|
+
props[key] = { display: props.display || "block" };
|
|
283
325
|
return element;
|
|
284
326
|
} else {
|
|
285
327
|
return {
|
package/dist/esm/define.js
CHANGED
|
@@ -5,7 +5,8 @@ var define_default = (params, options = {}) => {
|
|
|
5
5
|
for (const param in params) {
|
|
6
6
|
if (REGISTRY[param] && !overwrite) {
|
|
7
7
|
report("OverwriteToBuiltin", param);
|
|
8
|
-
} else
|
|
8
|
+
} else
|
|
9
|
+
REGISTRY[param] = params[param];
|
|
9
10
|
}
|
|
10
11
|
};
|
|
11
12
|
export {
|
package/dist/esm/extend.js
CHANGED
|
@@ -9,14 +9,16 @@ import {
|
|
|
9
9
|
const ENV = "development";
|
|
10
10
|
let mainExtend;
|
|
11
11
|
const applyExtend = (element, parent, options = {}) => {
|
|
12
|
-
if (isFunction(element))
|
|
12
|
+
if (isFunction(element))
|
|
13
|
+
element = exec(element, parent);
|
|
13
14
|
const { props, __ref } = element;
|
|
14
15
|
let extend = (props == null ? void 0 : props.extends) || element.extends || element.extend;
|
|
15
16
|
const variant = props == null ? void 0 : props.variant;
|
|
16
17
|
const context = element.context || parent.context;
|
|
17
18
|
extend = fallbackStringExtend(extend, context, options, variant);
|
|
18
19
|
const extendStack = getExtendStack(extend, context);
|
|
19
|
-
if (ENV !== "test" || ENV !== "development")
|
|
20
|
+
if (ENV !== "test" || ENV !== "development")
|
|
21
|
+
delete element.extend;
|
|
20
22
|
let childExtendStack = [];
|
|
21
23
|
if (parent) {
|
|
22
24
|
element.parent = parent;
|
|
@@ -42,7 +44,8 @@ const applyExtend = (element, parent, options = {}) => {
|
|
|
42
44
|
stack = extendStack;
|
|
43
45
|
} else if (childExtendLength) {
|
|
44
46
|
stack = childExtendStack;
|
|
45
|
-
} else if (!context.defaultExtends)
|
|
47
|
+
} else if (!context.defaultExtends)
|
|
48
|
+
return element;
|
|
46
49
|
if (context.defaultExtends) {
|
|
47
50
|
if (!mainExtend) {
|
|
48
51
|
const defaultOptionsExtend = getExtendStack(context.defaultExtends, context);
|
|
@@ -51,7 +54,8 @@ const applyExtend = (element, parent, options = {}) => {
|
|
|
51
54
|
}
|
|
52
55
|
stack = [].concat(stack, mainExtend);
|
|
53
56
|
}
|
|
54
|
-
if (__ref)
|
|
57
|
+
if (__ref)
|
|
58
|
+
__ref.__extend = stack;
|
|
55
59
|
let mergedExtend = cloneAndMergeArrayExtend(stack);
|
|
56
60
|
const COMPONENTS = context && context.components || options.components;
|
|
57
61
|
const component = exec(element.component || mergedExtend.component, element);
|
package/dist/esm/iterate.js
CHANGED
|
@@ -13,7 +13,8 @@ import { isMethod } from "./methods/index.js";
|
|
|
13
13
|
const throughInitialExec = (element, exclude = {}) => {
|
|
14
14
|
const { __ref: ref } = element;
|
|
15
15
|
for (const param in element) {
|
|
16
|
-
if (exclude[param])
|
|
16
|
+
if (exclude[param])
|
|
17
|
+
continue;
|
|
17
18
|
const prop = element[param];
|
|
18
19
|
if (isFunction(prop) && !isMethod(param, element) && !isVariant(param)) {
|
|
19
20
|
ref.__exec[param] = prop;
|
|
@@ -27,7 +28,8 @@ const throughUpdatedExec = (element, options = { excludes: METHODS_EXL }) => {
|
|
|
27
28
|
for (const param in ref.__exec) {
|
|
28
29
|
const prop = element[param];
|
|
29
30
|
const isDefinedParam = ref.__defineCache[param];
|
|
30
|
-
if (isDefinedParam)
|
|
31
|
+
if (isDefinedParam)
|
|
32
|
+
continue;
|
|
31
33
|
const newExec = ref.__exec[param](element, element.state, element.context);
|
|
32
34
|
const execReturnsString = isString(newExec) || isNumber(newExec);
|
|
33
35
|
if (prop && prop.node && execReturnsString) {
|
|
@@ -62,8 +64,10 @@ const throughInitialDefine = (element) => {
|
|
|
62
64
|
const { define, context, __ref: ref } = element;
|
|
63
65
|
let defineObj = {};
|
|
64
66
|
const hasGlobalDefine = context && isObject(context.define);
|
|
65
|
-
if (isObject(define))
|
|
66
|
-
|
|
67
|
+
if (isObject(define))
|
|
68
|
+
defineObj = { ...define };
|
|
69
|
+
if (hasGlobalDefine)
|
|
70
|
+
defineObj = { ...defineObj, ...context.define };
|
|
67
71
|
for (const param in defineObj) {
|
|
68
72
|
let elementProp = element[param];
|
|
69
73
|
if (isFunction(elementProp) && !isMethod(param, element) && !isVariant(param)) {
|
|
@@ -75,7 +79,8 @@ const throughInitialDefine = (element) => {
|
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
const execParam = defineObj[param](elementProp, element, element.state, element.context);
|
|
78
|
-
if (execParam)
|
|
82
|
+
if (execParam)
|
|
83
|
+
element[param] = execParam;
|
|
79
84
|
}
|
|
80
85
|
return element;
|
|
81
86
|
};
|
|
@@ -83,14 +88,18 @@ const throughUpdatedDefine = (element) => {
|
|
|
83
88
|
const { context, define, __ref: ref } = element;
|
|
84
89
|
const changes = {};
|
|
85
90
|
let obj = {};
|
|
86
|
-
if (isObject(define))
|
|
87
|
-
|
|
91
|
+
if (isObject(define))
|
|
92
|
+
obj = { ...define };
|
|
93
|
+
if (isObject(context && context.define))
|
|
94
|
+
obj = { ...obj, ...context.define };
|
|
88
95
|
for (const param in obj) {
|
|
89
96
|
const execParam = ref.__exec[param];
|
|
90
|
-
if (execParam)
|
|
97
|
+
if (execParam)
|
|
98
|
+
ref.__defineCache[param] = execParam(element, element.state, element.context);
|
|
91
99
|
const cached = exec(ref.__defineCache[param], element);
|
|
92
100
|
const newExecParam = obj[param](cached, element, element.state, element.context);
|
|
93
|
-
if (newExecParam)
|
|
101
|
+
if (newExecParam)
|
|
102
|
+
element[param] = newExecParam;
|
|
94
103
|
}
|
|
95
104
|
return changes;
|
|
96
105
|
};
|
|
@@ -7,12 +7,15 @@ function spotByPath(path) {
|
|
|
7
7
|
const element = this;
|
|
8
8
|
const arr = [].concat(path);
|
|
9
9
|
let active = TREE[arr[0]];
|
|
10
|
-
if (!arr || !arr.length)
|
|
10
|
+
if (!arr || !arr.length)
|
|
11
|
+
return console.log(arr, "on", element.key, "is undefined");
|
|
11
12
|
while (active.key === arr[0]) {
|
|
12
13
|
arr.shift();
|
|
13
|
-
if (!arr.length)
|
|
14
|
+
if (!arr.length)
|
|
15
|
+
break;
|
|
14
16
|
active = active[arr[0]];
|
|
15
|
-
if (!active)
|
|
17
|
+
if (!active)
|
|
18
|
+
return;
|
|
16
19
|
}
|
|
17
20
|
return active;
|
|
18
21
|
}
|
|
@@ -20,15 +23,21 @@ function lookup(param) {
|
|
|
20
23
|
const el = this;
|
|
21
24
|
let { parent } = el;
|
|
22
25
|
if (isFunction(param)) {
|
|
23
|
-
if (parent.state && param(parent, parent.state, parent.context))
|
|
24
|
-
|
|
25
|
-
else
|
|
26
|
+
if (parent.state && param(parent, parent.state, parent.context))
|
|
27
|
+
return parent;
|
|
28
|
+
else if (parent.parent)
|
|
29
|
+
return parent.lookup(param);
|
|
30
|
+
else
|
|
31
|
+
return;
|
|
26
32
|
}
|
|
27
|
-
if (el[param])
|
|
33
|
+
if (el[param])
|
|
34
|
+
return el[param];
|
|
28
35
|
while (parent.param !== param) {
|
|
29
|
-
if (parent[param])
|
|
36
|
+
if (parent[param])
|
|
37
|
+
return parent[param];
|
|
30
38
|
parent = parent.parent;
|
|
31
|
-
if (!parent)
|
|
39
|
+
if (!parent)
|
|
40
|
+
return;
|
|
32
41
|
}
|
|
33
42
|
return parent;
|
|
34
43
|
}
|
|
@@ -40,7 +49,8 @@ function lookdown(param) {
|
|
|
40
49
|
for (let i = 0; i < children.length; i++) {
|
|
41
50
|
const v = children[i];
|
|
42
51
|
const childElem = el[v];
|
|
43
|
-
if (v === param)
|
|
52
|
+
if (v === param)
|
|
53
|
+
return childElem;
|
|
44
54
|
else if (isFunction(param)) {
|
|
45
55
|
const exec = param(childElem, childElem.state, childElem.context);
|
|
46
56
|
if (childElem.state && exec) {
|
|
@@ -48,7 +58,8 @@ function lookdown(param) {
|
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
60
|
const lookdown2 = (_a = childElem == null ? void 0 : childElem.lookdown) == null ? void 0 : _a.call(childElem, param);
|
|
51
|
-
if (lookdown2)
|
|
61
|
+
if (lookdown2)
|
|
62
|
+
return lookdown2;
|
|
52
63
|
}
|
|
53
64
|
}
|
|
54
65
|
function lookdownAll(param, results = []) {
|
|
@@ -59,10 +70,12 @@ function lookdownAll(param, results = []) {
|
|
|
59
70
|
for (let i = 0; i < children.length; i++) {
|
|
60
71
|
const v = children[i];
|
|
61
72
|
const childElem = el[v];
|
|
62
|
-
if (v === param)
|
|
73
|
+
if (v === param)
|
|
74
|
+
results.push(childElem);
|
|
63
75
|
else if (isFunction(param)) {
|
|
64
76
|
const exec = param(childElem, childElem.state, childElem.context);
|
|
65
|
-
if (childElem.state && exec)
|
|
77
|
+
if (childElem.state && exec)
|
|
78
|
+
results.push(childElem);
|
|
66
79
|
}
|
|
67
80
|
(_a = childElem == null ? void 0 : childElem.lookdownAll) == null ? void 0 : _a.call(childElem, param, results);
|
|
68
81
|
}
|
|
@@ -71,26 +84,32 @@ function lookdownAll(param, results = []) {
|
|
|
71
84
|
function setNodeStyles(params = {}) {
|
|
72
85
|
var _a;
|
|
73
86
|
const el = this;
|
|
74
|
-
if (!((_a = el.node) == null ? void 0 : _a.style))
|
|
87
|
+
if (!((_a = el.node) == null ? void 0 : _a.style))
|
|
88
|
+
return;
|
|
75
89
|
for (const param in params) {
|
|
76
90
|
const value = params[param];
|
|
77
91
|
const childElem = el[param];
|
|
78
|
-
if (isObject(value) && childElem)
|
|
79
|
-
|
|
92
|
+
if (isObject(value) && childElem)
|
|
93
|
+
setNodeStyles.call(childElem, value);
|
|
94
|
+
else
|
|
95
|
+
el.node.style[param] = value;
|
|
80
96
|
}
|
|
81
97
|
return el;
|
|
82
98
|
}
|
|
83
99
|
function remove(opts) {
|
|
84
100
|
const element = this;
|
|
85
101
|
const beforeRemoveReturns = triggerEventOn("beforeRemove", element, opts);
|
|
86
|
-
if (beforeRemoveReturns === false)
|
|
87
|
-
|
|
102
|
+
if (beforeRemoveReturns === false)
|
|
103
|
+
return element;
|
|
104
|
+
if (isFunction(element.node.remove))
|
|
105
|
+
element.node.remove();
|
|
88
106
|
else if (!isProduction()) {
|
|
89
107
|
console.warn("This item cant be removed");
|
|
90
108
|
element.log();
|
|
91
109
|
}
|
|
92
110
|
delete element.parent[element.key];
|
|
93
|
-
if (element.parent.__ref)
|
|
111
|
+
if (element.parent.__ref)
|
|
112
|
+
element.parent.__ref.__children = removeValueFromArray(element.parent.__ref.__children, element.key);
|
|
94
113
|
triggerEventOn("remove", element, opts);
|
|
95
114
|
}
|
|
96
115
|
function get(param) {
|
|
@@ -99,7 +118,8 @@ function get(param) {
|
|
|
99
118
|
}
|
|
100
119
|
function setProps(param, options) {
|
|
101
120
|
const element = this;
|
|
102
|
-
if (!param || !element.props)
|
|
121
|
+
if (!param || !element.props)
|
|
122
|
+
return;
|
|
103
123
|
element.update({ props: param }, options);
|
|
104
124
|
return element;
|
|
105
125
|
}
|
|
@@ -126,19 +146,23 @@ function parse(excl = []) {
|
|
|
126
146
|
const obj = {};
|
|
127
147
|
const keyList = keys.call(element);
|
|
128
148
|
keyList.forEach((v) => {
|
|
129
|
-
if (excl.includes(v))
|
|
149
|
+
if (excl.includes(v))
|
|
150
|
+
return;
|
|
130
151
|
const val = element[v];
|
|
131
152
|
if (v === "state") {
|
|
132
|
-
if (element.__ref && !element.__ref.__hasRootState)
|
|
153
|
+
if (element.__ref && !element.__ref.__hasRootState)
|
|
154
|
+
return;
|
|
133
155
|
const parsedVal = isFunction(val && val.parse) ? val.parse() : val;
|
|
134
156
|
obj[v] = isFunction(parsedVal) ? parsedVal : JSON.parse(JSON.stringify(parsedVal || {}));
|
|
135
157
|
} else if (v === "scope") {
|
|
136
|
-
if (element.__ref && !element.__ref.__hasRootScope)
|
|
158
|
+
if (element.__ref && !element.__ref.__hasRootScope)
|
|
159
|
+
return;
|
|
137
160
|
obj[v] = JSON.parse(JSON.stringify(val || {}));
|
|
138
161
|
} else if (v === "props") {
|
|
139
162
|
const { __element, update, ...props } = element[v];
|
|
140
163
|
obj[v] = props;
|
|
141
|
-
} else if (isDefined(val) && Object.hasOwnProperty.call(element, v))
|
|
164
|
+
} else if (isDefined(val) && Object.hasOwnProperty.call(element, v))
|
|
165
|
+
obj[v] = val;
|
|
142
166
|
});
|
|
143
167
|
return obj;
|
|
144
168
|
}
|
|
@@ -146,7 +170,8 @@ function parseDeep(excl = []) {
|
|
|
146
170
|
const element = this;
|
|
147
171
|
const obj = parse.call(element, excl);
|
|
148
172
|
for (const v in obj) {
|
|
149
|
-
if (excl.includes(v))
|
|
173
|
+
if (excl.includes(v))
|
|
174
|
+
return;
|
|
150
175
|
if (isObjectLike(obj[v])) {
|
|
151
176
|
obj[v] = parseDeep.call(obj[v], excl);
|
|
152
177
|
}
|
|
@@ -154,7 +179,8 @@ function parseDeep(excl = []) {
|
|
|
154
179
|
return obj;
|
|
155
180
|
}
|
|
156
181
|
function verbose(...args) {
|
|
157
|
-
if (ENV !== "test" && ENV !== "development")
|
|
182
|
+
if (ENV !== "test" && ENV !== "development")
|
|
183
|
+
return;
|
|
158
184
|
const element = this;
|
|
159
185
|
const { __ref: ref } = element;
|
|
160
186
|
console.groupCollapsed(element.key);
|
|
@@ -171,20 +197,22 @@ function verbose(...args) {
|
|
|
171
197
|
return element;
|
|
172
198
|
}
|
|
173
199
|
function log(...params) {
|
|
174
|
-
if (ENV === "
|
|
200
|
+
if (ENV === "testing" || ENV === "development") {
|
|
175
201
|
console.log(...params);
|
|
176
202
|
}
|
|
177
203
|
}
|
|
178
204
|
function warn(...params) {
|
|
179
|
-
if (ENV === "
|
|
205
|
+
if (ENV === "testing" || ENV === "development") {
|
|
180
206
|
console.warn(...params);
|
|
181
207
|
}
|
|
182
208
|
}
|
|
183
209
|
function error(...params) {
|
|
184
210
|
var _a, _b;
|
|
185
|
-
if (ENV === "
|
|
186
|
-
if ((_a = params[params.length - 1]) == null ? void 0 : _a.debugger)
|
|
187
|
-
|
|
211
|
+
if (ENV === "testing" || ENV === "development") {
|
|
212
|
+
if ((_a = params[params.length - 1]) == null ? void 0 : _a.debugger)
|
|
213
|
+
debugger;
|
|
214
|
+
if ((_b = params[params.length - 1]) == null ? void 0 : _b.verbose)
|
|
215
|
+
verbose.call(this);
|
|
188
216
|
throw new Error(...params);
|
|
189
217
|
}
|
|
190
218
|
}
|
|
@@ -200,14 +228,17 @@ function previousElement(el) {
|
|
|
200
228
|
const element = el || this;
|
|
201
229
|
const { key, parent } = element;
|
|
202
230
|
const { __children } = parent.__ref;
|
|
203
|
-
if (!__children)
|
|
231
|
+
if (!__children)
|
|
232
|
+
return;
|
|
204
233
|
const currentIndex = __children.indexOf(key);
|
|
205
234
|
return parent[__children[currentIndex - 1]];
|
|
206
235
|
}
|
|
207
236
|
function variables(obj = {}) {
|
|
208
237
|
const element = this;
|
|
209
|
-
if (!element.data)
|
|
210
|
-
|
|
238
|
+
if (!element.data)
|
|
239
|
+
element.data = {};
|
|
240
|
+
if (!element.data.varCaches)
|
|
241
|
+
element.data.varCaches = {};
|
|
211
242
|
const varCaches = element.data.varCaches;
|
|
212
243
|
const changes = {};
|
|
213
244
|
let changed;
|
|
@@ -219,7 +250,8 @@ function variables(obj = {}) {
|
|
|
219
250
|
}
|
|
220
251
|
return {
|
|
221
252
|
changed: (cb) => {
|
|
222
|
-
if (!changed)
|
|
253
|
+
if (!changed)
|
|
254
|
+
return;
|
|
223
255
|
const returns = cb(changes, deepClone(varCaches));
|
|
224
256
|
for (const key in changes) {
|
|
225
257
|
varCaches[key] = changes[key];
|
|
@@ -227,7 +259,8 @@ function variables(obj = {}) {
|
|
|
227
259
|
return returns;
|
|
228
260
|
},
|
|
229
261
|
timeout: (cb, timeout) => {
|
|
230
|
-
if (!changed)
|
|
262
|
+
if (!changed)
|
|
263
|
+
return;
|
|
231
264
|
const t = setTimeout(() => {
|
|
232
265
|
cb(changes);
|
|
233
266
|
clearTimeout(t);
|
package/dist/esm/methods/set.js
CHANGED
|
@@ -52,7 +52,8 @@ const addMethods = (element, parent, options = {}) => {
|
|
|
52
52
|
error,
|
|
53
53
|
call
|
|
54
54
|
};
|
|
55
|
-
if (element.context.methods)
|
|
55
|
+
if (element.context.methods)
|
|
56
|
+
(options.strict ? merge : overwrite)(proto, element.context.methods);
|
|
56
57
|
Object.setPrototypeOf(element, proto);
|
|
57
58
|
};
|
|
58
59
|
export {
|
package/dist/esm/methods/v2.js
CHANGED
|
@@ -17,15 +17,19 @@ const parse = function(excl = []) {
|
|
|
17
17
|
const obj = {};
|
|
18
18
|
const keyList = keys.call(element);
|
|
19
19
|
keyList.forEach((v) => {
|
|
20
|
-
if (excl.includes(v))
|
|
20
|
+
if (excl.includes(v))
|
|
21
|
+
return;
|
|
21
22
|
let val = element[v];
|
|
22
23
|
if (v === "state") {
|
|
23
|
-
if (element.__ref && element.__ref.__hasRootState)
|
|
24
|
-
|
|
24
|
+
if (element.__ref && element.__ref.__hasRootState)
|
|
25
|
+
return;
|
|
26
|
+
if (isFunction(val && val.parse))
|
|
27
|
+
val = val.parse();
|
|
25
28
|
} else if (v === "props") {
|
|
26
29
|
const { __element, update, ...props } = element[v];
|
|
27
30
|
obj[v] = props;
|
|
28
|
-
} else if (isDefined(val))
|
|
31
|
+
} else if (isDefined(val))
|
|
32
|
+
obj[v] = val;
|
|
29
33
|
});
|
|
30
34
|
return obj;
|
|
31
35
|
};
|
|
@@ -33,7 +37,8 @@ const parseDeep = function(excl = []) {
|
|
|
33
37
|
const element = this;
|
|
34
38
|
const obj = parse.call(element, excl);
|
|
35
39
|
for (const v in obj) {
|
|
36
|
-
if (excl.includes(v))
|
|
40
|
+
if (excl.includes(v))
|
|
41
|
+
return;
|
|
37
42
|
if (isObjectLike(obj[v])) {
|
|
38
43
|
obj[v] = parseDeep.call(obj[v], excl);
|
|
39
44
|
}
|
|
@@ -68,7 +73,8 @@ const previousElement = function(el) {
|
|
|
68
73
|
const element = el || this;
|
|
69
74
|
const { key, parent } = element;
|
|
70
75
|
const { __children } = parent.__ref;
|
|
71
|
-
if (!__children)
|
|
76
|
+
if (!__children)
|
|
77
|
+
return;
|
|
72
78
|
const currentIndex = __children.indexOf(key);
|
|
73
79
|
return parent[__children[currentIndex - 1]];
|
|
74
80
|
};
|