@domql/utils 2.5.113 → 2.5.114
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/object.js +24 -18
- package/object.js +26 -18
- package/package.json +2 -2
package/dist/cjs/object.js
CHANGED
|
@@ -468,29 +468,35 @@ const isEqualDeep = (param, element, visited = /* @__PURE__ */ new Set()) => {
|
|
|
468
468
|
return true;
|
|
469
469
|
};
|
|
470
470
|
const deepContains = (obj1, obj2) => {
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
if (!deepContains(obj1[i], obj2[i])) {
|
|
471
|
+
const stack = [{ obj1, obj2 }];
|
|
472
|
+
while (stack.length) {
|
|
473
|
+
const { obj1: obj12, obj2: obj22 } = stack.pop();
|
|
474
|
+
if (typeof obj12 !== typeof obj22) {
|
|
475
|
+
return false;
|
|
476
|
+
}
|
|
477
|
+
if ((0, import_types.isObjectLike)(obj12)) {
|
|
478
|
+
if (Array.isArray(obj12) && Array.isArray(obj22)) {
|
|
479
|
+
if (obj12.length !== obj22.length) {
|
|
481
480
|
return false;
|
|
482
481
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
482
|
+
for (let i = 0; i < obj12.length; i++) {
|
|
483
|
+
stack.push({ obj1: obj12[i], obj2: obj22[i] });
|
|
484
|
+
}
|
|
485
|
+
} else if ((0, import_types.isObjectLike)(obj12) && obj22 !== null) {
|
|
486
|
+
for (const key in obj12) {
|
|
487
|
+
if (Object.prototype.hasOwnProperty.call(obj12, key)) {
|
|
488
|
+
if (!Object.prototype.hasOwnProperty.call(obj22, key)) {
|
|
489
|
+
return false;
|
|
490
|
+
}
|
|
491
|
+
stack.push({ obj1: obj12[key], obj2: obj22[key] });
|
|
492
|
+
}
|
|
489
493
|
}
|
|
490
494
|
}
|
|
495
|
+
} else {
|
|
496
|
+
if (obj12 !== obj22) {
|
|
497
|
+
return false;
|
|
498
|
+
}
|
|
491
499
|
}
|
|
492
|
-
} else {
|
|
493
|
-
return obj2 === obj1;
|
|
494
500
|
}
|
|
495
501
|
return true;
|
|
496
502
|
};
|
package/object.js
CHANGED
|
@@ -539,30 +539,38 @@ export const isEqualDeep = (param, element, visited = new Set()) => {
|
|
|
539
539
|
}
|
|
540
540
|
|
|
541
541
|
export const deepContains = (obj1, obj2) => {
|
|
542
|
-
|
|
543
|
-
return false
|
|
544
|
-
}
|
|
542
|
+
const stack = [{ obj1, obj2 }]
|
|
545
543
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
544
|
+
while (stack.length) {
|
|
545
|
+
const { obj1, obj2 } = stack.pop()
|
|
546
|
+
|
|
547
|
+
if (typeof obj1 !== typeof obj2) {
|
|
548
|
+
return false
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
if (isObjectLike(obj1)) {
|
|
552
|
+
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
553
|
+
if (obj1.length !== obj2.length) {
|
|
553
554
|
return false
|
|
554
555
|
}
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
556
|
+
for (let i = 0; i < obj1.length; i++) {
|
|
557
|
+
stack.push({ obj1: obj1[i], obj2: obj2[i] })
|
|
558
|
+
}
|
|
559
|
+
} else if (isObjectLike(obj1) && obj2 !== null) {
|
|
560
|
+
for (const key in obj1) {
|
|
561
|
+
if (Object.prototype.hasOwnProperty.call(obj1, key)) {
|
|
562
|
+
if (!Object.prototype.hasOwnProperty.call(obj2, key)) {
|
|
563
|
+
return false
|
|
564
|
+
}
|
|
565
|
+
stack.push({ obj1: obj1[key], obj2: obj2[key] })
|
|
566
|
+
}
|
|
561
567
|
}
|
|
562
568
|
}
|
|
569
|
+
} else {
|
|
570
|
+
if (obj1 !== obj2) {
|
|
571
|
+
return false
|
|
572
|
+
}
|
|
563
573
|
}
|
|
564
|
-
} else {
|
|
565
|
-
return obj2 === obj1
|
|
566
574
|
}
|
|
567
575
|
|
|
568
576
|
return true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/utils",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.114",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"build": "yarn build:cjs",
|
|
24
24
|
"prepublish": "rimraf -I dist && yarn build && yarn copy:package:cjs"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "61b7ecee05aaf0d6682e5f3cdb11f0091e880f3d",
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@babel/core": "^7.12.0"
|
|
29
29
|
}
|