@domql/element 2.5.181 → 2.5.182

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
@@ -46,7 +46,7 @@ const ENV = process.env.NODE_ENV
46
46
  /**
47
47
  * Creating a domQL element using passed parameters
48
48
  */
49
- export const create = (element, parent, key, options = OPTIONS.create || {}, attachOptions) => {
49
+ export const create = async (element, parent, key, options = OPTIONS.create || {}, attachOptions) => {
50
50
  cacheOptions(element, options)
51
51
 
52
52
  // if element is STRING
@@ -76,6 +76,8 @@ export const create = (element, parent, key, options = OPTIONS.create || {}, att
76
76
  return onlyResolveExtends(element, parent, key, options)
77
77
  }
78
78
 
79
+ await triggerEventOn('start', element, options)
80
+
79
81
  switchDefaultOptions(element, parent, options)
80
82
 
81
83
  addCaching(element, parent)
@@ -84,7 +86,7 @@ export const create = (element, parent, key, options = OPTIONS.create || {}, att
84
86
 
85
87
  createScope(element, parent)
86
88
 
87
- createState(element, parent)
89
+ await createState(element, parent)
88
90
  if (element.scope === 'state') element.scope = element.state
89
91
 
90
92
  createIfConditionFlag(element, parent)
@@ -104,7 +106,7 @@ export const create = (element, parent, key, options = OPTIONS.create || {}, att
104
106
  // apply variants
105
107
  applyVariant(element, parent)
106
108
 
107
- const onInit = triggerEventOn('init', element, options)
109
+ const onInit = await triggerEventOn('init', element, options)
108
110
  if (onInit === false) return element
109
111
 
110
112
  triggerEventOn('beforeClassAssign', element, options)
@@ -114,11 +116,11 @@ export const create = (element, parent, key, options = OPTIONS.create || {}, att
114
116
 
115
117
  addChildrenIfNotInOriginal(element, parent, key)
116
118
 
117
- renderElement(element, parent, options, attachOptions)
119
+ await renderElement(element, parent, options, attachOptions)
118
120
 
119
121
  addElementIntoParentChildren(element, parent)
120
122
 
121
- triggerEventOn('complete', element, options)
123
+ await triggerEventOn('complete', element, options)
122
124
 
123
125
  return element
124
126
  }
@@ -211,7 +213,7 @@ const addElementIntoParentChildren = (element, parent) => {
211
213
  }
212
214
 
213
215
  const visitedElements = new WeakMap()
214
- const renderElement = (element, parent, options, attachOptions) => {
216
+ const renderElement = async (element, parent, options, attachOptions) => {
215
217
  if (visitedElements.has(element)) {
216
218
  if (ENV === 'test' || ENV === 'development') console.warn('Cyclic rendering detected:', element.__ref.path)
217
219
  }
@@ -224,7 +226,7 @@ const renderElement = (element, parent, options, attachOptions) => {
224
226
  try {
225
227
  const isInfiniteLoopDetected = detectInfiniteLoop(ref.path)
226
228
  if (ref.__uniqId || isInfiniteLoopDetected) return
227
- createNode(element, options)
229
+ await createNode(element, options)
228
230
  ref.__uniqId = Math.random()
229
231
  } catch (e) {
230
232
  if (ENV === 'test' || ENV === 'development') {
@@ -249,16 +251,16 @@ const renderElement = (element, parent, options, attachOptions) => {
249
251
  assignNode(element, parent, key, attachOptions)
250
252
 
251
253
  // run `on.renderRouter`
252
- triggerEventOn('renderRouter', element, options)
254
+ await triggerEventOn('renderRouter', element, options)
253
255
 
254
256
  // run `on.render`
255
- triggerEventOn('render', element, options)
257
+ await triggerEventOn('render', element, options)
256
258
 
257
259
  // run `on.done`
258
- triggerEventOn('done', element, options)
260
+ await triggerEventOn('done', element, options)
259
261
 
260
262
  // run `on.done`
261
- triggerEventOn('create', element, options)
263
+ await triggerEventOn('create', element, options)
262
264
  }
263
265
 
264
266
  const checkIfPrimitive = (element) => is(element)('string', 'number')
@@ -48,7 +48,7 @@ var import_iterate = require("./iterate");
48
48
  var import_options = require("./cache/options");
49
49
  var import_component = require("./utils/component");
50
50
  const ENV = "development";
51
- const create = (element, parent, key, options = import_options.OPTIONS.create || {}, attachOptions) => {
51
+ const create = async (element, parent, key, options = import_options.OPTIONS.create || {}, attachOptions) => {
52
52
  cacheOptions(element, options);
53
53
  if (checkIfPrimitive(element)) {
54
54
  element = applyValueAsText(element, parent, key);
@@ -67,11 +67,12 @@ const create = (element, parent, key, options = import_options.OPTIONS.create ||
67
67
  if (options.onlyResolveExtends) {
68
68
  return onlyResolveExtends(element, parent, key, options);
69
69
  }
70
+ await (0, import_event.triggerEventOn)("start", element, options);
70
71
  switchDefaultOptions(element, parent, options);
71
72
  addCaching(element, parent);
72
73
  (0, import_set.addMethods)(element, parent, options);
73
74
  createScope(element, parent);
74
- (0, import_state.createState)(element, parent);
75
+ await (0, import_state.createState)(element, parent);
75
76
  if (element.scope === "state")
76
77
  element.scope = element.state;
77
78
  createIfConditionFlag(element, parent);
@@ -83,15 +84,15 @@ const create = (element, parent, key, options = import_options.OPTIONS.create ||
83
84
  return (0, import_render.assignNode)(element, parent, key, attachOptions);
84
85
  }
85
86
  (0, import_component.applyVariant)(element, parent);
86
- const onInit = (0, import_event.triggerEventOn)("init", element, options);
87
+ const onInit = await (0, import_event.triggerEventOn)("init", element, options);
87
88
  if (onInit === false)
88
89
  return element;
89
90
  (0, import_event.triggerEventOn)("beforeClassAssign", element, options);
90
91
  (0, import_classList.assignKeyAsClassname)(element);
91
92
  (0, import_utils.addChildrenIfNotInOriginal)(element, parent, key);
92
- renderElement(element, parent, options, attachOptions);
93
+ await renderElement(element, parent, options, attachOptions);
93
94
  addElementIntoParentChildren(element, parent);
94
- (0, import_event.triggerEventOn)("complete", element, options);
95
+ await (0, import_event.triggerEventOn)("complete", element, options);
95
96
  return element;
96
97
  };
97
98
  const createBasedOnType = (element, parent, key, options) => {
@@ -169,7 +170,7 @@ const addElementIntoParentChildren = (element, parent) => {
169
170
  parent.__ref.__children.push(element.key);
170
171
  };
171
172
  const visitedElements = /* @__PURE__ */ new WeakMap();
172
- const renderElement = (element, parent, options, attachOptions) => {
173
+ const renderElement = async (element, parent, options, attachOptions) => {
173
174
  var _a, _b, _c, _d;
174
175
  if (visitedElements.has(element)) {
175
176
  if (ENV === "test" || ENV === "development")
@@ -181,7 +182,7 @@ const renderElement = (element, parent, options, attachOptions) => {
181
182
  const isInfiniteLoopDetected = (0, import_utils.detectInfiniteLoop)(ref.path);
182
183
  if (ref.__uniqId || isInfiniteLoopDetected)
183
184
  return;
184
- (0, import_node.default)(element, options);
185
+ await (0, import_node.default)(element, options);
185
186
  ref.__uniqId = Math.random();
186
187
  } catch (e) {
187
188
  if (ENV === "test" || ENV === "development") {
@@ -205,10 +206,10 @@ const renderElement = (element, parent, options, attachOptions) => {
205
206
  return element;
206
207
  }
207
208
  (0, import_render.assignNode)(element, parent, key, attachOptions);
208
- (0, import_event.triggerEventOn)("renderRouter", element, options);
209
- (0, import_event.triggerEventOn)("render", element, options);
210
- (0, import_event.triggerEventOn)("done", element, options);
211
- (0, import_event.triggerEventOn)("create", element, options);
209
+ await (0, import_event.triggerEventOn)("renderRouter", element, options);
210
+ await (0, import_event.triggerEventOn)("render", element, options);
211
+ await (0, import_event.triggerEventOn)("done", element, options);
212
+ await (0, import_event.triggerEventOn)("create", element, options);
212
213
  };
213
214
  const checkIfPrimitive = (element) => (0, import_utils.is)(element)("string", "number");
214
215
  const applyValueAsText = (element, parent, key) => {
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var methods_exports = {};
20
20
  __export(methods_exports, {
21
21
  METHODS: () => METHODS,
22
+ call: () => call,
22
23
  defineSetter: () => defineSetter,
23
24
  error: () => error,
24
25
  get: () => get,
@@ -313,6 +314,11 @@ function variables(obj = {}) {
313
314
  }
314
315
  };
315
316
  }
317
+ function call(fnKey, ...args) {
318
+ var _a;
319
+ const context = this.context;
320
+ return (_a = context.utils[fnKey] || context.functions[fnKey] || context.methods[fnKey] || context.snippets[fnKey]) == null ? void 0 : _a.call(this, ...args);
321
+ }
316
322
  const METHODS = [
317
323
  "set",
318
324
  "reset",
@@ -337,6 +343,7 @@ const METHODS = [
337
343
  "verbose",
338
344
  "warn",
339
345
  "error",
346
+ "call",
340
347
  "nextElement",
341
348
  "previousElement"
342
349
  ];
@@ -51,7 +51,8 @@ const addMethods = (element, parent, options = {}) => {
51
51
  log: import__.log,
52
52
  verbose: import__.verbose,
53
53
  warn: import__.warn,
54
- error: import__.error
54
+ error: import__.error,
55
+ call: import__.call
55
56
  };
56
57
  if (element.context.methods)
57
58
  (options.strict ? import_utils.merge : import_utils.overwrite)(proto, element.context.methods);
@@ -58,6 +58,9 @@ const REGISTRY = {
58
58
  set: {},
59
59
  reset: {},
60
60
  update: {},
61
+ error: {},
62
+ warn: {},
63
+ call: {},
61
64
  setProps: {},
62
65
  remove: {},
63
66
  updateContent: {},
package/dist/cjs/node.js CHANGED
@@ -42,7 +42,7 @@ var import_mixins = require("./mixins");
42
42
  var import_applyParam = require("./utils/applyParam");
43
43
  var import_propEvents = require("./utils/propEvents");
44
44
  const ENV = "development";
45
- const createNode = (element, options) => {
45
+ const createNode = async (element, options) => {
46
46
  let { node, tag, __ref: ref } = element;
47
47
  let isNewNode;
48
48
  if (!node) {
@@ -80,13 +80,13 @@ const createNode = (element, options) => {
80
80
  if (isElement) {
81
81
  const { hasDefine, hasContextDefine } = isElement;
82
82
  if (element[param] && !hasDefine && !hasContextDefine) {
83
- const createAsync = () => {
84
- (0, import_create.default)((0, import_utils.exec)(value, element), element, param, options);
83
+ const createAsync = async () => {
84
+ await (0, import_create.default)((0, import_utils.exec)(value, element), element, param, options);
85
85
  };
86
86
  if (element.props && element.props.lazyLoad || options.lazyLoad) {
87
- window.requestAnimationFrame(() => createAsync());
87
+ window.requestAnimationFrame(async () => await createAsync());
88
88
  } else
89
- createAsync();
89
+ await createAsync();
90
90
  }
91
91
  }
92
92
  }
package/methods/index.js CHANGED
@@ -278,6 +278,11 @@ export function variables (obj = {}) {
278
278
  }
279
279
  }
280
280
 
281
+ export function call (fnKey, ...args) {
282
+ const context = this.context
283
+ return (context.utils[fnKey] || context.functions[fnKey] || context.methods[fnKey] || context.snippets[fnKey])?.call(this, ...args)
284
+ }
285
+
281
286
  export const METHODS = [
282
287
  'set',
283
288
  'reset',
@@ -302,6 +307,7 @@ export const METHODS = [
302
307
  'verbose',
303
308
  'warn',
304
309
  'error',
310
+ 'call',
305
311
  'nextElement',
306
312
  'previousElement'
307
313
  ]
package/methods/set.js CHANGED
@@ -24,7 +24,8 @@ import {
24
24
  parse,
25
25
  parseDeep,
26
26
  nextElement,
27
- previousElement
27
+ previousElement,
28
+ call
28
29
  } from './'
29
30
 
30
31
  import { removeContent, updateContent } from '../mixins/content'
@@ -54,7 +55,8 @@ export const addMethods = (element, parent, options = {}) => {
54
55
  log,
55
56
  verbose,
56
57
  warn,
57
- error
58
+ error,
59
+ call
58
60
  }
59
61
  if (element.context.methods) (options.strict ? merge : overwrite)(proto, element.context.methods)
60
62
  Object.setPrototypeOf(element, proto)
@@ -41,6 +41,9 @@ export const REGISTRY = {
41
41
  set: {},
42
42
  reset: {},
43
43
  update: {},
44
+ error: {},
45
+ warn: {},
46
+ call: {},
44
47
  setProps: {},
45
48
  remove: {},
46
49
  updateContent: {},
package/node.js CHANGED
@@ -19,7 +19,7 @@ import { propagateEventsFromProps } from './utils/propEvents'
19
19
 
20
20
  const ENV = process.env.NODE_ENV
21
21
 
22
- export const createNode = (element, options) => {
22
+ export const createNode = async (element, options) => {
23
23
  // create and assign a node
24
24
  let { node, tag, __ref: ref } = element
25
25
 
@@ -81,13 +81,13 @@ export const createNode = (element, options) => {
81
81
  if (isElement) {
82
82
  const { hasDefine, hasContextDefine } = isElement
83
83
  if (element[param] && !hasDefine && !hasContextDefine) {
84
- const createAsync = () => {
85
- create(exec(value, element), element, param, options)
84
+ const createAsync = async () => {
85
+ await create(exec(value, element), element, param, options)
86
86
  }
87
87
 
88
88
  if ((element.props && element.props.lazyLoad) || options.lazyLoad) {
89
- window.requestAnimationFrame(() => createAsync())
90
- } else createAsync()
89
+ window.requestAnimationFrame(async () => await createAsync())
90
+ } else await createAsync()
91
91
  }
92
92
  }
93
93
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "2.5.181",
3
+ "version": "2.5.182",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -26,12 +26,12 @@
26
26
  "prepublish": "rimraf -I dist && npm run build && npm run copy:package:cjs"
27
27
  },
28
28
  "dependencies": {
29
- "@domql/event": "^2.5.179",
30
- "@domql/render": "^2.5.179",
31
- "@domql/state": "^2.5.181",
29
+ "@domql/event": "^2.5.182",
30
+ "@domql/render": "^2.5.182",
31
+ "@domql/state": "^2.5.182",
32
32
  "@domql/utils": "^2.5.179"
33
33
  },
34
- "gitHead": "4e5c3841725d9b2ffaeacc0e32bbff5c913b80b4",
34
+ "gitHead": "0071c581cbefc87854f08d3b658580055911ed24",
35
35
  "devDependencies": {
36
36
  "@babel/core": "^7.12.0"
37
37
  }