@domql/element 3.5.0 → 3.5.1

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
@@ -175,12 +175,13 @@ const renderElement = (element, parent, options, attachOptions) => {
175
175
  }
176
176
 
177
177
  // CREATE a real NODE
178
- if (ENV === 'test' || ENV === 'development') {
178
+ if (ENV === 'test' || ENV === 'development' || element.context?.strictMode) {
179
179
  createNestedChild()
180
180
  } else {
181
181
  try {
182
182
  createNestedChild()
183
183
  } catch (e) {
184
+ element.error = e
184
185
  const path = ref.path
185
186
  if (path.includes('ComponentsGrid')) {
186
187
  path.splice(0, path.indexOf('ComponentsGrid') + 2)
@@ -194,7 +195,7 @@ const renderElement = (element, parent, options, attachOptions) => {
194
195
  isDemoComponent ? isDemoComponent + ' ' : '' + path.join('.')
195
196
  )
196
197
  element.verbose()
197
- element.error(e, options)
198
+ console.error('[DomQL] Render error:', e)
198
199
  if (element.on?.error) {
199
200
  element.on.error(e, element, element.state, element.context, options)
200
201
  }
@@ -130,12 +130,13 @@ const renderElement = (element, parent, options, attachOptions) => {
130
130
  (0, import_node.createNode)(element, options);
131
131
  ref.__uniqId = _uniqIdCounter++;
132
132
  };
133
- if (ENV === "test" || ENV === "development") {
133
+ if (ENV === "test" || ENV === "development" || element.context?.strictMode) {
134
134
  createNestedChild();
135
135
  } else {
136
136
  try {
137
137
  createNestedChild();
138
138
  } catch (e) {
139
+ element.error = e;
139
140
  const path = ref.path;
140
141
  if (path.includes("ComponentsGrid")) {
141
142
  path.splice(0, path.indexOf("ComponentsGrid") + 2);
@@ -149,7 +150,7 @@ const renderElement = (element, parent, options, attachOptions) => {
149
150
  isDemoComponent ? isDemoComponent + " " : "" + path.join(".")
150
151
  );
151
152
  element.verbose();
152
- element.error(e, options);
153
+ console.error("[DomQL] Render error:", e);
153
154
  if (element.on?.error) {
154
155
  element.on.error(e, element, element.state, element.context, options);
155
156
  }
@@ -45,17 +45,25 @@ const registerNodeEvent = (param, element, node, options) => {
45
45
  }
46
46
  const handler = (event) => {
47
47
  const { state, context } = element;
48
- const result = appliedFunction.call(
49
- element,
50
- event,
51
- element,
52
- state,
53
- context,
54
- options
55
- );
56
- if (result && typeof result.then === "function") {
57
- result.catch(() => {
58
- });
48
+ try {
49
+ const result = appliedFunction.call(
50
+ element,
51
+ event,
52
+ element,
53
+ state,
54
+ context,
55
+ options
56
+ );
57
+ if (result && typeof result.then === "function") {
58
+ result.catch((err) => {
59
+ element.error = err;
60
+ console.error("[DomQL] Async DOM event error:", err);
61
+ });
62
+ }
63
+ } catch (err) {
64
+ element.error = err;
65
+ console.error("[DomQL] DOM event error:", err);
66
+ if (context?.strictMode) throw err;
59
67
  }
60
68
  };
61
69
  ref.__eventListeners[param] = handler;
@@ -121,12 +121,13 @@ const renderElement = (element, parent, options, attachOptions) => {
121
121
  createNode(element, options);
122
122
  ref.__uniqId = _uniqIdCounter++;
123
123
  };
124
- if (ENV === "test" || ENV === "development") {
124
+ if (ENV === "test" || ENV === "development" || element.context?.strictMode) {
125
125
  createNestedChild();
126
126
  } else {
127
127
  try {
128
128
  createNestedChild();
129
129
  } catch (e) {
130
+ element.error = e;
130
131
  const path = ref.path;
131
132
  if (path.includes("ComponentsGrid")) {
132
133
  path.splice(0, path.indexOf("ComponentsGrid") + 2);
@@ -140,7 +141,7 @@ const renderElement = (element, parent, options, attachOptions) => {
140
141
  isDemoComponent ? isDemoComponent + " " : "" + path.join(".")
141
142
  );
142
143
  element.verbose();
143
- element.error(e, options);
144
+ console.error("[DomQL] Render error:", e);
144
145
  if (element.on?.error) {
145
146
  element.on.error(e, element, element.state, element.context, options);
146
147
  }
@@ -18,17 +18,25 @@ const registerNodeEvent = (param, element, node, options) => {
18
18
  }
19
19
  const handler = (event) => {
20
20
  const { state, context } = element;
21
- const result = appliedFunction.call(
22
- element,
23
- event,
24
- element,
25
- state,
26
- context,
27
- options
28
- );
29
- if (result && typeof result.then === "function") {
30
- result.catch(() => {
31
- });
21
+ try {
22
+ const result = appliedFunction.call(
23
+ element,
24
+ event,
25
+ element,
26
+ state,
27
+ context,
28
+ options
29
+ );
30
+ if (result && typeof result.then === "function") {
31
+ result.catch((err) => {
32
+ element.error = err;
33
+ console.error("[DomQL] Async DOM event error:", err);
34
+ });
35
+ }
36
+ } catch (err) {
37
+ element.error = err;
38
+ console.error("[DomQL] DOM event error:", err);
39
+ if (context?.strictMode) throw err;
32
40
  }
33
41
  };
34
42
  ref.__eventListeners[param] = handler;
@@ -1564,18 +1564,26 @@ var DomqlElement = (() => {
1564
1564
  };
1565
1565
  var applyEvent = (param, element, state2, context, options) => {
1566
1566
  if (!isFunction(param)) return;
1567
- const result = param.call(
1568
- element,
1569
- element,
1570
- state2 || element.state,
1571
- context || element.context,
1572
- options
1573
- );
1574
- if (result && typeof result.then === "function") {
1575
- result.catch(() => {
1576
- });
1567
+ try {
1568
+ const result = param.call(
1569
+ element,
1570
+ element,
1571
+ state2 || element.state,
1572
+ context || element.context,
1573
+ options
1574
+ );
1575
+ if (result && typeof result.then === "function") {
1576
+ result.catch((err) => {
1577
+ element.error = err;
1578
+ console.error("[DomQL] Async event error:", err);
1579
+ });
1580
+ }
1581
+ return result;
1582
+ } catch (err) {
1583
+ element.error = err;
1584
+ console.error("[DomQL] Event handler error:", err);
1585
+ if (element.context?.strictMode) throw err;
1577
1586
  }
1578
- return result;
1579
1587
  };
1580
1588
  var triggerEventOn = (param, element, options) => {
1581
1589
  if (!element) {
@@ -1589,19 +1597,27 @@ var DomqlElement = (() => {
1589
1597
  };
1590
1598
  var applyEventUpdate = (param, updatedObj, element, state2, context, options) => {
1591
1599
  if (!isFunction(param)) return;
1592
- const result = param.call(
1593
- element,
1594
- updatedObj,
1595
- element,
1596
- state2 || element.state,
1597
- context || element.context,
1598
- options
1599
- );
1600
- if (result && typeof result.then === "function") {
1601
- result.catch(() => {
1602
- });
1600
+ try {
1601
+ const result = param.call(
1602
+ element,
1603
+ updatedObj,
1604
+ element,
1605
+ state2 || element.state,
1606
+ context || element.context,
1607
+ options
1608
+ );
1609
+ if (result && typeof result.then === "function") {
1610
+ result.catch((err) => {
1611
+ element.error = err;
1612
+ console.error("[DomQL] Async event update error:", err);
1613
+ });
1614
+ }
1615
+ return result;
1616
+ } catch (err) {
1617
+ element.error = err;
1618
+ console.error("[DomQL] Event update error:", err);
1619
+ if (element.context?.strictMode) throw err;
1603
1620
  }
1604
- return result;
1605
1621
  };
1606
1622
  var triggerEventOnUpdate = (param, updatedObj, element, options) => {
1607
1623
  const appliedFunction = getOnOrPropsEvent(param, element);
@@ -1908,7 +1924,20 @@ var DomqlElement = (() => {
1908
1924
  }
1909
1925
  function call(fnKey, ...args) {
1910
1926
  const context = this.context;
1911
- return (context.utils?.[fnKey] || context.functions?.[fnKey] || context.methods?.[fnKey] || context.snippets?.[fnKey])?.call(this, ...args);
1927
+ const fn = context.utils?.[fnKey] || context.functions?.[fnKey] || context.methods?.[fnKey] || context.snippets?.[fnKey];
1928
+ if (!fn) return;
1929
+ try {
1930
+ const result = fn.call(this, ...args);
1931
+ if (result && typeof result.then === "function") {
1932
+ result.catch((err) => {
1933
+ this.error = err;
1934
+ });
1935
+ }
1936
+ return result;
1937
+ } catch (err) {
1938
+ this.error = err;
1939
+ if (context?.strictMode) throw err;
1940
+ }
1912
1941
  }
1913
1942
  function isMethod(param, element) {
1914
1943
  return Boolean(METHODS.has(param) || element?.context?.methods?.[param]);
@@ -2029,17 +2058,25 @@ ${element}` : "";
2029
2058
  }
2030
2059
  const handler = (event) => {
2031
2060
  const { state: state2, context } = element;
2032
- const result = appliedFunction.call(
2033
- element,
2034
- event,
2035
- element,
2036
- state2,
2037
- context,
2038
- options
2039
- );
2040
- if (result && typeof result.then === "function") {
2041
- result.catch(() => {
2042
- });
2061
+ try {
2062
+ const result = appliedFunction.call(
2063
+ element,
2064
+ event,
2065
+ element,
2066
+ state2,
2067
+ context,
2068
+ options
2069
+ );
2070
+ if (result && typeof result.then === "function") {
2071
+ result.catch((err) => {
2072
+ element.error = err;
2073
+ console.error("[DomQL] Async DOM event error:", err);
2074
+ });
2075
+ }
2076
+ } catch (err) {
2077
+ element.error = err;
2078
+ console.error("[DomQL] DOM event error:", err);
2079
+ if (context?.strictMode) throw err;
2043
2080
  }
2044
2081
  };
2045
2082
  ref.__eventListeners[param] = handler;
@@ -4631,12 +4668,13 @@ ${element}` : "";
4631
4668
  createNode(element, options);
4632
4669
  ref.__uniqId = _uniqIdCounter++;
4633
4670
  };
4634
- if (ENV6 === "test" || ENV6 === "development") {
4671
+ if (ENV6 === "test" || ENV6 === "development" || element.context?.strictMode) {
4635
4672
  createNestedChild();
4636
4673
  } else {
4637
4674
  try {
4638
4675
  createNestedChild();
4639
4676
  } catch (e) {
4677
+ element.error = e;
4640
4678
  const path = ref.path;
4641
4679
  if (path.includes("ComponentsGrid")) {
4642
4680
  path.splice(0, path.indexOf("ComponentsGrid") + 2);
@@ -4650,7 +4688,7 @@ ${element}` : "";
4650
4688
  isDemoComponent ? isDemoComponent + " " : "" + path.join(".")
4651
4689
  );
4652
4690
  element.verbose();
4653
- element.error(e, options);
4691
+ console.error("[DomQL] Render error:", e);
4654
4692
  if (element.on?.error) {
4655
4693
  element.on.error(e, element, element.state, element.context, options);
4656
4694
  }
package/event/on.js CHANGED
@@ -27,16 +27,25 @@ const registerNodeEvent = (param, element, node, options) => {
27
27
 
28
28
  const handler = event => {
29
29
  const { state, context } = element
30
- const result = appliedFunction.call(
31
- element,
32
- event,
33
- element,
34
- state,
35
- context,
36
- options
37
- )
38
- if (result && typeof result.then === 'function') {
39
- result.catch(() => {})
30
+ try {
31
+ const result = appliedFunction.call(
32
+ element,
33
+ event,
34
+ element,
35
+ state,
36
+ context,
37
+ options
38
+ )
39
+ if (result && typeof result.then === 'function') {
40
+ result.catch((err) => {
41
+ element.error = err
42
+ console.error('[DomQL] Async DOM event error:', err)
43
+ })
44
+ }
45
+ } catch (err) {
46
+ element.error = err
47
+ console.error('[DomQL] DOM event error:', err)
48
+ if (context?.strictMode) throw err
40
49
  }
41
50
  }
42
51
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "3.5.0",
3
+ "version": "3.5.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "./dist/esm/index.js",
@@ -52,10 +52,10 @@
52
52
  "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"
53
53
  },
54
54
  "dependencies": {
55
- "@domql/report": "^3.5.0",
56
- "@domql/state": "^3.5.0",
57
- "@domql/utils": "^3.5.0",
58
- "attrs-in-props": "^3.5.0"
55
+ "@domql/report": "^3.5.1",
56
+ "@domql/state": "^3.5.1",
57
+ "@domql/utils": "^3.5.1",
58
+ "attrs-in-props": "^3.5.1"
59
59
  },
60
60
  "gitHead": "9fc1b79b41cdc725ca6b24aec64920a599634681",
61
61
  "devDependencies": {