@domql/element 3.1.1 → 3.2.3

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.
Files changed (90) hide show
  1. package/README.md +4 -6
  2. package/__tests__/checkIfOnUpdate.test.js +12 -12
  3. package/__tests__/children.test.js +34 -38
  4. package/__tests__/inheritStateUpdates.test.js +12 -12
  5. package/__tests__/renderElement.test.js +11 -11
  6. package/__tests__/resetElement.test.js +6 -6
  7. package/__tests__/set.test.js +32 -36
  8. package/__tests__/throughExecProps.test.js +12 -12
  9. package/__tests__/throughInitialDefine.test.js +16 -16
  10. package/__tests__/throughInitialExec.test.js +16 -16
  11. package/__tests__/throughUpdatedDefine.test.js +14 -14
  12. package/__tests__/throughUpdatedExec.test.js +17 -16
  13. package/__tests__/update.test.js +54 -54
  14. package/children.js +5 -6
  15. package/create.js +18 -20
  16. package/dist/cjs/children.js +4 -2
  17. package/dist/cjs/create.js +16 -16
  18. package/dist/cjs/extend.js +88 -0
  19. package/dist/cjs/iterate.js +76 -20
  20. package/dist/cjs/mixins/content.js +73 -0
  21. package/dist/cjs/mixins/html.js +1 -1
  22. package/dist/cjs/mixins/registry.js +2 -2
  23. package/dist/cjs/mixins/scope.js +1 -1
  24. package/dist/cjs/mixins/state.js +2 -2
  25. package/dist/cjs/mixins/text.js +4 -4
  26. package/dist/cjs/node.js +15 -15
  27. package/dist/cjs/set.js +22 -27
  28. package/dist/cjs/update.js +24 -33
  29. package/dist/cjs/utils/applyParam.js +4 -4
  30. package/dist/cjs/utils/extendUtils.js +132 -0
  31. package/dist/cjs/utils/propEvents.js +39 -0
  32. package/dist/esm/children.js +5 -3
  33. package/dist/esm/create.js +16 -16
  34. package/dist/esm/extend.js +74 -0
  35. package/dist/esm/iterate.js +77 -22
  36. package/dist/esm/mixins/content.js +53 -0
  37. package/dist/esm/mixins/html.js +1 -1
  38. package/dist/esm/mixins/registry.js +1 -1
  39. package/dist/esm/mixins/scope.js +1 -1
  40. package/dist/esm/mixins/state.js +3 -3
  41. package/dist/esm/mixins/text.js +4 -4
  42. package/dist/esm/node.js +15 -15
  43. package/dist/esm/set.js +23 -28
  44. package/dist/esm/update.js +24 -33
  45. package/dist/esm/utils/applyParam.js +5 -5
  46. package/dist/esm/utils/extendUtils.js +119 -0
  47. package/dist/esm/utils/propEvents.js +19 -0
  48. package/extend.js +98 -0
  49. package/iterate.js +80 -25
  50. package/mixins/content.js +65 -0
  51. package/mixins/html.js +1 -1
  52. package/mixins/registry.js +1 -1
  53. package/mixins/scope.js +1 -1
  54. package/mixins/state.js +3 -3
  55. package/mixins/text.js +4 -4
  56. package/node.js +15 -15
  57. package/package.json +8 -8
  58. package/set.js +23 -28
  59. package/update.js +25 -34
  60. package/utils/applyParam.js +5 -5
  61. package/utils/extendUtils.js +149 -0
  62. package/utils/propEvents.js +19 -0
  63. package/dist/cjs/__tests__/checkIfOnUpdate.test.js +0 -73
  64. package/dist/cjs/__tests__/children.test.js +0 -177
  65. package/dist/cjs/__tests__/define.test.js +0 -75
  66. package/dist/cjs/__tests__/inheritStateUpdates.test.js +0 -62
  67. package/dist/cjs/__tests__/renderElement.test.js +0 -138
  68. package/dist/cjs/__tests__/resetElement.test.js +0 -35
  69. package/dist/cjs/__tests__/set.test.js +0 -256
  70. package/dist/cjs/__tests__/throughExecProps.test.js +0 -62
  71. package/dist/cjs/__tests__/throughInitialDefine.test.js +0 -79
  72. package/dist/cjs/__tests__/throughInitialExec.test.js +0 -73
  73. package/dist/cjs/__tests__/throughUpdatedDefine.test.js +0 -69
  74. package/dist/cjs/__tests__/throughUpdatedExec.test.js +0 -84
  75. package/dist/cjs/__tests__/tree.test.js +0 -11
  76. package/dist/cjs/__tests__/update.test.js +0 -222
  77. package/dist/esm/__tests__/checkIfOnUpdate.test.js +0 -73
  78. package/dist/esm/__tests__/children.test.js +0 -177
  79. package/dist/esm/__tests__/define.test.js +0 -53
  80. package/dist/esm/__tests__/inheritStateUpdates.test.js +0 -62
  81. package/dist/esm/__tests__/renderElement.test.js +0 -116
  82. package/dist/esm/__tests__/resetElement.test.js +0 -35
  83. package/dist/esm/__tests__/set.test.js +0 -256
  84. package/dist/esm/__tests__/throughExecProps.test.js +0 -62
  85. package/dist/esm/__tests__/throughInitialDefine.test.js +0 -79
  86. package/dist/esm/__tests__/throughInitialExec.test.js +0 -73
  87. package/dist/esm/__tests__/throughUpdatedDefine.test.js +0 -69
  88. package/dist/esm/__tests__/throughUpdatedExec.test.js +0 -84
  89. package/dist/esm/__tests__/tree.test.js +0 -11
  90. package/dist/esm/__tests__/update.test.js +0 -222
@@ -27,14 +27,21 @@ __export(iterate_exports, {
27
27
  });
28
28
  module.exports = __toCommonJS(iterate_exports);
29
29
  var import_utils = require("@domql/utils");
30
- const throughInitialExec = async (element, exclude = {}) => {
30
+ const throughInitialExec = (element, exclude = {}) => {
31
31
  const { __ref: ref } = element;
32
32
  for (const param in element) {
33
33
  if (exclude[param]) continue;
34
34
  const prop = element[param];
35
35
  if ((0, import_utils.isFunction)(prop) && !(0, import_utils.isMethod)(param, element)) {
36
36
  ref.__exec[param] = prop;
37
- element[param] = await prop(element, element.state, element.context);
37
+ const result = prop(element, element.state, element.context);
38
+ if (result && typeof result.then === "function") {
39
+ result.then((resolved) => {
40
+ element[param] = resolved;
41
+ });
42
+ } else {
43
+ element[param] = result;
44
+ }
38
45
  }
39
46
  }
40
47
  };
@@ -46,6 +53,12 @@ const throughUpdatedExec = (element, options = {}) => {
46
53
  const isDefinedParam = ref.__defineCache[param];
47
54
  if (isDefinedParam) continue;
48
55
  const newExec = ref.__exec[param](element, element.state, element.context);
56
+ if (newExec && typeof newExec.then === "function") {
57
+ newExec.then((resolved) => {
58
+ element[param] = resolved;
59
+ });
60
+ continue;
61
+ }
49
62
  const execReturnsString = (0, import_utils.isString)(newExec) || (0, import_utils.isNumber)(newExec);
50
63
  if (prop && prop.node && execReturnsString) {
51
64
  (0, import_utils.overwrite)(prop, { text: newExec });
@@ -65,23 +78,37 @@ const throughUpdatedExec = (element, options = {}) => {
65
78
  }
66
79
  return changes;
67
80
  };
68
- const throughExecProps = async (element) => {
81
+ const throughExecProps = (element) => {
69
82
  const { __ref: ref } = element;
70
83
  const { props } = element;
71
84
  for (const k in props) {
72
85
  const isDefine = k.startsWith("is") || k.startsWith("has") || k.startsWith("use");
73
86
  const cachedExecProp = ref.__execProps[k];
74
87
  if ((0, import_utils.isFunction)(cachedExecProp)) {
75
- props[k] = await (0, import_utils.execPromise)(cachedExecProp, element);
88
+ const result = (0, import_utils.exec)(cachedExecProp, element);
89
+ if (result && typeof result.then === "function") {
90
+ result.then((resolved) => {
91
+ props[k] = resolved;
92
+ });
93
+ } else {
94
+ props[k] = result;
95
+ }
76
96
  } else if (isDefine && (0, import_utils.isFunction)(props[k])) {
77
97
  ref.__execProps[k] = props[k];
78
- props[k] = await (0, import_utils.execPromise)(props[k], element);
98
+ const result = (0, import_utils.exec)(props[k], element);
99
+ if (result && typeof result.then === "function") {
100
+ result.then((resolved) => {
101
+ props[k] = resolved;
102
+ });
103
+ } else {
104
+ props[k] = result;
105
+ }
79
106
  }
80
107
  }
81
108
  };
82
109
  const isPropertyInDefines = (key, element) => {
83
110
  };
84
- const throughInitialDefine = async (element) => {
111
+ const throughInitialDefine = (element) => {
85
112
  const { define, context, __ref: ref } = element;
86
113
  let defineObj = {};
87
114
  const hasGlobalDefine = context && (0, import_utils.isObject)(context.define);
@@ -91,23 +118,38 @@ const throughInitialDefine = async (element) => {
91
118
  let elementProp = element[param];
92
119
  if ((0, import_utils.isFunction)(elementProp) && !(0, import_utils.isMethod)(param, element)) {
93
120
  ref.__exec[param] = elementProp;
94
- const execParam2 = elementProp = await (0, import_utils.execPromise)(elementProp, element);
95
- if (execParam2) {
96
- elementProp = element[param] = execParam2.parse ? execParam2.parse() : execParam2;
97
- ref.__defineCache[param] = elementProp;
121
+ let execParam2 = (0, import_utils.exec)(elementProp, element);
122
+ if (execParam2 && typeof execParam2.then === "function") {
123
+ execParam2.then((resolved) => {
124
+ elementProp = element[param] = resolved && resolved.parse ? resolved.parse() : resolved;
125
+ if (resolved) {
126
+ ref.__defineCache[param] = elementProp;
127
+ }
128
+ });
129
+ } else {
130
+ elementProp = element[param] = execParam2 && execParam2.parse ? execParam2.parse() : execParam2;
131
+ if (execParam2) {
132
+ ref.__defineCache[param] = elementProp;
133
+ }
98
134
  }
99
135
  }
100
- const execParam = await defineObj[param](
136
+ const execParam = defineObj[param](
101
137
  elementProp,
102
138
  element,
103
139
  element.state,
104
140
  element.context
105
141
  );
106
- if (execParam) element[param] = execParam;
142
+ if (execParam && typeof execParam.then === "function") {
143
+ execParam.then((resolved) => {
144
+ if (resolved) element[param] = resolved;
145
+ });
146
+ } else if (execParam) {
147
+ element[param] = execParam;
148
+ }
107
149
  }
108
150
  return element;
109
151
  };
110
- const throughUpdatedDefine = async (element) => {
152
+ const throughUpdatedDefine = (element) => {
111
153
  const { context, define, __ref: ref } = element;
112
154
  const changes = {};
113
155
  let obj = {};
@@ -116,15 +158,29 @@ const throughUpdatedDefine = async (element) => {
116
158
  for (const param in obj) {
117
159
  const execParam = ref.__exec[param];
118
160
  if (execParam) {
119
- ref.__defineCache[param] = await execParam(
120
- element,
121
- element.state,
122
- element.context
123
- );
161
+ const result = execParam(element, element.state, element.context);
162
+ if (result && typeof result.then === "function") {
163
+ result.then((resolved) => {
164
+ ref.__defineCache[param] = resolved;
165
+ });
166
+ } else {
167
+ ref.__defineCache[param] = result;
168
+ }
169
+ }
170
+ const cached = (0, import_utils.exec)(ref.__defineCache[param], element);
171
+ if (cached && typeof cached.then === "function") {
172
+ cached.then((resolved) => {
173
+ });
174
+ continue;
124
175
  }
125
- const cached = await (0, import_utils.execPromise)(ref.__defineCache[param], element);
126
176
  const newExecParam = typeof obj[param] === "function" ? obj[param](cached, element, element.state, element.context) : void 0;
127
- if (newExecParam) element[param] = newExecParam;
177
+ if (newExecParam && typeof newExecParam.then === "function") {
178
+ newExecParam.then((resolved) => {
179
+ element[param] = resolved;
180
+ });
181
+ } else if (newExecParam) {
182
+ element[param] = newExecParam;
183
+ }
128
184
  }
129
185
  return changes;
130
186
  };
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var content_exports = {};
20
+ __export(content_exports, {
21
+ default: () => content_default,
22
+ removeContent: () => removeContent,
23
+ setContent: () => setContent,
24
+ updateContent: () => updateContent
25
+ });
26
+ module.exports = __toCommonJS(content_exports);
27
+ var import_utils = require("@domql/utils");
28
+ var import_set = require("../set.js");
29
+ const updateContent = function(params, options) {
30
+ const element = this;
31
+ const ref = element.__ref;
32
+ const contentKey = ref.contentElementKey;
33
+ if (!element[contentKey]) return;
34
+ if (element[contentKey].update) element[contentKey].update(params, options);
35
+ };
36
+ const removeContent = function(el, opts = {}) {
37
+ const element = el || this;
38
+ const { __ref: ref } = element;
39
+ const contentElementKey = (0, import_utils.setContentKey)(element, opts);
40
+ if (opts.contentElementKey !== "content") opts.contentElementKey = "content";
41
+ if (element[contentElementKey]) {
42
+ if (element[contentElementKey].node && element.node) {
43
+ if (element[contentElementKey].tag === "fragment")
44
+ element.node.innerHTML = "";
45
+ else {
46
+ const contentNode = element[contentElementKey].node;
47
+ if (contentNode.parentNode === element.node)
48
+ element.node.removeChild(element[contentElementKey].node);
49
+ }
50
+ }
51
+ const { __cached } = ref;
52
+ if (__cached && __cached[contentElementKey]) {
53
+ if (__cached[contentElementKey].tag === "fragment")
54
+ __cached[contentElementKey].parent.node.innerHTML = "";
55
+ else if (__cached[contentElementKey] && (0, import_utils.isFunction)(__cached[contentElementKey].remove))
56
+ __cached[contentElementKey].remove();
57
+ }
58
+ ref.__children.splice(ref.__children.indexOf(element[contentElementKey]), 1);
59
+ delete element[contentElementKey];
60
+ }
61
+ };
62
+ function setContent(param, element, node, opts) {
63
+ var _a;
64
+ const contentElementKey = (0, import_utils.setContentKey)(element, opts);
65
+ if (param && element) {
66
+ if ((_a = element[contentElementKey]) == null ? void 0 : _a.update) {
67
+ element[contentElementKey].update({}, opts);
68
+ } else {
69
+ import_set.set.call(element, param, opts);
70
+ }
71
+ }
72
+ }
73
+ var content_default = setContent;
@@ -25,7 +25,7 @@ module.exports = __toCommonJS(html_exports);
25
25
  var import_utils = require("@domql/utils");
26
26
  function html(param, element, node) {
27
27
  var _a;
28
- const prop = (0, import_utils.exec)(param, element) || (0, import_utils.exec)((_a = element == null ? void 0 : element.props) == null ? void 0 : _a.html, element);
28
+ const prop = (0, import_utils.exec)(((_a = element == null ? void 0 : element.props) == null ? void 0 : _a.html) || param, element);
29
29
  const { __ref } = element;
30
30
  if (prop !== __ref.__html) {
31
31
  if (node.nodeName === "SVG") node.textContent = prop;
@@ -32,7 +32,7 @@ __export(registry_exports, {
32
32
  default: () => registry_default
33
33
  });
34
34
  module.exports = __toCommonJS(registry_exports);
35
- var import_attr = __toESM(require("./attr.js"), 1);
35
+ var import_attr = require("./attr.js");
36
36
  var import_classList = require("./classList.js");
37
37
  var import_data = __toESM(require("./data.js"), 1);
38
38
  var import_html = __toESM(require("./html.js"), 1);
@@ -41,7 +41,7 @@ var import_state = __toESM(require("./state.js"), 1);
41
41
  var import_style = __toESM(require("./style.js"), 1);
42
42
  var import_text = __toESM(require("./text.js"), 1);
43
43
  const REGISTRY = {
44
- attr: import_attr.default,
44
+ attr: import_attr.attr,
45
45
  style: import_style.default,
46
46
  text: import_text.default,
47
47
  html: import_html.default,
@@ -23,7 +23,7 @@ __export(scope_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(scope_exports);
25
25
  var import_utils = require("@domql/utils");
26
- async function scope(params, element, node) {
26
+ function scope(params, element, node) {
27
27
  if (!(0, import_utils.isObject)(params)) return;
28
28
  for (const scopeItem in params) {
29
29
  const value = params[scopeItem];
@@ -23,8 +23,8 @@ __export(state_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(state_exports);
25
25
  var import_utils = require("@domql/utils");
26
- async function state(params, element, node) {
27
- const state2 = await (0, import_utils.execPromise)(params, element);
26
+ function state(params, element, node) {
27
+ const state2 = (0, import_utils.exec)(params, element);
28
28
  if ((0, import_utils.isObject)(state2)) {
29
29
  for (const param in state2) {
30
30
  if (import_utils.STATE_METHODS.includes(param)) continue;
@@ -24,10 +24,10 @@ __export(text_exports, {
24
24
  module.exports = __toCommonJS(text_exports);
25
25
  var import_create = require("../create.js");
26
26
  var import_utils = require("@domql/utils");
27
- async function text(param, element, node) {
28
- let prop = (0, import_utils.exec)(param || element.props.text, element);
27
+ function text(param, element, node) {
28
+ let prop = (0, import_utils.exec)(element.props.text || param, element);
29
29
  if ((0, import_utils.isString)(prop) && prop.includes("{{")) {
30
- prop = element.call("replaceLiteralsWithObjectFields", prop);
30
+ prop = element.call("replaceLiteralsWithObjectFields", prop, element.state);
31
31
  }
32
32
  if (element.tag === "string") {
33
33
  node.nodeValue = prop;
@@ -36,7 +36,7 @@ async function text(param, element, node) {
36
36
  if (element.__text.text === prop) return;
37
37
  element.__text.text = prop;
38
38
  if (element.__text.node) element.__text.node.nodeValue = prop;
39
- } else await (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
39
+ } else (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
40
40
  }
41
41
  }
42
42
  var text_default = text;
package/dist/cjs/node.js CHANGED
@@ -42,7 +42,7 @@ var import_applyParam = require("./utils/applyParam.js");
42
42
  var import_children = __toESM(require("./children.js"), 1);
43
43
  var import_set = require("./set.js");
44
44
  const ENV = "development";
45
- const createNode = async (element, opts) => {
45
+ const createNode = (element, opts) => {
46
46
  let { node, tag, __ref: ref } = element;
47
47
  if (!ref.__if) return element;
48
48
  let isNewNode;
@@ -51,42 +51,42 @@ const createNode = async (element, opts) => {
51
51
  if (tag === "shadow") {
52
52
  node = element.node = element.parent.node.attachShadow({ mode: "open" });
53
53
  } else node = element.node = (0, import_render.cacheNode)(element);
54
- await (0, import_event.triggerEventOn)("attachNode", element, opts);
54
+ (0, import_event.triggerEventOn)("attachNode", element, opts);
55
55
  }
56
56
  if (ENV === "test" || ENV === "development" || opts.alowRefReference) {
57
57
  node.ref = element;
58
58
  if ((0, import_utils.isFunction)(node.setAttribute)) node.setAttribute("key", element.key);
59
59
  }
60
- await (0, import_iterate.throughExecProps)(element);
61
- await (0, import_iterate.throughInitialDefine)(element);
62
- await (0, import_iterate.throughInitialExec)(element);
63
- await (0, import_event.applyEventsOnNode)(element, { isNewNode, ...opts });
60
+ (0, import_iterate.throughExecProps)(element);
61
+ (0, import_iterate.throughInitialDefine)(element);
62
+ (0, import_iterate.throughInitialExec)(element);
63
+ (0, import_event.applyEventsOnNode)(element, { isNewNode, ...opts });
64
64
  for (const param in element) {
65
65
  const value = element[param];
66
66
  if (!Object.hasOwnProperty.call(element, param) || (0, import_utils.isUndefined)(value) || (0, import_utils.isMethod)(param, element) || (0, import_utils.isObject)(import_mixins.REGISTRY[param])) {
67
67
  continue;
68
68
  }
69
- const isElement = await (0, import_applyParam.applyParam)(param, element, opts);
69
+ const isElement = (0, import_applyParam.applyParam)(param, element, opts);
70
70
  if (isElement) {
71
71
  const { hasDefine, hasContextDefine } = isElement;
72
72
  if (element[param] && !hasDefine && !hasContextDefine) {
73
- const createAsync = async () => {
74
- await (0, import_create.create)(value, element, param, opts);
73
+ const createAsync = () => {
74
+ (0, import_create.create)(value, element, param, opts);
75
75
  };
76
76
  if (element.props && element.props.lazyLoad || opts.lazyLoad) {
77
- window.requestAnimationFrame(async () => {
78
- await createAsync();
77
+ window.requestAnimationFrame(() => {
78
+ createAsync();
79
79
  if (!opts.preventUpdateListener) {
80
- await (0, import_event.triggerEventOn)("lazyLoad", element, opts);
80
+ (0, import_event.triggerEventOn)("lazyLoad", element, opts);
81
81
  }
82
82
  });
83
- } else await createAsync();
83
+ } else createAsync();
84
84
  }
85
85
  }
86
86
  }
87
- const content = element.children ? await (0, import_children.default)(element.children, element, opts) : element.content || element.content;
87
+ const content = element.children ? (0, import_children.default)(element.children, element, opts) : element.content || element.content;
88
88
  if (content) {
89
- await (0, import_set.setContent)(content, element, opts);
89
+ (0, import_set.setContent)(content, element, opts);
90
90
  }
91
91
  return element;
92
92
  };
package/dist/cjs/set.js CHANGED
@@ -39,45 +39,40 @@ const setContentKey = (element, opts = {}) => {
39
39
  }
40
40
  return ref.contentElementKey;
41
41
  };
42
- const reset = async (options) => {
42
+ const reset = (options) => {
43
43
  const element = void 0;
44
- await (0, import_create.create)(element, element.parent, void 0, {
44
+ (0, import_create.create)(element, element.parent, void 0, {
45
45
  ignoreChildExtends: true,
46
46
  ...import_utils.OPTIONS.defaultOptions,
47
47
  ...import_utils.OPTIONS.create,
48
48
  ...options
49
49
  });
50
50
  };
51
- const resetContent = async (params, element, opts) => {
51
+ const resetContent = (params, element, opts) => {
52
52
  var _a;
53
53
  const contentElementKey = setContentKey(element, opts);
54
54
  if ((_a = element[contentElementKey]) == null ? void 0 : _a.node) removeContent(element, opts);
55
- const contentElem = await (0, import_create.create)(
56
- params,
57
- element,
58
- contentElementKey || "content",
59
- {
60
- ignoreChildExtends: true,
61
- ...import_utils.OPTIONS.defaultOptions,
62
- ...import_utils.OPTIONS.create,
63
- ...opts
64
- }
65
- );
55
+ const contentElem = (0, import_create.create)(params, element, contentElementKey || "content", {
56
+ ignoreChildExtends: true,
57
+ ...import_utils.OPTIONS.defaultOptions,
58
+ ...import_utils.OPTIONS.create,
59
+ ...opts
60
+ });
66
61
  if (contentElementKey !== "content") opts.contentElementKey = "content";
67
62
  return contentElem;
68
63
  };
69
- const updateContent = async function(params, opts) {
64
+ const updateContent = function(params, opts) {
70
65
  const element = this;
71
66
  const contentElementKey = setContentKey(element, opts);
72
67
  if (!element[contentElementKey]) return;
73
68
  if (element[contentElementKey].update) {
74
- await element[contentElementKey].update(params, opts);
69
+ element[contentElementKey].update(params, opts);
75
70
  }
76
71
  };
77
- async function setContent(param, element, opts) {
78
- const content = await (0, import_utils.execPromise)(param, element);
72
+ function setContent(param, element, opts) {
73
+ const content = (0, import_utils.exec)(param, element);
79
74
  if (content && element) {
80
- await set.call(element, content, opts);
75
+ set.call(element, content, opts);
81
76
  }
82
77
  }
83
78
  const removeContent = function(el, opts = {}) {
@@ -109,7 +104,7 @@ const removeContent = function(el, opts = {}) {
109
104
  }
110
105
  delete element[contentElementKey];
111
106
  };
112
- const set = async function(params, options = {}, el) {
107
+ const set = function(params, options = {}, el) {
113
108
  var _a;
114
109
  const element = el || this;
115
110
  const { __ref: ref } = element;
@@ -123,7 +118,7 @@ const set = async function(params, options = {}, el) {
123
118
  const childrenIsDifferentFromCache = childHasChanged && __contentRef && Object.keys(params).length === Object.keys(content).length && (0, import_utils.deepContains)(params, content);
124
119
  if ((content == null ? void 0 : content.update) && !childHasChanged && !childrenIsDifferentFromCache) {
125
120
  if (!options.preventBeforeUpdateListener && !options.preventListeners) {
126
- const beforeUpdateReturns = await (0, import_event.triggerEventOnUpdate)(
121
+ const beforeUpdateReturns = (0, import_event.triggerEventOnUpdate)(
127
122
  "beforeUpdate",
128
123
  params,
129
124
  element,
@@ -131,9 +126,9 @@ const set = async function(params, options = {}, el) {
131
126
  );
132
127
  if (beforeUpdateReturns === false) return element;
133
128
  }
134
- await content.update(params);
129
+ content.update(params);
135
130
  if (!options.preventUpdateListener && !options.preventListeners) {
136
- await (0, import_event.triggerEventOn)("update", element, options);
131
+ (0, import_event.triggerEventOn)("update", element, options);
137
132
  }
138
133
  return;
139
134
  }
@@ -151,14 +146,14 @@ const set = async function(params, options = {}, el) {
151
146
  }
152
147
  }
153
148
  if (lazyLoad) {
154
- window.requestAnimationFrame(async () => {
155
- await resetContent(params, element, options);
149
+ window.requestAnimationFrame(() => {
150
+ resetContent(params, element, options);
156
151
  if (!options.preventUpdateListener) {
157
- await (0, import_event.triggerEventOn)("lazyLoad", element, options);
152
+ (0, import_event.triggerEventOn)("lazyLoad", element, options);
158
153
  }
159
154
  });
160
155
  } else {
161
- await resetContent(params, element, options);
156
+ resetContent(params, element, options);
162
157
  }
163
158
  };
164
159
  var set_default = set;
@@ -50,7 +50,7 @@ const UPDATE_DEFAULT_OPTIONS = {
50
50
  calleeElement: false,
51
51
  exclude: import_utils2.METHODS_EXL
52
52
  };
53
- const update = async function(params = {}, opts) {
53
+ const update = function(params = {}, opts) {
54
54
  const calleeElementCache = opts == null ? void 0 : opts.calleeElement;
55
55
  const options = (0, import_utils.deepClone)(
56
56
  (0, import_utils.isObject)(opts) ? (0, import_utils.deepMerge)(opts, UPDATE_DEFAULT_OPTIONS) : UPDATE_DEFAULT_OPTIONS,
@@ -66,7 +66,7 @@ const update = async function(params = {}, opts) {
66
66
  );
67
67
  if (snapshotHasUpdated) return;
68
68
  if (!options.preventListeners) {
69
- await (0, import_event.triggerEventOnUpdate)("startUpdate", params, element, options);
69
+ (0, import_event.triggerEventOnUpdate)("startUpdate", params, element, options);
70
70
  }
71
71
  const { parent, node, key } = element;
72
72
  const { exclude, preventInheritAtCurrentState } = options;
@@ -78,9 +78,9 @@ const update = async function(params = {}, opts) {
78
78
  params = { text: params };
79
79
  }
80
80
  params = import_utils.propertizeUpdate.call(element, params);
81
- const inheritState = await inheritStateUpdates(element, options);
81
+ const inheritState = inheritStateUpdates(element, options);
82
82
  if (inheritState === false) return;
83
- const ifFails = await checkIfOnUpdate(element, parent, options);
83
+ const ifFails = checkIfOnUpdate(element, parent, options);
84
84
  if (ifFails) return;
85
85
  if (ref.__if && !options.preventPropsUpdate) {
86
86
  const hasParentProps = parent.props && (parent.props[key] || parent.props.childProps);
@@ -90,7 +90,7 @@ const update = async function(params = {}, opts) {
90
90
  }
91
91
  if (!options.preventBeforeUpdateListener && !options.preventListeners) {
92
92
  const simulate = { ...params, ...element };
93
- const beforeUpdateReturns = await (0, import_event.triggerEventOnUpdate)(
93
+ const beforeUpdateReturns = (0, import_event.triggerEventOnUpdate)(
94
94
  "beforeUpdate",
95
95
  params,
96
96
  simulate,
@@ -103,7 +103,7 @@ const update = async function(params = {}, opts) {
103
103
  (0, import_iterate.throughUpdatedExec)(element, { ignore: UPDATE_DEFAULT_OPTIONS });
104
104
  (0, import_iterate.throughUpdatedDefine)(element);
105
105
  if (!options.isForced && !options.preventListeners) {
106
- await (0, import_event.triggerEventOn)("beforeClassAssign", element, options);
106
+ (0, import_event.triggerEventOn)("beforeClassAssign", element, options);
107
107
  }
108
108
  if (!ref.__if) return false;
109
109
  if (!node) {
@@ -135,7 +135,7 @@ const update = async function(params = {}, opts) {
135
135
  continue;
136
136
  }
137
137
  if (preventStateUpdate === "once") options.preventStateUpdate = false;
138
- const isElement = await (0, import_applyParam.applyParam)(param, element, options);
138
+ const isElement = (0, import_applyParam.applyParam)(param, element, options);
139
139
  if (isElement) {
140
140
  const { hasDefine, hasContextDefine } = isElement;
141
141
  const canUpdate = (0, import_utils.isObject)(prop) && !hasDefine && !hasContextDefine && !preventRecursive;
@@ -144,33 +144,33 @@ const update = async function(params = {}, opts) {
144
144
  if (options.onEachUpdate) {
145
145
  options.onEachUpdate(param, element, element.state, element.context);
146
146
  }
147
- const childUpdateCall = async () => await update.call(prop, params[prop], {
147
+ const childUpdateCall = () => update.call(prop, params[prop], {
148
148
  ...options,
149
149
  currentSnapshot: snapshotOnCallee,
150
150
  calleeElement
151
151
  });
152
152
  if (lazyLoad) {
153
- import_utils.window.requestAnimationFrame(async () => {
154
- await childUpdateCall();
153
+ import_utils.window.requestAnimationFrame(() => {
154
+ childUpdateCall();
155
155
  if (!options.preventUpdateListener) {
156
- await (0, import_event.triggerEventOn)("lazyLoad", element, options);
156
+ (0, import_event.triggerEventOn)("lazyLoad", element, options);
157
157
  }
158
158
  });
159
- } else await childUpdateCall();
159
+ } else childUpdateCall();
160
160
  }
161
161
  }
162
162
  if (!preventContentUpdate) {
163
163
  const children = params.children || element.children;
164
- const content = children ? await (0, import_children.default)(children, element, opts) : element.children || params.content;
164
+ const content = children ? (0, import_children.default)(children, element, opts) : element.children || params.content;
165
165
  if (content) {
166
- await (0, import_set.setContent)(content, element, options);
166
+ (0, import_set.setContent)(content, element, options);
167
167
  }
168
168
  }
169
169
  if (!preventUpdateListener) {
170
- await (0, import_event.triggerEventOn)("update", element, options);
170
+ (0, import_event.triggerEventOn)("update", element, options);
171
171
  }
172
172
  };
173
- const checkIfOnUpdate = async (element, parent, options) => {
173
+ const checkIfOnUpdate = (element, parent, options) => {
174
174
  var _a, _b, _c;
175
175
  if (!(0, import_utils.isFunction)(element.if) && !(0, import_utils.isFunction)((_a = element.props) == null ? void 0 : _a.if) || !parent) {
176
176
  return;
@@ -219,7 +219,7 @@ const checkIfOnUpdate = async (element, parent, options) => {
219
219
  };
220
220
  delete element.__ref;
221
221
  delete element.parent;
222
- const createdElement = await (0, import_create.create)(
222
+ const createdElement = (0, import_create.create)(
223
223
  element,
224
224
  parent,
225
225
  element.key,
@@ -227,11 +227,7 @@ const checkIfOnUpdate = async (element, parent, options) => {
227
227
  attachOptions
228
228
  );
229
229
  if (options.preventUpdate !== true && element.on && (0, import_utils.isFunction)(element.on.update)) {
230
- await (0, import_event.applyEvent)(
231
- element.on.update,
232
- createdElement,
233
- createdElement.state
234
- );
230
+ (0, import_event.applyEvent)(element.on.update, createdElement, createdElement.state);
235
231
  }
236
232
  return createdElement;
237
233
  }
@@ -240,7 +236,7 @@ const checkIfOnUpdate = async (element, parent, options) => {
240
236
  delete ref.__if;
241
237
  }
242
238
  };
243
- const inheritStateUpdates = async (element, options) => {
239
+ const inheritStateUpdates = (element, options) => {
244
240
  const { __ref: ref } = element;
245
241
  const stateKey = ref.__state;
246
242
  const { parent, state } = element;
@@ -264,7 +260,7 @@ const inheritStateUpdates = async (element, options) => {
264
260
  const keyInParentState = (0, import_utils.findInheritedState)(element, element.parent);
265
261
  if (!keyInParentState || options.preventInheritedStateUpdate) return;
266
262
  if (!options.preventBeforeStateUpdateListener && !options.preventListeners) {
267
- const initStateReturns = await (0, import_event.triggerEventOnUpdate)(
263
+ const initStateReturns = (0, import_event.triggerEventOnUpdate)(
268
264
  "beforeStateUpdate",
269
265
  keyInParentState,
270
266
  element,
@@ -272,19 +268,14 @@ const inheritStateUpdates = async (element, options) => {
272
268
  );
273
269
  if (initStateReturns === false) return element;
274
270
  }
275
- const newState = await createStateUpdate(element, parent, options);
271
+ const newState = createStateUpdate(element, parent, options);
276
272
  if (!options.preventStateUpdateListener && !options.preventListeners) {
277
- await (0, import_event.triggerEventOnUpdate)(
278
- "stateUpdate",
279
- newState.parse(),
280
- element,
281
- options
282
- );
273
+ (0, import_event.triggerEventOnUpdate)("stateUpdate", newState.parse(), element, options);
283
274
  }
284
275
  };
285
- const createStateUpdate = async (element, parent, options) => {
276
+ const createStateUpdate = (element, parent, options) => {
286
277
  const __stateChildren = element.state.__children;
287
- const newState = await (0, import_state.createState)(element, parent);
278
+ const newState = (0, import_state.createState)(element, parent);
288
279
  element.state = newState;
289
280
  for (const child in __stateChildren) {
290
281
  if (newState[child]) newState.__children[child] = __stateChildren[child];
@@ -23,9 +23,9 @@ __export(applyParam_exports, {
23
23
  module.exports = __toCommonJS(applyParam_exports);
24
24
  var import_utils = require("@domql/utils");
25
25
  var import_mixins = require("../mixins/index.js");
26
- const applyParam = async (param, element, options) => {
26
+ const applyParam = (param, element, options) => {
27
27
  const { node, context, __ref: ref } = element;
28
- const prop = element[param];
28
+ const prop = (0, import_utils.exec)(element[param], element);
29
29
  const { onlyUpdate } = options;
30
30
  const DOMQLProperty = import_mixins.REGISTRY[param];
31
31
  const DOMQLPropertyFromContext = context && context.registry && context.registry[param];
@@ -36,9 +36,9 @@ const applyParam = async (param, element, options) => {
36
36
  const hasOnlyUpdate = onlyUpdate ? onlyUpdate === param || element.lookup(onlyUpdate) : true;
37
37
  if (isGlobalTransformer && !hasContextDefine && hasOnlyUpdate) {
38
38
  if ((0, import_utils.isFunction)(isGlobalTransformer)) {
39
- await isGlobalTransformer(prop, element, node, options);
40
- return;
39
+ isGlobalTransformer(prop, element, node, options);
41
40
  }
41
+ return;
42
42
  }
43
43
  return { hasDefine, hasContextDefine };
44
44
  };