@domql/utils 3.8.1 → 3.8.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/if.js +21 -3
- package/dist/cjs/object.js +12 -0
- package/dist/cjs/triggerEvent.js +7 -2
- package/dist/esm/if.js +21 -3
- package/dist/esm/object.js +12 -0
- package/dist/esm/triggerEvent.js +7 -2
- package/dist/iife/index.js +57 -5
- package/if.js +22 -6
- package/object.js +17 -0
- package/package.json +2 -2
- package/triggerEvent.js +9 -2
package/dist/cjs/if.js
CHANGED
|
@@ -22,9 +22,27 @@ __export(if_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(if_exports);
|
|
24
24
|
var import_types = require("./types.js");
|
|
25
|
+
var import_object = require("./object.js");
|
|
25
26
|
const createIfConditionFlag = (element, parent) => {
|
|
26
27
|
const { __ref: ref } = element;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const ifVal = element.if;
|
|
29
|
+
if ((0, import_types.isFunction)(ifVal)) {
|
|
30
|
+
let result;
|
|
31
|
+
try {
|
|
32
|
+
result = ifVal(element, element.state, element.context);
|
|
33
|
+
} catch (e) {
|
|
34
|
+
if (typeof console !== "undefined") console.warn("[DOMQL] if condition error:", e);
|
|
35
|
+
delete ref.__if;
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (!result) {
|
|
39
|
+
delete ref.__if;
|
|
40
|
+
} else ref.__if = true;
|
|
41
|
+
} else if (ifVal != null && typeof ifVal === "object") {
|
|
42
|
+
const result = (0, import_object.exec)(ifVal, element);
|
|
43
|
+
if (!result) delete ref.__if;
|
|
44
|
+
else ref.__if = true;
|
|
45
|
+
} else {
|
|
46
|
+
ref.__if = true;
|
|
47
|
+
}
|
|
30
48
|
};
|
package/dist/cjs/object.js
CHANGED
|
@@ -61,6 +61,7 @@ const _startsWithDunder = (e) => e.charCodeAt(0) === 95 && e.charCodeAt(1) === 9
|
|
|
61
61
|
const exec = (param, element, state, context) => {
|
|
62
62
|
if ((0, import_types.isFunction)(param)) {
|
|
63
63
|
if (!element) return;
|
|
64
|
+
if (typeof param.call !== "function") return param;
|
|
64
65
|
const result = param.call(
|
|
65
66
|
element,
|
|
66
67
|
element,
|
|
@@ -76,6 +77,17 @@ const exec = (param, element, state, context) => {
|
|
|
76
77
|
}
|
|
77
78
|
return result;
|
|
78
79
|
}
|
|
80
|
+
if (param != null && element?.context?.plugins && ((0, import_types.isArray)(param) || (0, import_types.isObject)(param) && !(0, import_node.isDOMNode)(param))) {
|
|
81
|
+
const plugins = element.context.plugins;
|
|
82
|
+
for (const plugin of plugins) {
|
|
83
|
+
if (plugin.resolveHandler) {
|
|
84
|
+
const resolved = plugin.resolveHandler(param, element);
|
|
85
|
+
if (typeof resolved === "function") {
|
|
86
|
+
return exec(resolved, element, state, context);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
79
91
|
return param;
|
|
80
92
|
};
|
|
81
93
|
const map = (obj, extention, element) => {
|
package/dist/cjs/triggerEvent.js
CHANGED
|
@@ -48,13 +48,18 @@ const applyEvent = (param, element, state, context, options) => {
|
|
|
48
48
|
if (result && typeof result.then === "function") {
|
|
49
49
|
result.catch((err) => {
|
|
50
50
|
element.error = err;
|
|
51
|
-
console.
|
|
51
|
+
if (err instanceof ReferenceError) console.warn("[DOMQL] Async event warning:", err.message);
|
|
52
|
+
else console.error("[DOMQL] Async event error:", err);
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
return result;
|
|
55
56
|
} catch (err) {
|
|
56
57
|
element.error = err;
|
|
57
|
-
|
|
58
|
+
if (err instanceof ReferenceError) {
|
|
59
|
+
console.warn("[DOMQL] Event handler warning:", err.message);
|
|
60
|
+
} else {
|
|
61
|
+
console.error("[DOMQL] Event handler error:", err);
|
|
62
|
+
}
|
|
58
63
|
if (element.context?.strictMode) throw err;
|
|
59
64
|
}
|
|
60
65
|
};
|
package/dist/esm/if.js
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { isFunction } from "./types.js";
|
|
2
|
+
import { exec } from "./object.js";
|
|
2
3
|
const createIfConditionFlag = (element, parent) => {
|
|
3
4
|
const { __ref: ref } = element;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const ifVal = element.if;
|
|
6
|
+
if (isFunction(ifVal)) {
|
|
7
|
+
let result;
|
|
8
|
+
try {
|
|
9
|
+
result = ifVal(element, element.state, element.context);
|
|
10
|
+
} catch (e) {
|
|
11
|
+
if (typeof console !== "undefined") console.warn("[DOMQL] if condition error:", e);
|
|
12
|
+
delete ref.__if;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (!result) {
|
|
16
|
+
delete ref.__if;
|
|
17
|
+
} else ref.__if = true;
|
|
18
|
+
} else if (ifVal != null && typeof ifVal === "object") {
|
|
19
|
+
const result = exec(ifVal, element);
|
|
20
|
+
if (!result) delete ref.__if;
|
|
21
|
+
else ref.__if = true;
|
|
22
|
+
} else {
|
|
23
|
+
ref.__if = true;
|
|
24
|
+
}
|
|
7
25
|
};
|
|
8
26
|
export {
|
|
9
27
|
createIfConditionFlag
|
package/dist/esm/object.js
CHANGED
|
@@ -16,6 +16,7 @@ const _startsWithDunder = (e) => e.charCodeAt(0) === 95 && e.charCodeAt(1) === 9
|
|
|
16
16
|
const exec = (param, element, state, context) => {
|
|
17
17
|
if (isFunction(param)) {
|
|
18
18
|
if (!element) return;
|
|
19
|
+
if (typeof param.call !== "function") return param;
|
|
19
20
|
const result = param.call(
|
|
20
21
|
element,
|
|
21
22
|
element,
|
|
@@ -31,6 +32,17 @@ const exec = (param, element, state, context) => {
|
|
|
31
32
|
}
|
|
32
33
|
return result;
|
|
33
34
|
}
|
|
35
|
+
if (param != null && element?.context?.plugins && (isArray(param) || isObject(param) && !isDOMNode(param))) {
|
|
36
|
+
const plugins = element.context.plugins;
|
|
37
|
+
for (const plugin of plugins) {
|
|
38
|
+
if (plugin.resolveHandler) {
|
|
39
|
+
const resolved = plugin.resolveHandler(param, element);
|
|
40
|
+
if (typeof resolved === "function") {
|
|
41
|
+
return exec(resolved, element, state, context);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
34
46
|
return param;
|
|
35
47
|
};
|
|
36
48
|
const map = (obj, extention, element) => {
|
package/dist/esm/triggerEvent.js
CHANGED
|
@@ -22,13 +22,18 @@ const applyEvent = (param, element, state, context, options) => {
|
|
|
22
22
|
if (result && typeof result.then === "function") {
|
|
23
23
|
result.catch((err) => {
|
|
24
24
|
element.error = err;
|
|
25
|
-
console.
|
|
25
|
+
if (err instanceof ReferenceError) console.warn("[DOMQL] Async event warning:", err.message);
|
|
26
|
+
else console.error("[DOMQL] Async event error:", err);
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
return result;
|
|
29
30
|
} catch (err) {
|
|
30
31
|
element.error = err;
|
|
31
|
-
|
|
32
|
+
if (err instanceof ReferenceError) {
|
|
33
|
+
console.warn("[DOMQL] Event handler warning:", err.message);
|
|
34
|
+
} else {
|
|
35
|
+
console.error("[DOMQL] Event handler error:", err);
|
|
36
|
+
}
|
|
32
37
|
if (element.context?.strictMode) throw err;
|
|
33
38
|
}
|
|
34
39
|
};
|
package/dist/iife/index.js
CHANGED
|
@@ -31,8 +31,13 @@ var DomqlUtils = (() => {
|
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
// dist/esm/node.js
|
|
34
|
+
var isDOMNode2;
|
|
34
35
|
var init_node = __esm({
|
|
35
36
|
"dist/esm/node.js"() {
|
|
37
|
+
init_globals();
|
|
38
|
+
isDOMNode2 = (obj) => {
|
|
39
|
+
return typeof window3 !== "undefined" && (window3.Node && obj instanceof window3.Node || window3.Window && obj instanceof window3.Window || obj === window3 || obj === document);
|
|
40
|
+
};
|
|
36
41
|
}
|
|
37
42
|
});
|
|
38
43
|
|
|
@@ -155,9 +160,11 @@ var DomqlUtils = (() => {
|
|
|
155
160
|
var init_object = __esm({
|
|
156
161
|
"dist/esm/object.js"() {
|
|
157
162
|
init_types();
|
|
163
|
+
init_node();
|
|
158
164
|
exec2 = (param, element, state, context) => {
|
|
159
165
|
if (isFunction2(param)) {
|
|
160
166
|
if (!element) return;
|
|
167
|
+
if (typeof param.call !== "function") return param;
|
|
161
168
|
const result = param.call(
|
|
162
169
|
element,
|
|
163
170
|
element,
|
|
@@ -173,6 +180,17 @@ var DomqlUtils = (() => {
|
|
|
173
180
|
}
|
|
174
181
|
return result;
|
|
175
182
|
}
|
|
183
|
+
if (param != null && element?.context?.plugins && (isArray2(param) || isObject2(param) && !isDOMNode2(param))) {
|
|
184
|
+
const plugins = element.context.plugins;
|
|
185
|
+
for (const plugin of plugins) {
|
|
186
|
+
if (plugin.resolveHandler) {
|
|
187
|
+
const resolved = plugin.resolveHandler(param, element);
|
|
188
|
+
if (typeof resolved === "function") {
|
|
189
|
+
return exec2(resolved, element, state, context);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
176
194
|
return param;
|
|
177
195
|
};
|
|
178
196
|
}
|
|
@@ -2281,6 +2299,7 @@ var DomqlUtils = (() => {
|
|
|
2281
2299
|
var exec = (param, element, state, context) => {
|
|
2282
2300
|
if (isFunction(param)) {
|
|
2283
2301
|
if (!element) return;
|
|
2302
|
+
if (typeof param.call !== "function") return param;
|
|
2284
2303
|
const result = param.call(
|
|
2285
2304
|
element,
|
|
2286
2305
|
element,
|
|
@@ -2296,6 +2315,17 @@ var DomqlUtils = (() => {
|
|
|
2296
2315
|
}
|
|
2297
2316
|
return result;
|
|
2298
2317
|
}
|
|
2318
|
+
if (param != null && element?.context?.plugins && (isArray(param) || isObject(param) && !isDOMNode(param))) {
|
|
2319
|
+
const plugins = element.context.plugins;
|
|
2320
|
+
for (const plugin of plugins) {
|
|
2321
|
+
if (plugin.resolveHandler) {
|
|
2322
|
+
const resolved = plugin.resolveHandler(param, element);
|
|
2323
|
+
if (typeof resolved === "function") {
|
|
2324
|
+
return exec(resolved, element, state, context);
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
}
|
|
2328
|
+
}
|
|
2299
2329
|
return param;
|
|
2300
2330
|
};
|
|
2301
2331
|
var map = (obj, extention, element) => {
|
|
@@ -2944,9 +2974,26 @@ var DomqlUtils = (() => {
|
|
|
2944
2974
|
// if.js
|
|
2945
2975
|
var createIfConditionFlag = (element, parent) => {
|
|
2946
2976
|
const { __ref: ref } = element;
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2977
|
+
const ifVal = element.if;
|
|
2978
|
+
if (isFunction(ifVal)) {
|
|
2979
|
+
let result;
|
|
2980
|
+
try {
|
|
2981
|
+
result = ifVal(element, element.state, element.context);
|
|
2982
|
+
} catch (e) {
|
|
2983
|
+
if (typeof console !== "undefined") console.warn("[DOMQL] if condition error:", e);
|
|
2984
|
+
delete ref.__if;
|
|
2985
|
+
return;
|
|
2986
|
+
}
|
|
2987
|
+
if (!result) {
|
|
2988
|
+
delete ref.__if;
|
|
2989
|
+
} else ref.__if = true;
|
|
2990
|
+
} else if (ifVal != null && typeof ifVal === "object") {
|
|
2991
|
+
const result = exec(ifVal, element);
|
|
2992
|
+
if (!result) delete ref.__if;
|
|
2993
|
+
else ref.__if = true;
|
|
2994
|
+
} else {
|
|
2995
|
+
ref.__if = true;
|
|
2996
|
+
}
|
|
2950
2997
|
};
|
|
2951
2998
|
|
|
2952
2999
|
// log.js
|
|
@@ -4152,13 +4199,18 @@ var DomqlUtils = (() => {
|
|
|
4152
4199
|
if (result && typeof result.then === "function") {
|
|
4153
4200
|
result.catch((err) => {
|
|
4154
4201
|
element.error = err;
|
|
4155
|
-
console.
|
|
4202
|
+
if (err instanceof ReferenceError) console.warn("[DOMQL] Async event warning:", err.message);
|
|
4203
|
+
else console.error("[DOMQL] Async event error:", err);
|
|
4156
4204
|
});
|
|
4157
4205
|
}
|
|
4158
4206
|
return result;
|
|
4159
4207
|
} catch (err) {
|
|
4160
4208
|
element.error = err;
|
|
4161
|
-
|
|
4209
|
+
if (err instanceof ReferenceError) {
|
|
4210
|
+
console.warn("[DOMQL] Event handler warning:", err.message);
|
|
4211
|
+
} else {
|
|
4212
|
+
console.error("[DOMQL] Event handler error:", err);
|
|
4213
|
+
}
|
|
4162
4214
|
if (element.context?.strictMode) throw err;
|
|
4163
4215
|
}
|
|
4164
4216
|
};
|
package/if.js
CHANGED
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
import { isFunction } from './types.js'
|
|
4
|
+
import { exec } from './object.js'
|
|
4
5
|
|
|
5
6
|
export const createIfConditionFlag = (element, parent) => {
|
|
6
7
|
const { __ref: ref } = element
|
|
8
|
+
const ifVal = element.if
|
|
7
9
|
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
if (isFunction(ifVal)) {
|
|
11
|
+
let result
|
|
12
|
+
try {
|
|
13
|
+
result = ifVal(element, element.state, element.context)
|
|
14
|
+
} catch (e) {
|
|
15
|
+
if (typeof console !== 'undefined') console.warn('[DOMQL] if condition error:', e)
|
|
16
|
+
delete ref.__if
|
|
17
|
+
return
|
|
18
|
+
}
|
|
19
|
+
if (!result) {
|
|
20
|
+
delete ref.__if
|
|
21
|
+
} else ref.__if = true
|
|
22
|
+
} else if (ifVal != null && typeof ifVal === 'object') {
|
|
23
|
+
// funcql schema — evaluate via exec() which delegates to plugins
|
|
24
|
+
const result = exec(ifVal, element)
|
|
25
|
+
if (!result) delete ref.__if
|
|
26
|
+
else ref.__if = true
|
|
27
|
+
} else {
|
|
28
|
+
ref.__if = true
|
|
29
|
+
}
|
|
14
30
|
}
|
package/object.js
CHANGED
|
@@ -21,6 +21,7 @@ const _startsWithDunder = e => e.charCodeAt(0) === 95 && e.charCodeAt(1) === 95
|
|
|
21
21
|
export const exec = (param, element, state, context) => {
|
|
22
22
|
if (isFunction(param)) {
|
|
23
23
|
if (!element) return
|
|
24
|
+
if (typeof param.call !== 'function') return param
|
|
24
25
|
const result = param.call(
|
|
25
26
|
element,
|
|
26
27
|
element,
|
|
@@ -36,6 +37,22 @@ export const exec = (param, element, state, context) => {
|
|
|
36
37
|
}
|
|
37
38
|
return result
|
|
38
39
|
}
|
|
40
|
+
// If param is a non-function value and the context has handler-resolving
|
|
41
|
+
// plugins (e.g. funcql), try to resolve it into a callable function.
|
|
42
|
+
// This enables funcql schemas as property values (text, if, style, etc.).
|
|
43
|
+
// Only attempt for array/object params that could be schemas — skip
|
|
44
|
+
// primitives and DOM nodes to avoid overhead on normal DOMQL values.
|
|
45
|
+
if (param != null && element?.context?.plugins && (isArray(param) || (isObject(param) && !isDOMNode(param)))) {
|
|
46
|
+
const plugins = element.context.plugins
|
|
47
|
+
for (const plugin of plugins) {
|
|
48
|
+
if (plugin.resolveHandler) {
|
|
49
|
+
const resolved = plugin.resolveHandler(param, element)
|
|
50
|
+
if (typeof resolved === 'function') {
|
|
51
|
+
return exec(resolved, element, state, context)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
39
56
|
return param
|
|
40
57
|
}
|
|
41
58
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/utils",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.7",
|
|
4
4
|
"license": "CC-BY-NC-4.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"gitHead": "9fc1b79b41cdc725ca6b24aec64920a599634681",
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@symbo.ls/fetch": "^3.8.
|
|
41
|
+
"@symbo.ls/fetch": "^3.8.7"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@symbo.ls/fetch": {
|
package/triggerEvent.js
CHANGED
|
@@ -26,13 +26,20 @@ export const applyEvent = (param, element, state, context, options) => {
|
|
|
26
26
|
if (result && typeof result.then === 'function') {
|
|
27
27
|
result.catch((err) => {
|
|
28
28
|
element.error = err
|
|
29
|
-
console.
|
|
29
|
+
if (err instanceof ReferenceError) console.warn('[DOMQL] Async event warning:', err.message)
|
|
30
|
+
else console.error('[DOMQL] Async event error:', err)
|
|
30
31
|
})
|
|
31
32
|
}
|
|
32
33
|
return result
|
|
33
34
|
} catch (err) {
|
|
34
35
|
element.error = err
|
|
35
|
-
|
|
36
|
+
// In SSR/brender mode, ReferenceErrors for missing client-only helpers
|
|
37
|
+
// are expected (e.g. DOM animation functions). Log concisely.
|
|
38
|
+
if (err instanceof ReferenceError) {
|
|
39
|
+
console.warn('[DOMQL] Event handler warning:', err.message)
|
|
40
|
+
} else {
|
|
41
|
+
console.error('[DOMQL] Event handler error:', err)
|
|
42
|
+
}
|
|
36
43
|
if (element.context?.strictMode) throw err
|
|
37
44
|
}
|
|
38
45
|
}
|