@appartmint/mint 2.6.8 → 2.6.15
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/util/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,8BAAsB,UAAU;IAC5B;;OAEG;IACF,MAAM,CAAC,SAAS,CAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAI,OAAO;IAclD;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAI,OAAO;IA8BxD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,MAAM;IAIpD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,GAAG;IASrD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI,GAAG;IAStD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAI,GAAG;IAI7E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAI,GAAG;IAOjF;;OAEG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,GAAI,GAAG;IAO5E;;OAEG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,MAAM;IAIpD;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,MAAM;IAOxD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI,MAAM;IASzD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,SAAO,GAAI,GAAG;IAqCzE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIjE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/ts/imports/util/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,8BAAsB,UAAU;IAC5B;;OAEG;IACF,MAAM,CAAC,SAAS,CAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAI,OAAO;IAclD;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAI,OAAO;IA8BxD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,MAAM;IAIpD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,GAAG;IASrD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI,GAAG;IAStD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAI,GAAG;IAI7E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAI,GAAG;IAOjF;;OAEG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,GAAI,GAAG;IAO5E;;OAEG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,MAAM;IAIpD;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAI,MAAM;IAOxD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAI,MAAM;IASzD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,SAAO,GAAI,GAAG;IAqCzE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIjE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;CA+DjC;AACD,eAAe,UAAU,CAAC"}
|
package/dist/js/index.js
CHANGED
|
@@ -1709,23 +1709,53 @@ class MintObject {
|
|
|
1709
1709
|
* Create a deep copy of an object
|
|
1710
1710
|
*/
|
|
1711
1711
|
static deepClone(object) {
|
|
1712
|
-
//
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1712
|
+
// Only clone objects
|
|
1713
|
+
if (typeof object !== 'object' || object === null) {
|
|
1714
|
+
return object;
|
|
1715
|
+
}
|
|
1716
|
+
// Track object references to avoid circular references
|
|
1717
|
+
const seen = new WeakMap();
|
|
1718
|
+
const stack = [[object, Array.isArray(object) ? [] : {}]];
|
|
1719
|
+
// Run clone tasks
|
|
1720
|
+
while (stack.length) {
|
|
1721
|
+
const [source, clone, key] = stack.pop();
|
|
1722
|
+
if (key !== undefined) {
|
|
1723
|
+
const value = source[key];
|
|
1724
|
+
// Bind functions
|
|
1725
|
+
if (typeof value === 'function') {
|
|
1726
|
+
clone[key] = value.bind(clone);
|
|
1727
|
+
continue;
|
|
1728
|
+
}
|
|
1722
1729
|
// Primitives
|
|
1730
|
+
if (typeof value !== 'object' || value === null) {
|
|
1731
|
+
clone[key] = value;
|
|
1732
|
+
continue;
|
|
1733
|
+
}
|
|
1734
|
+
// Circular references
|
|
1735
|
+
if (seen.has(value)) {
|
|
1736
|
+
clone[key] = seen.get(value);
|
|
1737
|
+
continue;
|
|
1738
|
+
}
|
|
1739
|
+
// Object / Array
|
|
1740
|
+
clone[key] = Array.isArray(value) ? [] : {};
|
|
1741
|
+
seen.set(value, clone[key]);
|
|
1742
|
+
stack.push([value, clone[key]]);
|
|
1743
|
+
// No key, process full object
|
|
1723
1744
|
}
|
|
1724
1745
|
else {
|
|
1725
|
-
clone
|
|
1746
|
+
seen.set(source, clone);
|
|
1747
|
+
if (Array.isArray(source)) {
|
|
1748
|
+
source.forEach((_, index) => {
|
|
1749
|
+
stack.push([source, clone, index]);
|
|
1750
|
+
});
|
|
1751
|
+
continue;
|
|
1752
|
+
}
|
|
1753
|
+
Object.keys(source).forEach((key) => {
|
|
1754
|
+
stack.push([source, clone, key]);
|
|
1755
|
+
});
|
|
1726
1756
|
}
|
|
1727
1757
|
}
|
|
1728
|
-
return
|
|
1758
|
+
return seen.get(object);
|
|
1729
1759
|
}
|
|
1730
1760
|
}
|
|
1731
1761
|
;
|