@domql/element 2.4.4 → 2.4.6

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
@@ -1,22 +1,23 @@
1
1
  'use strict'
2
2
 
3
+ import createNode from './node'
4
+
3
5
  import { isObject, isFunction, isString, exec, is, isNode, isUndefined, createKey } from '@domql/utils'
4
6
  import { ROOT } from './tree'
5
7
  import { TAGS } from '@domql/registry'
6
8
  import { triggerEventOn } from '@domql/event'
7
9
  import { appendNode, assignNode } from '@domql/render'
8
- import { assignClass } from '@domql/classlist'
9
10
  import { cacheNode, detectTag } from '@domql/node'
10
11
  import { createState } from '@domql/state'
11
12
 
12
13
  import { isMethod } from './methods'
13
-
14
14
  import { createProps } from './props'
15
-
16
- import createNode from './node'
17
15
  import { applyExtend } from './extend'
18
16
  import { registry } from './mixins'
17
+ import { addMethods } from './methods/set'
18
+ import { assignClass } from './mixins/classList'
19
19
  import { throughInitialExec } from './iterate'
20
+
20
21
  import OPTIONS from './cache/options'
21
22
 
22
23
  import {
@@ -26,7 +27,6 @@ import {
26
27
  checkIfKeyIsComponent,
27
28
  isVariant
28
29
  } from './utils/component'
29
- import { addMethods } from './methods/set'
30
30
 
31
31
  const ENV = process.env.NODE_ENV
32
32
 
@@ -71,7 +71,7 @@ const create = (element, parent, key, options = OPTIONS.create || {}) => {
71
71
  }
72
72
 
73
73
  // define KEY
74
- const assignedKey = (element.key || key || createKey()).toString()
74
+ const assignedKey = (key || element.key || createKey()).toString()
75
75
 
76
76
  if (checkIfKeyIsComponent(assignedKey)) {
77
77
  element = applyKeyComponentAsExtend(element, parent, assignedKey)
@@ -31,23 +31,23 @@ __export(create_exports, {
31
31
  default: () => create_default
32
32
  });
33
33
  module.exports = __toCommonJS(create_exports);
34
+ var import_node = __toESM(require("./node"), 1);
34
35
  var import_utils = require("@domql/utils");
35
36
  var import_tree = require("./tree");
36
37
  var import_registry = require("@domql/registry");
37
38
  var import_event = require("@domql/event");
38
39
  var import_render = require("@domql/render");
39
- var import_classlist = require("@domql/classlist");
40
- var import_node = require("@domql/node");
40
+ var import_node2 = require("@domql/node");
41
41
  var import_state = require("@domql/state");
42
42
  var import_methods = require("./methods");
43
43
  var import_props = require("./props");
44
- var import_node2 = __toESM(require("./node"), 1);
45
44
  var import_extend = require("./extend");
46
45
  var import_mixins = require("./mixins");
46
+ var import_set = require("./methods/set");
47
+ var import_classList = require("./mixins/classList");
47
48
  var import_iterate = require("./iterate");
48
49
  var import_options = __toESM(require("./cache/options"), 1);
49
50
  var import_component = require("./utils/component");
50
- var import_set = require("./methods/set");
51
51
  const ENV = "development";
52
52
  const create = (element, parent, key, options = import_options.default.create || {}) => {
53
53
  if (options && !import_options.default.create) {
@@ -80,7 +80,7 @@ const create = (element, parent, key, options = import_options.default.create ||
80
80
  if (checkIfPrimitive(element)) {
81
81
  element = applyValueAsText(element, parent, key);
82
82
  }
83
- const assignedKey = (element.key || key || (0, import_utils.createKey)()).toString();
83
+ const assignedKey = (key || element.key || (0, import_utils.createKey)()).toString();
84
84
  if ((0, import_component.checkIfKeyIsComponent)(assignedKey)) {
85
85
  element = (0, import_component.applyKeyComponentAsExtend)(element, parent, assignedKey);
86
86
  }
@@ -121,7 +121,7 @@ const create = (element, parent, key, options = import_options.default.create ||
121
121
  if (initReturns === false)
122
122
  return element;
123
123
  (0, import_event.triggerEventOn)("beforeClassAssign", element, options);
124
- (0, import_classlist.assignClass)(element);
124
+ (0, import_classList.assignClass)(element);
125
125
  renderElement(element, parent, options);
126
126
  if (parent.__ref && parent.__ref.__children)
127
127
  parent.__ref.__children.push(element.key);
@@ -130,7 +130,7 @@ const create = (element, parent, key, options = import_options.default.create ||
130
130
  };
131
131
  const renderElement = (element, parent, options) => {
132
132
  const { __ref: ref, key } = element;
133
- (0, import_node2.default)(element, options);
133
+ (0, import_node.default)(element, options);
134
134
  if (!ref.__if)
135
135
  return element;
136
136
  (0, import_render.assignNode)(element, parent, key);
@@ -160,7 +160,7 @@ const checkIf = (element, parent) => {
160
160
  if ((0, import_utils.isFunction)(element.if)) {
161
161
  const ifPassed = element.if(element, element.state);
162
162
  if (!ifPassed) {
163
- const ifFragment = (0, import_node.cacheNode)({ tag: "fragment" });
163
+ const ifFragment = (0, import_node2.cacheNode)({ tag: "fragment" });
164
164
  ref.__ifFragment = (0, import_render.appendNode)(ifFragment, parent.node);
165
165
  delete ref.__if;
166
166
  } else
@@ -202,7 +202,7 @@ const addCaching = (element, parent) => {
202
202
  };
203
203
  const resolveExtends = (element, parent, options) => {
204
204
  const { __ref } = element;
205
- element.tag = (0, import_node.detectTag)(element);
205
+ element.tag = (0, import_node2.detectTag)(element);
206
206
  if (!__ref.__exec)
207
207
  __ref.__exec = {};
208
208
  if (!__ref.__attr)
@@ -50,7 +50,7 @@ const applyExtend = (element, parent, options = {}) => {
50
50
  return;
51
51
  childExtendStack = (0, import_utils2.getExtendStack)(parent.childExtend);
52
52
  if (parent.childExtendRecursive) {
53
- const canExtendRecursive = !(props == null ? void 0 : props.ignoreChildExtendRecursive) && element.key !== "__text";
53
+ const canExtendRecursive = !props.ignoreChildExtendRecursive && element.key !== "__text";
54
54
  if (canExtendRecursive) {
55
55
  const childExtendRecursiveStack = (0, import_utils2.getExtendStack)(parent.childExtendRecursive);
56
56
  childExtendStack = childExtendStack.concat(childExtendRecursiveStack);
package/dist/cjs/set.js CHANGED
@@ -39,8 +39,9 @@ var import_content = require("./mixins/content");
39
39
  const set = function(params, options = {}, el) {
40
40
  const element = el || this;
41
41
  const __contentRef = element.content && element.content.__ref;
42
- if (__contentRef && __contentRef.__cached && (0, import_utils.isEqualDeep)(params, element.content))
42
+ if (__contentRef && __contentRef.__cached && (0, import_utils.isEqualDeep)(params, element.content)) {
43
43
  return element;
44
+ }
44
45
  (0, import_content.removeContent)(element);
45
46
  if (params) {
46
47
  const { childExtend } = params;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- var import_element = require("../../src/element");
3
- const dom = (0, import_element.create)({});
2
+ var import__ = require("../");
3
+ const dom = (0, import__.create)({});
4
4
  test("should create EMPTY element", () => {
5
5
  expect(dom).toHaveProperty("key");
6
6
  expect(dom).toHaveProperty("state");
@@ -18,30 +18,30 @@ test("must be able to create valid PATH", () => {
18
18
  });
19
19
  test("if it HAS a NODE, don't recreate", () => {
20
20
  const node = document.createElement("div");
21
- const dom2 = (0, import_element.create)({ node });
21
+ const dom2 = (0, import__.create)({ node });
22
22
  expect(dom2.node.parentElement).toBe(document.body);
23
23
  });
24
24
  test("create with number", () => {
25
- const numb = (0, import_element.create)(0);
25
+ const numb = (0, import__.create)(0);
26
26
  expect(numb.text).toBe(0);
27
27
  expect(numb.tag).toBe("string");
28
28
  expect(numb.node.nodeType).toBe(3);
29
29
  });
30
30
  test("create with string", () => {
31
- const str = (0, import_element.create)("hello");
31
+ const str = (0, import__.create)("hello");
32
32
  expect(str.text).toBe("hello");
33
33
  expect(str.tag).toBe("string");
34
34
  expect(str.node.nodeType).toBe(3);
35
35
  });
36
36
  test("creating conditions", () => {
37
- const element = (0, import_element.create)({
37
+ const element = (0, import__.create)({
38
38
  data: { visible: true },
39
39
  if: (element2) => element2.data.visible
40
40
  });
41
41
  expect(element.tag).toBe("div");
42
42
  });
43
43
  test("creating nesting", () => {
44
- const element = (0, import_element.create)({
44
+ const element = (0, import__.create)({
45
45
  header: {
46
46
  h1: {}
47
47
  }
@@ -0,0 +1,28 @@
1
+ const { isMethod, METHODS } = require("../dist/cjs");
2
+ describe("isMethod", () => {
3
+ test("returns true if parameter is a method", () => {
4
+ const validMethod = "set";
5
+ const result = isMethod(validMethod);
6
+ expect(result).toBe(true);
7
+ });
8
+ test("returns false if parameter is not a method", () => {
9
+ const invalidMethod = "invalidMethod";
10
+ const result = isMethod(invalidMethod);
11
+ expect(result).toBe(false);
12
+ });
13
+ test("returns false if parameter is not a string", () => {
14
+ const invalidParam = 123;
15
+ const result = isMethod(invalidParam);
16
+ expect(result).toBe(false);
17
+ });
18
+ test("returns true if parameter is a valid method in the METHODS array", () => {
19
+ const validMethod = METHODS[0];
20
+ const result = isMethod(validMethod);
21
+ expect(result).toBe(true);
22
+ });
23
+ test("returns false if parameter is not a valid method in the METHODS array", () => {
24
+ const invalidMethod = "invalidMethod";
25
+ const result = isMethod(invalidMethod);
26
+ expect(result).toBe(false);
27
+ });
28
+ });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- var import_element = require("../../src/element");
3
- const element = (0, import_element.create)({});
2
+ var import__ = require("../");
3
+ const element = (0, import__.create)({});
4
4
  test("should SET element", () => {
5
5
  element.set({ text: "test" });
6
6
  expect(element.content.text).toBe("test");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- var import_element = require("../../src/element");
3
- const element = (0, import_element.create)({});
2
+ var import__ = require("../");
3
+ const element = (0, import__.create)({});
4
4
  test("should UPDATE element", () => {
5
5
  expect(element.text).toBeUndefined();
6
6
  element.update("test");
package/extend.js CHANGED
@@ -45,7 +45,7 @@ export const applyExtend = (element, parent, options = {}) => {
45
45
 
46
46
  // if (parent.childExtendRecursive && (props && !props.ignoreChildExtendRecursive)) {
47
47
  if (parent.childExtendRecursive) {
48
- const canExtendRecursive = !props?.ignoreChildExtendRecursive && element.key !== '__text'
48
+ const canExtendRecursive = !props.ignoreChildExtendRecursive && element.key !== '__text'
49
49
  if (canExtendRecursive) {
50
50
  const childExtendRecursiveStack = getExtendStack(parent.childExtendRecursive)
51
51
  // add error if childExtendRecursive contains element which goes to infinite loop
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "2.4.4",
3
+ "version": "2.4.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -31,7 +31,7 @@
31
31
  "@domql/state": "latest",
32
32
  "@domql/utils": "latest"
33
33
  },
34
- "gitHead": "7cd7195bfa99a253070a8db387483bb28720bf39",
34
+ "gitHead": "7d5af56fe712bac2369db9e07e8ec70df585764e",
35
35
  "devDependencies": {
36
36
  "@babel/core": "^7.12.0"
37
37
  }
package/set.js CHANGED
@@ -11,7 +11,9 @@ const set = function (params, options = {}, el) {
11
11
  const element = el || this
12
12
  const __contentRef = element.content && element.content.__ref
13
13
 
14
- if (__contentRef && __contentRef.__cached && isEqualDeep(params, element.content)) return element
14
+ if (__contentRef && __contentRef.__cached && isEqualDeep(params, element.content)) {
15
+ return element
16
+ }
15
17
  removeContent(element)
16
18
 
17
19
  if (params) {
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { create } from '../../src/element'
3
+ import { create } from '../'
4
4
 
5
5
  const dom = create({})
6
6
 
@@ -0,0 +1,38 @@
1
+ const { isMethod, METHODS } = require('../dist/cjs')
2
+
3
+ describe('isMethod', () => {
4
+ test('returns true if parameter is a method', () => {
5
+ const validMethod = 'set'
6
+ const result = isMethod(validMethod)
7
+
8
+ expect(result).toBe(true)
9
+ })
10
+
11
+ test('returns false if parameter is not a method', () => {
12
+ const invalidMethod = 'invalidMethod'
13
+ const result = isMethod(invalidMethod)
14
+
15
+ expect(result).toBe(false)
16
+ })
17
+
18
+ test('returns false if parameter is not a string', () => {
19
+ const invalidParam = 123
20
+ const result = isMethod(invalidParam)
21
+
22
+ expect(result).toBe(false)
23
+ })
24
+
25
+ test('returns true if parameter is a valid method in the METHODS array', () => {
26
+ const validMethod = METHODS[0]
27
+ const result = isMethod(validMethod)
28
+
29
+ expect(result).toBe(true)
30
+ })
31
+
32
+ test('returns false if parameter is not a valid method in the METHODS array', () => {
33
+ const invalidMethod = 'invalidMethod'
34
+ const result = isMethod(invalidMethod)
35
+
36
+ expect(result).toBe(false)
37
+ })
38
+ })
package/test/set.test.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { create } from '../../src/element'
3
+ import { create } from '../'
4
4
 
5
5
  const element = create({})
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { create } from '../../src/element'
3
+ import { create } from '../'
4
4
 
5
5
  const element = create({})
6
6