@domql/utils 2.3.84 → 2.3.90

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/array.js CHANGED
@@ -1 +1,22 @@
1
1
  'use strict'
2
+
3
+ import { isArray, isNumber, isString } from './types'
4
+
5
+ export const arrayContainsOtherArray = (arr1, arr2) => {
6
+ return arr2.every(val => arr1.includes(val))
7
+ }
8
+
9
+ export const removeFromArray = (arr, index) => {
10
+ if (isString(index)) index = parseInt(index)
11
+ if (isNumber(index)) {
12
+ if (index < 0 || index >= arr.length || isNaN(index)) {
13
+ throw new Error('Invalid index')
14
+ }
15
+ arr.splice(index, 1)
16
+ } else if (isArray(index)) {
17
+ index.forEach(idx => removeFromArray(arr, idx))
18
+ } else {
19
+ throw new Error('Invalid index')
20
+ }
21
+ return arr
22
+ }
package/dist/cjs/array.js CHANGED
@@ -1 +1,43 @@
1
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 array_exports = {};
20
+ __export(array_exports, {
21
+ arrayContainsOtherArray: () => arrayContainsOtherArray,
22
+ removeFromArray: () => removeFromArray
23
+ });
24
+ module.exports = __toCommonJS(array_exports);
25
+ var import_types = require("./types");
26
+ const arrayContainsOtherArray = (arr1, arr2) => {
27
+ return arr2.every((val) => arr1.includes(val));
28
+ };
29
+ const removeFromArray = (arr, index) => {
30
+ if ((0, import_types.isString)(index))
31
+ index = parseInt(index);
32
+ if ((0, import_types.isNumber)(index)) {
33
+ if (index < 0 || index >= arr.length || isNaN(index)) {
34
+ throw new Error("Invalid index");
35
+ }
36
+ arr.splice(index, 1);
37
+ } else if ((0, import_types.isArray)(index)) {
38
+ index.forEach((idx) => removeFromArray(arr, idx));
39
+ } else {
40
+ throw new Error("Invalid index");
41
+ }
42
+ return arr;
43
+ };
@@ -37,7 +37,8 @@ __export(object_exports, {
37
37
  mergeIfExisted: () => mergeIfExisted,
38
38
  overwrite: () => overwrite,
39
39
  overwriteDeep: () => overwriteDeep,
40
- overwriteObj: () => overwriteObj
40
+ overwriteObj: () => overwriteObj,
41
+ removeFromObject: () => removeFromObject
41
42
  });
42
43
  module.exports = __toCommonJS(object_exports);
43
44
  var import_globals = require("@domql/globals");
@@ -69,14 +70,13 @@ const merge = (element, obj) => {
69
70
  };
70
71
  const deepMerge = (element, extend) => {
71
72
  for (const e in extend) {
73
+ const elementProp = element[e];
72
74
  const extendProp = extend[e];
73
75
  if (e === "parent" || e === "props")
74
76
  continue;
75
- if (element[e] === void 0) {
76
- element[e] = extendProp;
77
- } else if ((0, import_types.isObjectLike)(element[e]) && (0, import_types.isObjectLike)(extendProp)) {
78
- deepMerge(element[e], extendProp);
79
- } else {
77
+ if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {
78
+ deepMerge(elementProp, extendProp);
79
+ } else if (elementProp === void 0) {
80
80
  element[e] = extendProp;
81
81
  }
82
82
  }
@@ -324,3 +324,15 @@ const isEqualDeep = (param, element) => {
324
324
  }
325
325
  return true;
326
326
  };
327
+ const removeFromObject = (obj, props) => {
328
+ if (props === void 0 || props === null)
329
+ return obj;
330
+ if ((0, import_types.is)(props)("string", "number")) {
331
+ delete obj[props];
332
+ } else if ((0, import_types.isArray)(props)) {
333
+ props.forEach((prop) => delete obj[prop]);
334
+ } else {
335
+ throw new Error("Invalid input: props must be a string or an array of strings");
336
+ }
337
+ return obj;
338
+ };
package/object.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict'
2
2
 
3
3
  import { window } from '@domql/globals'
4
- import { isFunction, isObjectLike, isObject, isArray, isString } from './types.js'
4
+ import { isFunction, isObjectLike, isObject, isArray, isString, is } from './types.js'
5
5
 
6
6
  export const exec = (param, element, state, context) => {
7
7
  if (isFunction(param)) {
@@ -33,13 +33,12 @@ export const merge = (element, obj) => {
33
33
 
34
34
  export const deepMerge = (element, extend) => {
35
35
  for (const e in extend) {
36
+ const elementProp = element[e]
36
37
  const extendProp = extend[e]
37
38
  if (e === 'parent' || e === 'props') continue
38
- if (element[e] === undefined) {
39
- element[e] = extendProp
40
- } else if (isObjectLike(element[e]) && isObjectLike(extendProp)) {
41
- deepMerge(element[e], extendProp)
42
- } else {
39
+ if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
40
+ deepMerge(elementProp, extendProp)
41
+ } else if (elementProp === undefined) {
43
42
  element[e] = extendProp
44
43
  }
45
44
  }
@@ -333,3 +332,15 @@ export const isEqualDeep = (param, element) => {
333
332
  }
334
333
  return true
335
334
  }
335
+
336
+ export const removeFromObject = (obj, props) => {
337
+ if (props === undefined || props === null) return obj
338
+ if (is(props)('string', 'number')) {
339
+ delete obj[props]
340
+ } else if (isArray(props)) {
341
+ props.forEach(prop => delete obj[prop])
342
+ } else {
343
+ throw new Error('Invalid input: props must be a string or an array of strings')
344
+ }
345
+ return obj
346
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/utils",
3
- "version": "2.3.84",
3
+ "version": "2.3.90",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -22,5 +22,5 @@
22
22
  "@domql/globals": "latest",
23
23
  "@domql/tags": "latest"
24
24
  },
25
- "gitHead": "f009c1f04bd530e12af3edf3cb168154a7a55e11"
25
+ "gitHead": "ab1a0f74fc9a7cc67cd5e732c7a8577d98fbb9b0"
26
26
  }