@domql/utils 3.0.7 → 3.1.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/dist/cjs/env.js CHANGED
@@ -26,7 +26,7 @@ __export(env_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(env_exports);
28
28
  const NODE_ENV = "development";
29
- const isProduction = (env = NODE_ENV) => env === "production" || env === "prod" || env !== "development" && env !== "dev" && env !== "test";
30
- const isTest = (env = NODE_ENV) => env === "test";
29
+ const isProduction = (env = NODE_ENV) => env === "production" || env === "prod" || env !== "development" && env !== "dev" && env !== "testing";
30
+ const isTest = (env = NODE_ENV) => env === "testing";
31
31
  const isDevelopment = (env = NODE_ENV) => env === "development" || env === "dev";
32
32
  const getNev = (key, env = NODE_ENV) => env[key];
@@ -23,15 +23,15 @@ __export(events_exports, {
23
23
  module.exports = __toCommonJS(events_exports);
24
24
  var import_string = require("./string.js");
25
25
  var import_types = require("./types.js");
26
- const addEventFromProps = (key, element) => {
27
- const { props, on } = element;
26
+ function addEventFromProps(key, obj) {
27
+ const { props, on } = obj;
28
28
  const eventName = (0, import_string.lowercaseFirstLetter)(key.split("on")[1]);
29
29
  const origEvent = on[eventName];
30
30
  const funcFromProps = props[key];
31
31
  if ((0, import_types.isFunction)(origEvent)) {
32
- on[eventName] = (...args) => {
33
- const originalEventRetunrs = origEvent(...args);
34
- if (originalEventRetunrs !== false) funcFromProps(...args);
32
+ on[eventName] = async (...args) => {
33
+ const originalEventRetunrs = await origEvent(...args);
34
+ if (originalEventRetunrs !== false) await funcFromProps(...args);
35
35
  };
36
36
  } else on[eventName] = funcFromProps;
37
- };
37
+ }
@@ -97,7 +97,7 @@ const addExtends = (newExtends, element) => {
97
97
  };
98
98
  const concatAddExtends = (newExtend, element) => {
99
99
  if (!newExtend) return element;
100
- const { extend: elementExtend } = element;
100
+ const { extends: elementExtend } = element;
101
101
  const originalArray = (0, import_types.isArray)(elementExtend) ? elementExtend : [elementExtend];
102
102
  const receivedArray = (0, import_types.isArray)(newExtend) ? newExtend : [newExtend];
103
103
  return {
package/dist/cjs/props.js CHANGED
@@ -28,6 +28,7 @@ __export(props_exports, {
28
28
  pickupPropsFromElement: () => pickupPropsFromElement,
29
29
  propExists: () => propExists,
30
30
  propertizeElement: () => propertizeElement,
31
+ propertizeUpdate: () => propertizeUpdate,
31
32
  removeDuplicateProps: () => removeDuplicateProps,
32
33
  setPropsPrototype: () => setPropsPrototype,
33
34
  syncProps: () => syncProps,
@@ -50,53 +51,57 @@ const createProps = (element, parent, key) => {
50
51
  }
51
52
  return { ...props };
52
53
  };
53
- function pickupPropsFromElement(element, opts = {}) {
54
+ function pickupPropsFromElement(obj, opts = {}) {
54
55
  var _a, _b, _c;
55
56
  const cachedKeys = opts.cachedKeys || [];
56
- for (const key in element) {
57
- const value = element[key];
58
- const hasDefine = (0, import_types.isObject)((_a = element.define) == null ? void 0 : _a[key]);
59
- const hasGlobalDefine = (0, import_types.isObject)((_c = (_b = element.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
57
+ for (const key in obj) {
58
+ const value = obj[key];
59
+ const hasDefine = (0, import_types.isObject)((_a = this.define) == null ? void 0 : _a[key]);
60
+ const hasGlobalDefine = (0, import_types.isObject)((_c = (_b = this.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
60
61
  const isElement = /^[A-Z]/.test(key) || /^\d+$/.test(key);
61
62
  const isBuiltin = import_keys.DOMQ_PROPERTIES.includes(key);
62
63
  if (!isElement && !isBuiltin && !hasDefine && !hasGlobalDefine) {
63
- element.props[key] = value;
64
- delete element[key];
64
+ obj.props[key] = value;
65
+ delete obj[key];
65
66
  cachedKeys.push(key);
66
67
  }
67
68
  }
68
- return element;
69
+ return obj;
69
70
  }
70
- function pickupElementFromProps(element, opts) {
71
+ function pickupElementFromProps(obj = this, opts) {
71
72
  var _a, _b, _c;
72
73
  const cachedKeys = opts.cachedKeys || [];
73
- for (const key in element.props) {
74
- const value = element.props[key];
74
+ for (const key in obj.props) {
75
+ const value = obj.props[key];
75
76
  const isEvent = key.startsWith("on") && key.length > 2;
76
77
  const isFn = (0, import_types.isFunction)(value);
77
78
  if (isEvent && isFn) {
78
- (0, import_events.addEventFromProps)(key, element);
79
- delete element.props[key];
79
+ (0, import_events.addEventFromProps)(key, obj);
80
+ delete obj.props[key];
80
81
  continue;
81
82
  }
82
83
  if (cachedKeys.includes(key)) continue;
83
- const hasDefine = (0, import_types.isObject)((_a = element.define) == null ? void 0 : _a[key]);
84
- const hasGlobalDefine = (0, import_types.isObject)((_c = (_b = element.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
84
+ const hasDefine = (0, import_types.isObject)((_a = this.define) == null ? void 0 : _a[key]);
85
+ const hasGlobalDefine = (0, import_types.isObject)((_c = (_b = this.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
85
86
  const isElement = /^[A-Z]/.test(key) || /^\d+$/.test(key);
86
87
  const isBuiltin = import_keys.DOMQ_PROPERTIES.includes(key);
87
88
  if (isElement || isBuiltin || hasDefine || hasGlobalDefine) {
88
- element[key] = value;
89
- delete element.props[key];
89
+ obj[key] = value;
90
+ if (obj.props) delete obj.props[key];
90
91
  }
91
92
  }
92
- return element;
93
+ return obj;
93
94
  }
94
- function propertizeElement(element, opts = {}) {
95
+ function propertizeElement(element = this) {
95
96
  const cachedKeys = [];
96
- pickupPropsFromElement(element, { cachedKeys });
97
- pickupElementFromProps(element, { cachedKeys });
97
+ pickupPropsFromElement.call(this, element, { cachedKeys });
98
+ pickupElementFromProps.call(this, element, { cachedKeys });
98
99
  return element;
99
100
  }
101
+ function propertizeUpdate(params = {}) {
102
+ const obj = (0, import_object.deepMerge)({ on: {}, props: {} }, params);
103
+ return propertizeElement.call(this, obj);
104
+ }
100
105
  const objectizeStringProperty = (propValue) => {
101
106
  if ((0, import_types.is)(propValue)("string", "number")) {
102
107
  return { inheritedString: propValue };
package/dist/esm/env.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const NODE_ENV = "development";
2
- const isProduction = (env = NODE_ENV) => env === "production" || env === "prod" || env !== "development" && env !== "dev" && env !== "test";
3
- const isTest = (env = NODE_ENV) => env === "test";
2
+ const isProduction = (env = NODE_ENV) => env === "production" || env === "prod" || env !== "development" && env !== "dev" && env !== "testing";
3
+ const isTest = (env = NODE_ENV) => env === "testing";
4
4
  const isDevelopment = (env = NODE_ENV) => env === "development" || env === "dev";
5
5
  const getNev = (key, env = NODE_ENV) => env[key];
6
6
  export {
@@ -1,17 +1,17 @@
1
1
  import { lowercaseFirstLetter } from "./string.js";
2
2
  import { isFunction } from "./types.js";
3
- const addEventFromProps = (key, element) => {
4
- const { props, on } = element;
3
+ function addEventFromProps(key, obj) {
4
+ const { props, on } = obj;
5
5
  const eventName = lowercaseFirstLetter(key.split("on")[1]);
6
6
  const origEvent = on[eventName];
7
7
  const funcFromProps = props[key];
8
8
  if (isFunction(origEvent)) {
9
- on[eventName] = (...args) => {
10
- const originalEventRetunrs = origEvent(...args);
11
- if (originalEventRetunrs !== false) funcFromProps(...args);
9
+ on[eventName] = async (...args) => {
10
+ const originalEventRetunrs = await origEvent(...args);
11
+ if (originalEventRetunrs !== false) await funcFromProps(...args);
12
12
  };
13
13
  } else on[eventName] = funcFromProps;
14
- };
14
+ }
15
15
  export {
16
16
  addEventFromProps
17
17
  };
@@ -67,7 +67,7 @@ const addExtends = (newExtends, element) => {
67
67
  };
68
68
  const concatAddExtends = (newExtend, element) => {
69
69
  if (!newExtend) return element;
70
- const { extend: elementExtend } = element;
70
+ const { extends: elementExtend } = element;
71
71
  const originalArray = isArray(elementExtend) ? elementExtend : [elementExtend];
72
72
  const receivedArray = isArray(newExtend) ? newExtend : [newExtend];
73
73
  return __spreadProps(__spreadValues({}, element), {
package/dist/esm/props.js CHANGED
@@ -29,53 +29,57 @@ const createProps = (element, parent, key) => {
29
29
  }
30
30
  return __spreadValues({}, props);
31
31
  };
32
- function pickupPropsFromElement(element, opts = {}) {
32
+ function pickupPropsFromElement(obj, opts = {}) {
33
33
  var _a, _b, _c;
34
34
  const cachedKeys = opts.cachedKeys || [];
35
- for (const key in element) {
36
- const value = element[key];
37
- const hasDefine = isObject((_a = element.define) == null ? void 0 : _a[key]);
38
- const hasGlobalDefine = isObject((_c = (_b = element.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
35
+ for (const key in obj) {
36
+ const value = obj[key];
37
+ const hasDefine = isObject((_a = this.define) == null ? void 0 : _a[key]);
38
+ const hasGlobalDefine = isObject((_c = (_b = this.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
39
39
  const isElement = /^[A-Z]/.test(key) || /^\d+$/.test(key);
40
40
  const isBuiltin = DOMQ_PROPERTIES.includes(key);
41
41
  if (!isElement && !isBuiltin && !hasDefine && !hasGlobalDefine) {
42
- element.props[key] = value;
43
- delete element[key];
42
+ obj.props[key] = value;
43
+ delete obj[key];
44
44
  cachedKeys.push(key);
45
45
  }
46
46
  }
47
- return element;
47
+ return obj;
48
48
  }
49
- function pickupElementFromProps(element, opts) {
49
+ function pickupElementFromProps(obj = this, opts) {
50
50
  var _a, _b, _c;
51
51
  const cachedKeys = opts.cachedKeys || [];
52
- for (const key in element.props) {
53
- const value = element.props[key];
52
+ for (const key in obj.props) {
53
+ const value = obj.props[key];
54
54
  const isEvent = key.startsWith("on") && key.length > 2;
55
55
  const isFn = isFunction(value);
56
56
  if (isEvent && isFn) {
57
- addEventFromProps(key, element);
58
- delete element.props[key];
57
+ addEventFromProps(key, obj);
58
+ delete obj.props[key];
59
59
  continue;
60
60
  }
61
61
  if (cachedKeys.includes(key)) continue;
62
- const hasDefine = isObject((_a = element.define) == null ? void 0 : _a[key]);
63
- const hasGlobalDefine = isObject((_c = (_b = element.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
62
+ const hasDefine = isObject((_a = this.define) == null ? void 0 : _a[key]);
63
+ const hasGlobalDefine = isObject((_c = (_b = this.context) == null ? void 0 : _b.define) == null ? void 0 : _c[key]);
64
64
  const isElement = /^[A-Z]/.test(key) || /^\d+$/.test(key);
65
65
  const isBuiltin = DOMQ_PROPERTIES.includes(key);
66
66
  if (isElement || isBuiltin || hasDefine || hasGlobalDefine) {
67
- element[key] = value;
68
- delete element.props[key];
67
+ obj[key] = value;
68
+ if (obj.props) delete obj.props[key];
69
69
  }
70
70
  }
71
- return element;
71
+ return obj;
72
72
  }
73
- function propertizeElement(element, opts = {}) {
73
+ function propertizeElement(element = this) {
74
74
  const cachedKeys = [];
75
- pickupPropsFromElement(element, { cachedKeys });
76
- pickupElementFromProps(element, { cachedKeys });
75
+ pickupPropsFromElement.call(this, element, { cachedKeys });
76
+ pickupElementFromProps.call(this, element, { cachedKeys });
77
77
  return element;
78
78
  }
79
+ function propertizeUpdate(params = {}) {
80
+ const obj = deepMerge({ on: {}, props: {} }, params);
81
+ return propertizeElement.call(this, obj);
82
+ }
79
83
  const objectizeStringProperty = (propValue) => {
80
84
  if (is(propValue)("string", "number")) {
81
85
  return { inheritedString: propValue };
@@ -208,6 +212,7 @@ export {
208
212
  pickupPropsFromElement,
209
213
  propExists,
210
214
  propertizeElement,
215
+ propertizeUpdate,
211
216
  removeDuplicateProps,
212
217
  setPropsPrototype,
213
218
  syncProps,
package/env.js CHANGED
@@ -5,8 +5,8 @@ export const NODE_ENV = process.env.NODE_ENV
5
5
  export const isProduction = (env = NODE_ENV) =>
6
6
  env === 'production' ||
7
7
  env === 'prod' ||
8
- (env !== 'development' && env !== 'dev' && env !== 'test')
9
- export const isTest = (env = NODE_ENV) => env === 'test'
8
+ (env !== 'development' && env !== 'dev' && env !== 'testing')
9
+ export const isTest = (env = NODE_ENV) => env === 'testing'
10
10
  export const isDevelopment = (env = NODE_ENV) =>
11
11
  env === 'development' || env === 'dev'
12
12
 
package/events.js CHANGED
@@ -3,15 +3,15 @@
3
3
  import { lowercaseFirstLetter } from './string.js'
4
4
  import { isFunction } from './types.js'
5
5
 
6
- export const addEventFromProps = (key, element) => {
7
- const { props, on } = element
6
+ export function addEventFromProps (key, obj) {
7
+ const { props, on } = obj
8
8
  const eventName = lowercaseFirstLetter(key.split('on')[1])
9
9
  const origEvent = on[eventName]
10
10
  const funcFromProps = props[key]
11
11
  if (isFunction(origEvent)) {
12
- on[eventName] = (...args) => {
13
- const originalEventRetunrs = origEvent(...args)
14
- if (originalEventRetunrs !== false) funcFromProps(...args)
12
+ on[eventName] = async (...args) => {
13
+ const originalEventRetunrs = await origEvent(...args)
14
+ if (originalEventRetunrs !== false) await funcFromProps(...args)
15
15
  }
16
16
  } else on[eventName] = funcFromProps
17
17
  }
package/extends.js CHANGED
@@ -70,7 +70,7 @@ export const addExtends = (newExtends, element) => {
70
70
 
71
71
  export const concatAddExtends = (newExtend, element) => {
72
72
  if (!newExtend) return element
73
- const { extend: elementExtend } = element
73
+ const { extends: elementExtend } = element
74
74
  const originalArray = isArray(elementExtend) ? elementExtend : [elementExtend]
75
75
  const receivedArray = isArray(newExtend) ? newExtend : [newExtend]
76
76
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/utils",
3
- "version": "3.0.7",
3
+ "version": "3.1.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -21,11 +21,11 @@
21
21
  "copy:package:cjs": "cp ../../build/package-cjs.json dist/cjs/package.json",
22
22
  "build:esm": "npx esbuild *.js --target=es2017 --format=esm --outdir=dist/esm",
23
23
  "build:cjs": "npx esbuild *.js --target=node16 --format=cjs --outdir=dist/cjs",
24
- "build": "rimraf -I dist; npm run build:cjs; npm run build:esm",
24
+ "build": "npx rimraf -I dist; npm run build:cjs; npm run build:esm",
25
25
  "prepublish": "npm run build; npm run copy:package:cjs"
26
26
  },
27
- "gitHead": "ad8d42d52cce0024e5df6b2e364f660e0e4dd02d",
27
+ "gitHead": "39fb7a8c07355468ccce79e2f787ca3fa0715692",
28
28
  "devDependencies": {
29
- "@babel/core": "^7.12.0"
29
+ "@babel/core": "^7.26.0"
30
30
  }
31
31
  }
package/props.js CHANGED
@@ -18,70 +18,76 @@ export const createProps = (element, parent, key) => {
18
18
  return { ...props }
19
19
  }
20
20
 
21
- export function pickupPropsFromElement (element, opts = {}) {
21
+ export function pickupPropsFromElement (obj, opts = {}) {
22
22
  const cachedKeys = opts.cachedKeys || []
23
23
 
24
- for (const key in element) {
25
- const value = element[key]
24
+ for (const key in obj) {
25
+ const value = obj[key]
26
26
 
27
- const hasDefine = isObject(element.define?.[key])
28
- const hasGlobalDefine = isObject(element.context?.define?.[key])
27
+ const hasDefine = isObject(this.define?.[key])
28
+ const hasGlobalDefine = isObject(this.context?.define?.[key])
29
29
  const isElement = /^[A-Z]/.test(key) || /^\d+$/.test(key)
30
30
  const isBuiltin = DOMQ_PROPERTIES.includes(key)
31
31
 
32
32
  // If it's not a special case, move to props
33
33
  if (!isElement && !isBuiltin && !hasDefine && !hasGlobalDefine) {
34
- element.props[key] = value
35
- delete element[key]
34
+ obj.props[key] = value
35
+ delete obj[key]
36
36
  cachedKeys.push(key)
37
37
  }
38
38
  }
39
39
 
40
- return element
40
+ return obj
41
41
  }
42
42
 
43
- export function pickupElementFromProps (element, opts) {
43
+ export function pickupElementFromProps (obj = this, opts) {
44
44
  const cachedKeys = opts.cachedKeys || []
45
45
 
46
- for (const key in element.props) {
47
- const value = element.props[key]
46
+ for (const key in obj.props) {
47
+ const value = obj.props[key]
48
48
 
49
49
  // Handle event handlers
50
50
  const isEvent = key.startsWith('on') && key.length > 2
51
51
  const isFn = isFunction(value)
52
52
 
53
53
  if (isEvent && isFn) {
54
- addEventFromProps(key, element)
55
- delete element.props[key]
54
+ addEventFromProps(key, obj)
55
+ delete obj.props[key]
56
56
  continue
57
57
  }
58
58
 
59
- // Skip if key was originally from element
59
+ // Skip if key was originally from obj
60
60
  if (cachedKeys.includes(key)) continue
61
61
 
62
- const hasDefine = isObject(element.define?.[key])
63
- const hasGlobalDefine = isObject(element.context?.define?.[key])
62
+ const hasDefine = isObject(this.define?.[key])
63
+ const hasGlobalDefine = isObject(this.context?.define?.[key])
64
64
  const isElement = /^[A-Z]/.test(key) || /^\d+$/.test(key)
65
65
  const isBuiltin = DOMQ_PROPERTIES.includes(key)
66
66
 
67
- // Move qualifying properties back to element root
67
+ // Move qualifying properties back to obj root
68
68
  if (isElement || isBuiltin || hasDefine || hasGlobalDefine) {
69
- element[key] = value
70
- delete element.props[key]
69
+ obj[key] = value
70
+
71
+ if (obj.props) delete obj.props[key]
71
72
  }
72
73
  }
73
74
 
74
- return element
75
+ return obj
75
76
  }
76
77
 
77
78
  // Helper function to maintain compatibility with original propertizeElement
78
- export function propertizeElement (element, opts = {}) {
79
+ export function propertizeElement (element = this) {
79
80
  const cachedKeys = []
80
- pickupPropsFromElement(element, { cachedKeys })
81
- pickupElementFromProps(element, { cachedKeys })
81
+ pickupPropsFromElement.call(this, element, { cachedKeys })
82
+ pickupElementFromProps.call(this, element, { cachedKeys })
82
83
  return element
83
84
  }
84
85
 
86
+ export function propertizeUpdate (params = {}) {
87
+ const obj = deepMerge({ on: {}, props: {} }, params)
88
+ return propertizeElement.call(this, obj)
89
+ }
90
+
85
91
  export const objectizeStringProperty = propValue => {
86
92
  if (is(propValue)('string', 'number')) {
87
93
  return { inheritedString: propValue }