@domql/element 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/create.js CHANGED
@@ -205,7 +205,8 @@ const renderElement = (element, parent, options, attachOptions) => {
205
205
  isDemoComponent ? isDemoComponent + ' ' : '' + path.join('.')
206
206
  )
207
207
  element.verbose()
208
- console.error('[DOMQL] Render error:', e)
208
+ if (e instanceof ReferenceError) console.warn('[DOMQL] Render warning:', e.message)
209
+ else console.error('[DOMQL] Render error:', e)
209
210
  if (element.on?.error) {
210
211
  element.on.error(e, element, element.state, element.context, options)
211
212
  }
@@ -157,7 +157,8 @@ const renderElement = (element, parent, options, attachOptions) => {
157
157
  isDemoComponent ? isDemoComponent + " " : "" + path.join(".")
158
158
  );
159
159
  element.verbose();
160
- console.error("[DOMQL] Render error:", e);
160
+ if (e instanceof ReferenceError) console.warn("[DOMQL] Render warning:", e.message);
161
+ else console.error("[DOMQL] Render error:", e);
161
162
  if (element.on?.error) {
162
163
  element.on.error(e, element, element.state, element.context, options);
163
164
  }
@@ -251,12 +251,18 @@ const checkIfOnUpdate = (element, parent, options) => {
251
251
  return;
252
252
  }
253
253
  const ref = element.__ref;
254
- const ifPassed = (element.if || element.props?.if)(
255
- element,
256
- element.state,
257
- element.context,
258
- options
259
- );
254
+ let ifPassed;
255
+ try {
256
+ ifPassed = (element.if || element.props?.if)(
257
+ element,
258
+ element.state,
259
+ element.context,
260
+ options
261
+ );
262
+ } catch (e) {
263
+ console.warn("[DOMQL] if condition error:", e);
264
+ return;
265
+ }
260
266
  const itWasFalse = ref.__if !== true;
261
267
  if (ifPassed) {
262
268
  ref.__if = true;
@@ -148,7 +148,8 @@ const renderElement = (element, parent, options, attachOptions) => {
148
148
  isDemoComponent ? isDemoComponent + " " : "" + path.join(".")
149
149
  );
150
150
  element.verbose();
151
- console.error("[DOMQL] Render error:", e);
151
+ if (e instanceof ReferenceError) console.warn("[DOMQL] Render warning:", e.message);
152
+ else console.error("[DOMQL] Render error:", e);
152
153
  if (element.on?.error) {
153
154
  element.on.error(e, element, element.state, element.context, options);
154
155
  }
@@ -237,12 +237,18 @@ const checkIfOnUpdate = (element, parent, options) => {
237
237
  return;
238
238
  }
239
239
  const ref = element.__ref;
240
- const ifPassed = (element.if || element.props?.if)(
241
- element,
242
- element.state,
243
- element.context,
244
- options
245
- );
240
+ let ifPassed;
241
+ try {
242
+ ifPassed = (element.if || element.props?.if)(
243
+ element,
244
+ element.state,
245
+ element.context,
246
+ options
247
+ );
248
+ } catch (e) {
249
+ console.warn("[DOMQL] if condition error:", e);
250
+ return;
251
+ }
246
252
  const itWasFalse = ref.__if !== true;
247
253
  if (ifPassed) {
248
254
  ref.__if = true;
@@ -337,6 +337,7 @@ var DomqlElement = (() => {
337
337
  exec = (param, element, state2, context) => {
338
338
  if (isFunction(param)) {
339
339
  if (!element) return;
340
+ if (typeof param.call !== "function") return param;
340
341
  const result = param.call(
341
342
  element,
342
343
  element,
@@ -352,6 +353,17 @@ var DomqlElement = (() => {
352
353
  }
353
354
  return result;
354
355
  }
356
+ if (param != null && element?.context?.plugins && (isArray(param) || isObject(param) && !isDOMNode(param))) {
357
+ const plugins = element.context.plugins;
358
+ for (const plugin of plugins) {
359
+ if (plugin.resolveHandler) {
360
+ const resolved = plugin.resolveHandler(param, element);
361
+ if (typeof resolved === "function") {
362
+ return exec(resolved, element, state2, context);
363
+ }
364
+ }
365
+ }
366
+ }
355
367
  return param;
356
368
  };
357
369
  merge = (element, obj, excludeFrom = []) => {
@@ -671,11 +683,29 @@ var DomqlElement = (() => {
671
683
  var init_if = __esm({
672
684
  "../utils/dist/esm/if.js"() {
673
685
  init_types();
686
+ init_object();
674
687
  createIfConditionFlag = (element, parent) => {
675
688
  const { __ref: ref } = element;
676
- if (isFunction(element.if) && !element.if(element, element.state, element.context)) {
677
- delete ref.__if;
678
- } else ref.__if = true;
689
+ const ifVal = element.if;
690
+ if (isFunction(ifVal)) {
691
+ let result;
692
+ try {
693
+ result = ifVal(element, element.state, element.context);
694
+ } catch (e) {
695
+ if (typeof console !== "undefined") console.warn("[DOMQL] if condition error:", e);
696
+ delete ref.__if;
697
+ return;
698
+ }
699
+ if (!result) {
700
+ delete ref.__if;
701
+ } else ref.__if = true;
702
+ } else if (ifVal != null && typeof ifVal === "object") {
703
+ const result = exec(ifVal, element);
704
+ if (!result) delete ref.__if;
705
+ else ref.__if = true;
706
+ } else {
707
+ ref.__if = true;
708
+ }
679
709
  };
680
710
  }
681
711
  });
@@ -1863,13 +1893,18 @@ var DomqlElement = (() => {
1863
1893
  if (result && typeof result.then === "function") {
1864
1894
  result.catch((err) => {
1865
1895
  element.error = err;
1866
- console.error("[DOMQL] Async event error:", err);
1896
+ if (err instanceof ReferenceError) console.warn("[DOMQL] Async event warning:", err.message);
1897
+ else console.error("[DOMQL] Async event error:", err);
1867
1898
  });
1868
1899
  }
1869
1900
  return result;
1870
1901
  } catch (err) {
1871
1902
  element.error = err;
1872
- console.error("[DOMQL] Event handler error:", err);
1903
+ if (err instanceof ReferenceError) {
1904
+ console.warn("[DOMQL] Event handler warning:", err.message);
1905
+ } else {
1906
+ console.error("[DOMQL] Event handler error:", err);
1907
+ }
1873
1908
  if (element.context?.strictMode) throw err;
1874
1909
  }
1875
1910
  };
@@ -5440,12 +5475,18 @@ ${element}` : "";
5440
5475
  return;
5441
5476
  }
5442
5477
  const ref = element.__ref;
5443
- const ifPassed = (element.if || element.props?.if)(
5444
- element,
5445
- element.state,
5446
- element.context,
5447
- options
5448
- );
5478
+ let ifPassed;
5479
+ try {
5480
+ ifPassed = (element.if || element.props?.if)(
5481
+ element,
5482
+ element.state,
5483
+ element.context,
5484
+ options
5485
+ );
5486
+ } catch (e) {
5487
+ console.warn("[DOMQL] if condition error:", e);
5488
+ return;
5489
+ }
5449
5490
  const itWasFalse = ref.__if !== true;
5450
5491
  if (ifPassed) {
5451
5492
  ref.__if = true;
@@ -6736,7 +6777,8 @@ ${element}` : "";
6736
6777
  isDemoComponent ? isDemoComponent + " " : "" + path.join(".")
6737
6778
  );
6738
6779
  element.verbose();
6739
- console.error("[DOMQL] Render error:", e);
6780
+ if (e instanceof ReferenceError) console.warn("[DOMQL] Render warning:", e.message);
6781
+ else console.error("[DOMQL] Render error:", e);
6740
6782
  if (element.on?.error) {
6741
6783
  element.on.error(e, element, element.state, element.context, options);
6742
6784
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "3.8.1",
3
+ "version": "3.8.7",
4
4
  "license": "CC-BY-NC-4.0",
5
5
  "type": "module",
6
6
  "module": "./dist/esm/index.js",
@@ -46,10 +46,10 @@
46
46
  "build:iife": "cross-env NODE_ENV=$NODE_ENV esbuild index.js --bundle --target=es2020 --format=iife --global-name=DomqlElement --outfile=dist/iife/index.js --define:process.env.NODE_ENV=process.env.NODE_ENV"
47
47
  },
48
48
  "dependencies": {
49
- "@domql/report": "^3.8.1",
50
- "@domql/state": "^3.8.1",
51
- "@domql/utils": "^3.8.1",
52
- "attrs-in-props": "^3.8.1"
49
+ "@domql/report": "^3.8.7",
50
+ "@domql/state": "^3.8.7",
51
+ "@domql/utils": "^3.8.7",
52
+ "attrs-in-props": "^3.8.7"
53
53
  },
54
54
  "gitHead": "9fc1b79b41cdc725ca6b24aec64920a599634681",
55
55
  "devDependencies": {
package/update.js CHANGED
@@ -335,12 +335,18 @@ const checkIfOnUpdate = (element, parent, options) => {
335
335
  }
336
336
 
337
337
  const ref = element.__ref
338
- const ifPassed = (element.if || element.props?.if)(
339
- element,
340
- element.state,
341
- element.context,
342
- options
343
- )
338
+ let ifPassed
339
+ try {
340
+ ifPassed = (element.if || element.props?.if)(
341
+ element,
342
+ element.state,
343
+ element.context,
344
+ options
345
+ )
346
+ } catch (e) {
347
+ console.warn('[DOMQL] if condition error:', e)
348
+ return
349
+ }
344
350
  const itWasFalse = ref.__if !== true
345
351
 
346
352
  if (ifPassed) {