valyrian.js 8.1.4 → 8.1.5
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/lib/utils/deep-freeze.d.ts +1 -1
- package/dist/lib/utils/deep-freeze.d.ts.map +1 -1
- package/dist/utils/index.js +19 -17
- package/dist/utils/index.js.map +2 -2
- package/dist/utils/index.min.js +1 -1
- package/dist/utils/index.min.js.map +1 -1
- package/dist/utils/index.mjs +19 -17
- package/dist/utils/index.mjs.map +2 -2
- package/lib/utils/deep-freeze.ts +23 -18
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function deepFreeze(obj: any, freezeClassInstances?: boolean): any;
|
|
1
|
+
export declare function deepFreeze(obj: any, freezeClassInstances?: boolean, seen?: WeakSet<WeakKey>): any;
|
|
2
2
|
export declare function deepCloneUnfreeze<T>(obj: T, cloneClassInstances?: boolean, seen?: WeakMap<WeakKey, any>): T;
|
|
3
3
|
//# sourceMappingURL=deep-freeze.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-freeze.d.ts","sourceRoot":"","sources":["../../../lib/utils/deep-freeze.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,GAAE,OAAe,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"deep-freeze.d.ts","sourceRoot":"","sources":["../../../lib/utils/deep-freeze.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,GAAE,OAAe,EAAE,IAAI,mBAAgB,GAAG,GAAG,CA6BrG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,mBAAmB,UAAQ,EAAE,IAAI,wBAAgB,GAAG,CAAC,CAuHjG"}
|
package/dist/utils/index.js
CHANGED
|
@@ -94,26 +94,28 @@ function hasChanged(prev, current) {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
// lib/utils/deep-freeze.ts
|
|
97
|
-
function deepFreeze(obj, freezeClassInstances = false) {
|
|
98
|
-
if (typeof obj
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
97
|
+
function deepFreeze(obj, freezeClassInstances = false, seen = /* @__PURE__ */ new WeakSet()) {
|
|
98
|
+
if (obj === null || typeof obj !== "object" || seen.has(obj) || Object.isFrozen(obj)) {
|
|
99
|
+
return obj;
|
|
100
|
+
}
|
|
101
|
+
seen.add(obj);
|
|
102
|
+
if (Array.isArray(obj)) {
|
|
103
|
+
for (let i = 0, l = obj.length; i < l; i++) {
|
|
104
|
+
deepFreeze(obj[i], freezeClassInstances, seen);
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
const props = Reflect.ownKeys(obj);
|
|
108
|
+
for (let i = 0, l = props.length; i < l; i++) {
|
|
109
|
+
deepFreeze(obj[props[i]], freezeClassInstances, seen);
|
|
110
|
+
}
|
|
111
|
+
if (freezeClassInstances) {
|
|
112
|
+
const proto = Object.getPrototypeOf(obj);
|
|
113
|
+
if (proto && proto !== Object.prototype) {
|
|
114
|
+
deepFreeze(proto, freezeClassInstances, seen);
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
|
-
Object.freeze(obj);
|
|
116
117
|
}
|
|
118
|
+
Object.freeze(obj);
|
|
117
119
|
return obj;
|
|
118
120
|
}
|
|
119
121
|
function deepCloneUnfreeze(obj, cloneClassInstances = false, seen = /* @__PURE__ */ new WeakMap()) {
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../lib/utils/index.ts", "../../lib/utils/getter-setter.ts", "../../lib/utils/has-changed.ts", "../../lib/utils/deep-freeze.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./getter-setter\";\nexport * from \"./has-changed\";\nexport * from \"./deep-freeze\";\n", "// Dot notation: get(obj, 'a.b.c' ) === obj.a.b.c\n// get(obj, 'a.0.c') === obj.a[0].c\nexport function get(obj: unknown, path: string, defaultValue?: unknown) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return defaultValue;\n }\n\n const result = path.split(\".\").reduce((acc: any, part) => acc && acc?.[part], obj);\n\n if (typeof result === \"undefined\") {\n return defaultValue || null;\n }\n\n return result;\n}\n\n// Dot notation: set(obj, 'a.b.c', value) === obj.a.b.c = value\n// set(obj, 'a.0.c', value) === obj.a[0].c = value\nexport function set(obj: any, path: string, value: any) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return;\n }\n\n const parts = path.split(\".\");\n const last = parts.pop();\n\n if (!last) {\n return;\n }\n\n let target = obj;\n for (const part of parts) {\n if (!target[part]) {\n target[part] = {};\n }\n target = target[part];\n }\n\n target[last] = value;\n}\n", "// Utility function to check if dependencies have changed recursively\n// eslint-disable-next-line sonarjs/cognitive-complexity\nexport function hasChanged(prev: any, current: any) {\n if (Array.isArray(prev)) {\n if (Array.isArray(current) === false) {\n return true;\n }\n\n if (prev.length !== current.length) {\n return true;\n }\n\n for (let i = 0; i < current.length; i++) {\n if (hasChanged(prev[i], current[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n if (typeof prev === \"object\" && prev !== null) {\n if (typeof current !== \"object\" || current === null) {\n return true;\n }\n\n for (const key in current) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n for (const key in prev) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n return false;\n }\n\n return Object.is(prev, current) === false;\n}\n", "export function deepFreeze(obj: any, freezeClassInstances: boolean = false): any {\n if (typeof obj
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,SAAS,IAAI,KAAc,MAAc,cAAwB;AACtE,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,CAAC,OAAO,OAAO,QAAQ,UAAU;AACxE,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,KAAU,SAAS,OAAO,MAAM,IAAI,GAAG,GAAG;AAEjF,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,gBAAgB;AAAA,EACzB;AAEA,SAAO;AACT;AAIO,SAAS,IAAI,KAAU,MAAc,OAAY;AACtD,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,CAAC,OAAO,OAAO,QAAQ,UAAU;AACxE;AAAA,EACF;AAEA,QAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,QAAM,OAAO,MAAM,IAAI;AAEvB,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AAEA,MAAI,SAAS;AACb,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,OAAO,IAAI,GAAG;AACjB,aAAO,IAAI,IAAI,CAAC;AAAA,IAClB;AACA,aAAS,OAAO,IAAI;AAAA,EACtB;AAEA,SAAO,IAAI,IAAI;AACjB;;;ACrCO,SAAS,WAAW,MAAW,SAAc;AAClD,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,QAAI,MAAM,QAAQ,OAAO,MAAM,OAAO;AACpC,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,WAAW,QAAQ,QAAQ;AAClC,aAAO;AAAA,IACT;AAEA,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,UAAI,WAAW,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG;AACnC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,QAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACnD,aAAO;AAAA,IACT;AAEA,eAAW,OAAO,SAAS;AACzB,UAAI,WAAW,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG;AACvC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,eAAW,OAAO,MAAM;AACtB,UAAI,WAAW,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG;AACvC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,GAAG,MAAM,OAAO,MAAM;AACtC;;;AC1CO,SAAS,WAAW,KAAU,uBAAgC,
|
|
4
|
+
"sourcesContent": ["export * from \"./getter-setter\";\nexport * from \"./has-changed\";\nexport * from \"./deep-freeze\";\n", "// Dot notation: get(obj, 'a.b.c' ) === obj.a.b.c\n// get(obj, 'a.0.c') === obj.a[0].c\nexport function get(obj: unknown, path: string, defaultValue?: unknown) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return defaultValue;\n }\n\n const result = path.split(\".\").reduce((acc: any, part) => acc && acc?.[part], obj);\n\n if (typeof result === \"undefined\") {\n return defaultValue || null;\n }\n\n return result;\n}\n\n// Dot notation: set(obj, 'a.b.c', value) === obj.a.b.c = value\n// set(obj, 'a.0.c', value) === obj.a[0].c = value\nexport function set(obj: any, path: string, value: any) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return;\n }\n\n const parts = path.split(\".\");\n const last = parts.pop();\n\n if (!last) {\n return;\n }\n\n let target = obj;\n for (const part of parts) {\n if (!target[part]) {\n target[part] = {};\n }\n target = target[part];\n }\n\n target[last] = value;\n}\n", "// Utility function to check if dependencies have changed recursively\n// eslint-disable-next-line sonarjs/cognitive-complexity\nexport function hasChanged(prev: any, current: any) {\n if (Array.isArray(prev)) {\n if (Array.isArray(current) === false) {\n return true;\n }\n\n if (prev.length !== current.length) {\n return true;\n }\n\n for (let i = 0; i < current.length; i++) {\n if (hasChanged(prev[i], current[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n if (typeof prev === \"object\" && prev !== null) {\n if (typeof current !== \"object\" || current === null) {\n return true;\n }\n\n for (const key in current) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n for (const key in prev) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n return false;\n }\n\n return Object.is(prev, current) === false;\n}\n", "export function deepFreeze(obj: any, freezeClassInstances: boolean = false, seen = new WeakSet()): any {\n if (obj === null || typeof obj !== \"object\" || seen.has(obj) || Object.isFrozen(obj)) {\n return obj;\n }\n\n seen.add(obj);\n\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n deepFreeze(obj[i], freezeClassInstances, seen);\n }\n } else {\n const props = Reflect.ownKeys(obj);\n for (let i = 0, l = props.length; i < l; i++) {\n deepFreeze(obj[props[i]], freezeClassInstances, seen);\n }\n\n // If the object is an instance of a class (not a plain object or array) we need to freeze the prototype\n if (freezeClassInstances) {\n const proto = Object.getPrototypeOf(obj);\n if (proto && proto !== Object.prototype) {\n deepFreeze(proto, freezeClassInstances, seen);\n }\n }\n }\n\n Object.freeze(obj);\n\n return obj;\n}\n\nexport function deepCloneUnfreeze<T>(obj: T, cloneClassInstances = false, seen = new WeakMap()): T {\n if (typeof obj === \"undefined\" || obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (seen.has(obj)) {\n return seen.get(obj);\n }\n\n let clone: any;\n let cloned = false;\n\n switch (true) {\n case Array.isArray(obj): {\n clone = [];\n for (let i = 0, l = obj.length; i < l; i++) {\n clone[i] = deepCloneUnfreeze(obj[i], cloneClassInstances, seen);\n }\n cloned = true;\n break;\n }\n case obj instanceof Date: {\n clone = new Date(obj.getTime());\n cloned = true;\n break;\n }\n case obj instanceof RegExp: {\n clone = new RegExp(obj.source, obj.flags);\n cloned = true;\n break;\n }\n case obj instanceof Map: {\n clone = new Map();\n for (const [key, value] of obj.entries()) {\n clone.set(\n deepCloneUnfreeze(key, cloneClassInstances, seen),\n deepCloneUnfreeze(value, cloneClassInstances, seen)\n );\n }\n cloned = true;\n break;\n }\n case obj instanceof Set: {\n clone = new Set();\n for (const value of obj.values()) {\n clone.add(deepCloneUnfreeze(value, cloneClassInstances, seen));\n }\n cloned = true;\n break;\n }\n case obj instanceof ArrayBuffer: {\n clone = obj.slice(0);\n cloned = true;\n break;\n }\n // TypedArrays and DataView\n case ArrayBuffer.isView(obj): {\n clone = new (obj as any).constructor(obj.buffer.slice(0));\n cloned = true;\n break;\n }\n // Node.js Buffer\n case typeof Buffer !== \"undefined\" && obj instanceof Buffer: {\n clone = Buffer.from(obj);\n cloned = true;\n break;\n }\n case obj instanceof Error: {\n clone = new (obj as any).constructor(obj.message);\n break;\n }\n // Non clonable objects\n case obj instanceof Promise ||\n obj instanceof WeakMap ||\n obj instanceof WeakSet ||\n typeof obj === \"function\" ||\n typeof obj === \"symbol\": {\n clone = obj;\n cloned = true;\n break;\n }\n // Instance of a class\n case obj.constructor && obj.constructor !== Object: {\n if (!cloneClassInstances) {\n clone = obj;\n cloned = true;\n break;\n }\n clone = Object.create(Object.getPrototypeOf(obj));\n break;\n }\n\n // Plain objects\n default: {\n clone = {};\n\n for (const key in obj) {\n clone[key] = deepCloneUnfreeze(obj[key], cloneClassInstances, seen);\n }\n\n cloned = true;\n break;\n }\n }\n\n seen.set(obj, clone);\n\n if (!cloned) {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n for (const key of Reflect.ownKeys(descriptors)) {\n const descriptor = descriptors[key as string];\n if (\"value\" in descriptor) {\n descriptor.value = deepCloneUnfreeze(descriptor.value, cloneClassInstances, seen);\n }\n Object.defineProperty(clone, key, descriptor);\n }\n }\n\n return clone;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/utils/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o={};((t,r)=>{for(var n in r)e(t,n,{get:r[n],enumerable:!0})})(o,{deepCloneUnfreeze:()=>l,deepFreeze:()=>u,get:()=>s,hasChanged:()=>i,set:()=>a});var f,c=(f=o,((o,f,c,s)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let a of r(f))n.call(o,a)||a===c||e(o,a,{get:()=>f[a],enumerable:!(s=t(f,a))||s.enumerable});return o})(e({},"__esModule",{value:!0}),f));function s(e,t,r){if(!t||"string"!=typeof t||!e||"object"!=typeof e)return r;const n=t.split(".").reduce((e,t)=>e&&e?.[t],e);return void 0===n?r||null:n}function a(e,t,r){if(!t||"string"!=typeof t||!e||"object"!=typeof e)return;const n=t.split("."),o=n.pop();if(!o)return;let f=e;for(const e of n)f[e]||(f[e]={}),f=f[e];f[o]=r}function i(e,t){if(Array.isArray(e)){if(!1===Array.isArray(t))return!0;if(e.length!==t.length)return!0;for(let r=0;r<t.length;r++)if(i(e[r],t[r]))return!0;return!1}if("object"==typeof e&&null!==e){if("object"!=typeof t||null===t)return!0;for(const r in t)if(i(e[r],t[r]))return!0;for(const r in e)if(i(e[r],t[r]))return!0;return!1}return!1===Object.is(e,t)}function u(e,t=!1){if("object"
|
|
1
|
+
(()=>{"use strict";var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o={};((t,r)=>{for(var n in r)e(t,n,{get:r[n],enumerable:!0})})(o,{deepCloneUnfreeze:()=>l,deepFreeze:()=>u,get:()=>s,hasChanged:()=>i,set:()=>a});var f,c=(f=o,((o,f,c,s)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let a of r(f))n.call(o,a)||a===c||e(o,a,{get:()=>f[a],enumerable:!(s=t(f,a))||s.enumerable});return o})(e({},"__esModule",{value:!0}),f));function s(e,t,r){if(!t||"string"!=typeof t||!e||"object"!=typeof e)return r;const n=t.split(".").reduce((e,t)=>e&&e?.[t],e);return void 0===n?r||null:n}function a(e,t,r){if(!t||"string"!=typeof t||!e||"object"!=typeof e)return;const n=t.split("."),o=n.pop();if(!o)return;let f=e;for(const e of n)f[e]||(f[e]={}),f=f[e];f[o]=r}function i(e,t){if(Array.isArray(e)){if(!1===Array.isArray(t))return!0;if(e.length!==t.length)return!0;for(let r=0;r<t.length;r++)if(i(e[r],t[r]))return!0;return!1}if("object"==typeof e&&null!==e){if("object"!=typeof t||null===t)return!0;for(const r in t)if(i(e[r],t[r]))return!0;for(const r in e)if(i(e[r],t[r]))return!0;return!1}return!1===Object.is(e,t)}function u(e,t=!1,r=new WeakSet){if(null===e||"object"!=typeof e||r.has(e)||Object.isFrozen(e))return e;if(r.add(e),Array.isArray(e))for(let n=0,o=e.length;n<o;n++)u(e[n],t,r);else{const n=Reflect.ownKeys(e);for(let o=0,f=n.length;o<f;o++)u(e[n[o]],t,r);if(t){const n=Object.getPrototypeOf(e);n&&n!==Object.prototype&&u(n,t,r)}}return Object.freeze(e),e}function l(e,t=!1,r=new WeakMap){if(null==e||"object"!=typeof e)return e;if(r.has(e))return r.get(e);let n,o=!1;switch(!0){case Array.isArray(e):n=[];for(let o=0,f=e.length;o<f;o++)n[o]=l(e[o],t,r);o=!0;break;case e instanceof Date:n=new Date(e.getTime()),o=!0;break;case e instanceof RegExp:n=new RegExp(e.source,e.flags),o=!0;break;case e instanceof Map:n=new Map;for(const[o,f]of e.entries())n.set(l(o,t,r),l(f,t,r));o=!0;break;case e instanceof Set:n=new Set;for(const o of e.values())n.add(l(o,t,r));o=!0;break;case e instanceof ArrayBuffer:n=e.slice(0),o=!0;break;case ArrayBuffer.isView(e):n=new e.constructor(e.buffer.slice(0)),o=!0;break;case"undefined"!=typeof Buffer&&e instanceof Buffer:n=Buffer.from(e),o=!0;break;case e instanceof Error:n=new e.constructor(e.message);break;case e instanceof Promise||e instanceof WeakMap||e instanceof WeakSet||"function"==typeof e||"symbol"==typeof e:n=e,o=!0;break;case e.constructor&&e.constructor!==Object:if(!t){n=e,o=!0;break}n=Object.create(Object.getPrototypeOf(e));break;default:n={};for(const o in e)n[o]=l(e[o],t,r);o=!0}if(r.set(e,n),!o){const o=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(o)){const f=o[e];"value"in f&&(f.value=l(f.value,t,r)),Object.defineProperty(n,e,f)}}return n}"undefined"!=typeof module?module.exports=c:self.ValyrianUtils=c})();//# sourceMappingURL=index.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmRleF9leHBvcnRzIiwiX19leHBvcnQiLCJkZWVwQ2xvbmVVbmZyZWV6ZSIsImRlZXBGcmVlemUiLCJnZXQiLCJoYXNDaGFuZ2VkIiwic2V0IiwiX19FWFBPUlRTX18iLCJvYmoiLCJwYXRoIiwiZGVmYXVsdFZhbHVlIiwicmVzdWx0Iiwic3BsaXQiLCJyZWR1Y2UiLCJhY2MiLCJwYXJ0IiwidmFsdWUiLCJwYXJ0cyIsImxhc3QiLCJwb3AiLCJ0YXJnZXQiLCJwcmV2IiwiY3VycmVudCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImkiLCJrZXkiLCJPYmplY3QiLCJpcyIsImZyZWV6ZUNsYXNzSW5zdGFuY2VzIiwiaXNGcm96ZW4iLCJsIiwicHJvcHMiLCJSZWZsZWN0Iiwib3duS2V5cyIsInByb3RvIiwiZ2V0UHJvdG90eXBlT2YiLCJwcm90b3R5cGUiLCJmcmVlemUiLCJjbG9uZUNsYXNzSW5zdGFuY2VzIiwic2VlbiIsIldlYWtNYXAiLCJoYXMiLCJjbG9uZSIsImNsb25lZCIsIkRhdGUiLCJnZXRUaW1lIiwiUmVnRXhwIiwic291cmNlIiwiZmxhZ3MiLCJNYXAiLCJlbnRyaWVzIiwiU2V0IiwidmFsdWVzIiwiYWRkIiwiQXJyYXlCdWZmZXIiLCJzbGljZSIsImlzVmlldyIsImNvbnN0cnVjdG9yIiwiYnVmZmVyIiwiQnVmZmVyIiwiZnJvbSIsIkVycm9yIiwibWVzc2FnZSIsIlByb21pc2UiLCJXZWFrU2V0IiwiY3JlYXRlIiwiZGVzY3JpcHRvcnMiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVzY3JpcHRvciIsImRlZmluZVByb3BlcnR5Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2luZGV4LnRzIiwiLi4vLi4vbGliL3V0aWxzL2dldHRlci1zZXR0ZXIudHMiLCIuLi8uLi9saWIvdXRpbHMvaGFzLWNoYW5nZWQudHMiLCIuLi8uLi9saWIvdXRpbHMvZGVlcC1mcmVlemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZ2V0dGVyLXNldHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaGFzLWNoYW5nZWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtZnJlZXplXCI7XG4iLCIvLyBEb3Qgbm90YXRpb246IGdldChvYmosICdhLmIuYycgKSA9PT0gb2JqLmEuYi5jXG4vLyBnZXQob2JqLCAnYS4wLmMnKSA9PT0gb2JqLmFbMF0uY1xuZXhwb3J0IGZ1bmN0aW9uIGdldChvYmo6IHVua25vd24sIHBhdGg6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogdW5rbm93bikge1xuICBpZiAoIXBhdGggfHwgdHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIgfHwgIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgoYWNjOiBhbnksIHBhcnQpID0+IGFjYyAmJiBhY2M/LltwYXJ0XSwgb2JqKTtcblxuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIERvdCBub3RhdGlvbjogc2V0KG9iaiwgJ2EuYi5jJywgdmFsdWUpID09PSBvYmouYS5iLmMgPSB2YWx1ZVxuLy8gc2V0KG9iaiwgJ2EuMC5jJywgdmFsdWUpID09PSBvYmouYVswXS5jID0gdmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBzZXQob2JqOiBhbnksIHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICBpZiAoIXBhdGggfHwgdHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIgfHwgIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KFwiLlwiKTtcbiAgY29uc3QgbGFzdCA9IHBhcnRzLnBvcCgpO1xuXG4gIGlmICghbGFzdCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCB0YXJnZXQgPSBvYmo7XG4gIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgIGlmICghdGFyZ2V0W3BhcnRdKSB7XG4gICAgICB0YXJnZXRbcGFydF0gPSB7fTtcbiAgICB9XG4gICAgdGFyZ2V0ID0gdGFyZ2V0W3BhcnRdO1xuICB9XG5cbiAgdGFyZ2V0W2xhc3RdID0gdmFsdWU7XG59XG4iLCIvLyBVdGlsaXR5IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIGRlcGVuZGVuY2llcyBoYXZlIGNoYW5nZWQgcmVjdXJzaXZlbHlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gaGFzQ2hhbmdlZChwcmV2OiBhbnksIGN1cnJlbnQ6IGFueSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShwcmV2KSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnQpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHByZXYubGVuZ3RoICE9PSBjdXJyZW50Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaGFzQ2hhbmdlZChwcmV2W2ldLCBjdXJyZW50W2ldKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHByZXYgPT09IFwib2JqZWN0XCIgJiYgcHJldiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgY3VycmVudCAhPT0gXCJvYmplY3RcIiB8fCBjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjdXJyZW50KSB7XG4gICAgICBpZiAoaGFzQ2hhbmdlZChwcmV2W2tleV0sIGN1cnJlbnRba2V5XSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcHJldikge1xuICAgICAgaWYgKGhhc0NoYW5nZWQocHJldltrZXldLCBjdXJyZW50W2tleV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3QuaXMocHJldiwgY3VycmVudCkgPT09IGZhbHNlO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRlZXBGcmVlemUob2JqOiBhbnksIGZyZWV6ZUNsYXNzSW5zdGFuY2VzOiBib29sZWFuID0gZmFsc2UpOiBhbnkge1xuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJiBvYmogIT09IG51bGwgJiYgIU9iamVjdC5pc0Zyb3plbihvYmopKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvYmoubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGRlZXBGcmVlemUob2JqW2ldKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvcHMgPSBSZWZsZWN0Lm93bktleXMob2JqKTtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gcHJvcHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGRlZXBGcmVlemUob2JqW3Byb3BzW2ldXSk7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyAobm90IGEgcGxhaW4gb2JqZWN0IG9yIGFycmF5KSB3ZSBuZWVkIHRvIGZyZWV6ZSB0aGUgcHJvdG90eXBlXG4gICAgICBpZiAoZnJlZXplQ2xhc3NJbnN0YW5jZXMpIHtcbiAgICAgICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICAgICAgaWYgKHByb3RvICYmIHByb3RvICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgICAgICAgZGVlcEZyZWV6ZShwcm90byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgT2JqZWN0LmZyZWV6ZShvYmopO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDbG9uZVVuZnJlZXplPFQ+KG9iajogVCwgY2xvbmVDbGFzc0luc3RhbmNlcyA9IGZhbHNlLCBzZWVuID0gbmV3IFdlYWtNYXAoKSk6IFQge1xuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJ1bmRlZmluZWRcIiB8fCBvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAoc2Vlbi5oYXMob2JqKSkge1xuICAgIHJldHVybiBzZWVuLmdldChvYmopO1xuICB9XG5cbiAgbGV0IGNsb25lOiBhbnk7XG4gIGxldCBjbG9uZWQgPSBmYWxzZTtcblxuICBzd2l0Y2ggKHRydWUpIHtcbiAgICBjYXNlIEFycmF5LmlzQXJyYXkob2JqKToge1xuICAgICAgY2xvbmUgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gb2JqLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBjbG9uZVtpXSA9IGRlZXBDbG9uZVVuZnJlZXplKG9ialtpXSwgY2xvbmVDbGFzc0luc3RhbmNlcywgc2Vlbik7XG4gICAgICB9XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2Ugb2JqIGluc3RhbmNlb2YgRGF0ZToge1xuICAgICAgY2xvbmUgPSBuZXcgRGF0ZShvYmouZ2V0VGltZSgpKTtcbiAgICAgIGNsb25lZCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBvYmogaW5zdGFuY2VvZiBSZWdFeHA6IHtcbiAgICAgIGNsb25lID0gbmV3IFJlZ0V4cChvYmouc291cmNlLCBvYmouZmxhZ3MpO1xuICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIG9iaiBpbnN0YW5jZW9mIE1hcDoge1xuICAgICAgY2xvbmUgPSBuZXcgTWFwKCk7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvYmouZW50cmllcygpKSB7XG4gICAgICAgIGNsb25lLnNldChcbiAgICAgICAgICBkZWVwQ2xvbmVVbmZyZWV6ZShrZXksIGNsb25lQ2xhc3NJbnN0YW5jZXMsIHNlZW4pLFxuICAgICAgICAgIGRlZXBDbG9uZVVuZnJlZXplKHZhbHVlLCBjbG9uZUNsYXNzSW5zdGFuY2VzLCBzZWVuKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIG9iaiBpbnN0YW5jZW9mIFNldDoge1xuICAgICAgY2xvbmUgPSBuZXcgU2V0KCk7XG4gICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIG9iai52YWx1ZXMoKSkge1xuICAgICAgICBjbG9uZS5hZGQoZGVlcENsb25lVW5mcmVlemUodmFsdWUsIGNsb25lQ2xhc3NJbnN0YW5jZXMsIHNlZW4pKTtcbiAgICAgIH1cbiAgICAgIGNsb25lZCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBvYmogaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcjoge1xuICAgICAgY2xvbmUgPSBvYmouc2xpY2UoMCk7XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIFR5cGVkQXJyYXlzIGFuZCBEYXRhVmlld1xuICAgIGNhc2UgQXJyYXlCdWZmZXIuaXNWaWV3KG9iaik6IHtcbiAgICAgIGNsb25lID0gbmV3IChvYmogYXMgYW55KS5jb25zdHJ1Y3RvcihvYmouYnVmZmVyLnNsaWNlKDApKTtcbiAgICAgIGNsb25lZCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gTm9kZS5qcyBCdWZmZXJcbiAgICBjYXNlIHR5cGVvZiBCdWZmZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgb2JqIGluc3RhbmNlb2YgQnVmZmVyOiB7XG4gICAgICBjbG9uZSA9IEJ1ZmZlci5mcm9tKG9iaik7XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2Ugb2JqIGluc3RhbmNlb2YgRXJyb3I6IHtcbiAgICAgIGNsb25lID0gbmV3IChvYmogYXMgYW55KS5jb25zdHJ1Y3RvcihvYmoubWVzc2FnZSk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gTm9uIGNsb25hYmxlIG9iamVjdHNcbiAgICBjYXNlIG9iaiBpbnN0YW5jZW9mIFByb21pc2UgfHxcbiAgICAgIG9iaiBpbnN0YW5jZW9mIFdlYWtNYXAgfHxcbiAgICAgIG9iaiBpbnN0YW5jZW9mIFdlYWtTZXQgfHxcbiAgICAgIHR5cGVvZiBvYmogPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgdHlwZW9mIG9iaiA9PT0gXCJzeW1ib2xcIjoge1xuICAgICAgY2xvbmUgPSBvYmo7XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIEluc3RhbmNlIG9mIGEgY2xhc3NcbiAgICBjYXNlIG9iai5jb25zdHJ1Y3RvciAmJiBvYmouY29uc3RydWN0b3IgIT09IE9iamVjdDoge1xuICAgICAgaWYgKCFjbG9uZUNsYXNzSW5zdGFuY2VzKSB7XG4gICAgICAgIGNsb25lID0gb2JqO1xuICAgICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNsb25lID0gT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBQbGFpbiBvYmplY3RzXG4gICAgZGVmYXVsdDoge1xuICAgICAgY2xvbmUgPSB7fTtcblxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGNsb25lW2tleV0gPSBkZWVwQ2xvbmVVbmZyZWV6ZShvYmpba2V5XSwgY2xvbmVDbGFzc0luc3RhbmNlcywgc2Vlbik7XG4gICAgICB9XG5cbiAgICAgIGNsb25lZCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZWVuLnNldChvYmosIGNsb25lKTtcblxuICBpZiAoIWNsb25lZCkge1xuICAgIGNvbnN0IGRlc2NyaXB0b3JzID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMob2JqKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBSZWZsZWN0Lm93bktleXMoZGVzY3JpcHRvcnMpKSB7XG4gICAgICBjb25zdCBkZXNjcmlwdG9yID0gZGVzY3JpcHRvcnNba2V5IGFzIHN0cmluZ107XG4gICAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIHtcbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGRlZXBDbG9uZVVuZnJlZXplKGRlc2NyaXB0b3IudmFsdWUsIGNsb25lQ2xhc3NJbnN0YW5jZXMsIHNlZW4pO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNsb25lLCBrZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjbG9uZTtcbn1cbiJdLCJtYXBwaW5ncyI6ImdKQUFBQSxFQUFBLEcseURBQUFDLENBQUFELEVBQUEsQ0FBQUUsa0JBQUEsSUFBQUEsRUFBQUMsV0FBQSxJQUFBQSxFQUFBQyxJQUFBLElBQUFBLEVBQUFDLFdBQUEsSUFBQUEsRUFBQUMsSUFBQSxJQUFBQSxJQUFBLEksRUFBQUMsRyxFQUFBUCxFLDBNQ0VPLFNBQVNJLEVBQUlJLEVBQWNDLEVBQWNDLEdBQzlDLElBQUtELEdBQXdCLGlCQUFUQSxJQUFzQkQsR0FBc0IsaUJBQVJBLEVB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
|
|
1
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmRleF9leHBvcnRzIiwiX19leHBvcnQiLCJkZWVwQ2xvbmVVbmZyZWV6ZSIsImRlZXBGcmVlemUiLCJnZXQiLCJoYXNDaGFuZ2VkIiwic2V0IiwiX19FWFBPUlRTX18iLCJvYmoiLCJwYXRoIiwiZGVmYXVsdFZhbHVlIiwicmVzdWx0Iiwic3BsaXQiLCJyZWR1Y2UiLCJhY2MiLCJwYXJ0IiwidmFsdWUiLCJwYXJ0cyIsImxhc3QiLCJwb3AiLCJ0YXJnZXQiLCJwcmV2IiwiY3VycmVudCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImkiLCJrZXkiLCJPYmplY3QiLCJpcyIsImZyZWV6ZUNsYXNzSW5zdGFuY2VzIiwic2VlbiIsIldlYWtTZXQiLCJoYXMiLCJpc0Zyb3plbiIsImFkZCIsImwiLCJwcm9wcyIsIlJlZmxlY3QiLCJvd25LZXlzIiwicHJvdG8iLCJnZXRQcm90b3R5cGVPZiIsInByb3RvdHlwZSIsImZyZWV6ZSIsImNsb25lQ2xhc3NJbnN0YW5jZXMiLCJXZWFrTWFwIiwiY2xvbmUiLCJjbG9uZWQiLCJEYXRlIiwiZ2V0VGltZSIsIlJlZ0V4cCIsInNvdXJjZSIsImZsYWdzIiwiTWFwIiwiZW50cmllcyIsIlNldCIsInZhbHVlcyIsIkFycmF5QnVmZmVyIiwic2xpY2UiLCJpc1ZpZXciLCJjb25zdHJ1Y3RvciIsImJ1ZmZlciIsIkJ1ZmZlciIsImZyb20iLCJFcnJvciIsIm1lc3NhZ2UiLCJQcm9taXNlIiwiY3JlYXRlIiwiZGVzY3JpcHRvcnMiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVzY3JpcHRvciIsImRlZmluZVByb3BlcnR5Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL2luZGV4LnRzIiwiLi4vLi4vbGliL3V0aWxzL2dldHRlci1zZXR0ZXIudHMiLCIuLi8uLi9saWIvdXRpbHMvaGFzLWNoYW5nZWQudHMiLCIuLi8uLi9saWIvdXRpbHMvZGVlcC1mcmVlemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZ2V0dGVyLXNldHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaGFzLWNoYW5nZWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtZnJlZXplXCI7XG4iLCIvLyBEb3Qgbm90YXRpb246IGdldChvYmosICdhLmIuYycgKSA9PT0gb2JqLmEuYi5jXG4vLyBnZXQob2JqLCAnYS4wLmMnKSA9PT0gb2JqLmFbMF0uY1xuZXhwb3J0IGZ1bmN0aW9uIGdldChvYmo6IHVua25vd24sIHBhdGg6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogdW5rbm93bikge1xuICBpZiAoIXBhdGggfHwgdHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIgfHwgIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgoYWNjOiBhbnksIHBhcnQpID0+IGFjYyAmJiBhY2M/LltwYXJ0XSwgb2JqKTtcblxuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWUgfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIERvdCBub3RhdGlvbjogc2V0KG9iaiwgJ2EuYi5jJywgdmFsdWUpID09PSBvYmouYS5iLmMgPSB2YWx1ZVxuLy8gc2V0KG9iaiwgJ2EuMC5jJywgdmFsdWUpID09PSBvYmouYVswXS5jID0gdmFsdWVcbmV4cG9ydCBmdW5jdGlvbiBzZXQob2JqOiBhbnksIHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICBpZiAoIXBhdGggfHwgdHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIgfHwgIW9iaiB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KFwiLlwiKTtcbiAgY29uc3QgbGFzdCA9IHBhcnRzLnBvcCgpO1xuXG4gIGlmICghbGFzdCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCB0YXJnZXQgPSBvYmo7XG4gIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgIGlmICghdGFyZ2V0W3BhcnRdKSB7XG4gICAgICB0YXJnZXRbcGFydF0gPSB7fTtcbiAgICB9XG4gICAgdGFyZ2V0ID0gdGFyZ2V0W3BhcnRdO1xuICB9XG5cbiAgdGFyZ2V0W2xhc3RdID0gdmFsdWU7XG59XG4iLCIvLyBVdGlsaXR5IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIGRlcGVuZGVuY2llcyBoYXZlIGNoYW5nZWQgcmVjdXJzaXZlbHlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gaGFzQ2hhbmdlZChwcmV2OiBhbnksIGN1cnJlbnQ6IGFueSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShwcmV2KSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnQpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHByZXYubGVuZ3RoICE9PSBjdXJyZW50Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaGFzQ2hhbmdlZChwcmV2W2ldLCBjdXJyZW50W2ldKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIHByZXYgPT09IFwib2JqZWN0XCIgJiYgcHJldiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgY3VycmVudCAhPT0gXCJvYmplY3RcIiB8fCBjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjdXJyZW50KSB7XG4gICAgICBpZiAoaGFzQ2hhbmdlZChwcmV2W2tleV0sIGN1cnJlbnRba2V5XSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcHJldikge1xuICAgICAgaWYgKGhhc0NoYW5nZWQocHJldltrZXldLCBjdXJyZW50W2tleV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3QuaXMocHJldiwgY3VycmVudCkgPT09IGZhbHNlO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGRlZXBGcmVlemUob2JqOiBhbnksIGZyZWV6ZUNsYXNzSW5zdGFuY2VzOiBib29sZWFuID0gZmFsc2UsIHNlZW4gPSBuZXcgV2Vha1NldCgpKTogYW55IHtcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiIHx8IHNlZW4uaGFzKG9iaikgfHwgT2JqZWN0LmlzRnJvemVuKG9iaikpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgc2Vlbi5hZGQob2JqKTtcblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvYmoubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBkZWVwRnJlZXplKG9ialtpXSwgZnJlZXplQ2xhc3NJbnN0YW5jZXMsIHNlZW4pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwcm9wcyA9IFJlZmxlY3Qub3duS2V5cyhvYmopO1xuICAgIGZvciAobGV0IGkgPSAwLCBsID0gcHJvcHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBkZWVwRnJlZXplKG9ialtwcm9wc1tpXV0sIGZyZWV6ZUNsYXNzSW5zdGFuY2VzLCBzZWVuKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgKG5vdCBhIHBsYWluIG9iamVjdCBvciBhcnJheSkgd2UgbmVlZCB0byBmcmVlemUgdGhlIHByb3RvdHlwZVxuICAgIGlmIChmcmVlemVDbGFzc0luc3RhbmNlcykge1xuICAgICAgY29uc3QgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICAgIGlmIChwcm90byAmJiBwcm90byAhPT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgICAgICBkZWVwRnJlZXplKHByb3RvLCBmcmVlemVDbGFzc0luc3RhbmNlcywgc2Vlbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmZyZWV6ZShvYmopO1xuXG4gIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ2xvbmVVbmZyZWV6ZTxUPihvYmo6IFQsIGNsb25lQ2xhc3NJbnN0YW5jZXMgPSBmYWxzZSwgc2VlbiA9IG5ldyBXZWFrTWFwKCkpOiBUIHtcbiAgaWYgKHR5cGVvZiBvYmogPT09IFwidW5kZWZpbmVkXCIgfHwgb2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgaWYgKHNlZW4uaGFzKG9iaikpIHtcbiAgICByZXR1cm4gc2Vlbi5nZXQob2JqKTtcbiAgfVxuXG4gIGxldCBjbG9uZTogYW55O1xuICBsZXQgY2xvbmVkID0gZmFsc2U7XG5cbiAgc3dpdGNoICh0cnVlKSB7XG4gICAgY2FzZSBBcnJheS5pc0FycmF5KG9iaik6IHtcbiAgICAgIGNsb25lID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMCwgbCA9IG9iai5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgY2xvbmVbaV0gPSBkZWVwQ2xvbmVVbmZyZWV6ZShvYmpbaV0sIGNsb25lQ2xhc3NJbnN0YW5jZXMsIHNlZW4pO1xuICAgICAgfVxuICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIG9iaiBpbnN0YW5jZW9mIERhdGU6IHtcbiAgICAgIGNsb25lID0gbmV3IERhdGUob2JqLmdldFRpbWUoKSk7XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2Ugb2JqIGluc3RhbmNlb2YgUmVnRXhwOiB7XG4gICAgICBjbG9uZSA9IG5ldyBSZWdFeHAob2JqLnNvdXJjZSwgb2JqLmZsYWdzKTtcbiAgICAgIGNsb25lZCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBvYmogaW5zdGFuY2VvZiBNYXA6IHtcbiAgICAgIGNsb25lID0gbmV3IE1hcCgpO1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2Ygb2JqLmVudHJpZXMoKSkge1xuICAgICAgICBjbG9uZS5zZXQoXG4gICAgICAgICAgZGVlcENsb25lVW5mcmVlemUoa2V5LCBjbG9uZUNsYXNzSW5zdGFuY2VzLCBzZWVuKSxcbiAgICAgICAgICBkZWVwQ2xvbmVVbmZyZWV6ZSh2YWx1ZSwgY2xvbmVDbGFzc0luc3RhbmNlcywgc2VlbilcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNsb25lZCA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBvYmogaW5zdGFuY2VvZiBTZXQ6IHtcbiAgICAgIGNsb25lID0gbmV3IFNldCgpO1xuICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBvYmoudmFsdWVzKCkpIHtcbiAgICAgICAgY2xvbmUuYWRkKGRlZXBDbG9uZVVuZnJlZXplKHZhbHVlLCBjbG9uZUNsYXNzSW5zdGFuY2VzLCBzZWVuKSk7XG4gICAgICB9XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2Ugb2JqIGluc3RhbmNlb2YgQXJyYXlCdWZmZXI6IHtcbiAgICAgIGNsb25lID0gb2JqLnNsaWNlKDApO1xuICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvLyBUeXBlZEFycmF5cyBhbmQgRGF0YVZpZXdcbiAgICBjYXNlIEFycmF5QnVmZmVyLmlzVmlldyhvYmopOiB7XG4gICAgICBjbG9uZSA9IG5ldyAob2JqIGFzIGFueSkuY29uc3RydWN0b3Iob2JqLmJ1ZmZlci5zbGljZSgwKSk7XG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIE5vZGUuanMgQnVmZmVyXG4gICAgY2FzZSB0eXBlb2YgQnVmZmVyICE9PSBcInVuZGVmaW5lZFwiICYmIG9iaiBpbnN0YW5jZW9mIEJ1ZmZlcjoge1xuICAgICAgY2xvbmUgPSBCdWZmZXIuZnJvbShvYmopO1xuICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIG9iaiBpbnN0YW5jZW9mIEVycm9yOiB7XG4gICAgICBjbG9uZSA9IG5ldyAob2JqIGFzIGFueSkuY29uc3RydWN0b3Iob2JqLm1lc3NhZ2UpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIE5vbiBjbG9uYWJsZSBvYmplY3RzXG4gICAgY2FzZSBvYmogaW5zdGFuY2VvZiBQcm9taXNlIHx8XG4gICAgICBvYmogaW5zdGFuY2VvZiBXZWFrTWFwIHx8XG4gICAgICBvYmogaW5zdGFuY2VvZiBXZWFrU2V0IHx8XG4gICAgICB0eXBlb2Ygb2JqID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHR5cGVvZiBvYmogPT09IFwic3ltYm9sXCI6IHtcbiAgICAgIGNsb25lID0gb2JqO1xuICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvLyBJbnN0YW5jZSBvZiBhIGNsYXNzXG4gICAgY2FzZSBvYmouY29uc3RydWN0b3IgJiYgb2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3Q6IHtcbiAgICAgIGlmICghY2xvbmVDbGFzc0luc3RhbmNlcykge1xuICAgICAgICBjbG9uZSA9IG9iajtcbiAgICAgICAgY2xvbmVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjbG9uZSA9IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gUGxhaW4gb2JqZWN0c1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGNsb25lID0ge307XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgICBjbG9uZVtrZXldID0gZGVlcENsb25lVW5mcmVlemUob2JqW2tleV0sIGNsb25lQ2xhc3NJbnN0YW5jZXMsIHNlZW4pO1xuICAgICAgfVxuXG4gICAgICBjbG9uZWQgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgc2Vlbi5zZXQob2JqLCBjbG9uZSk7XG5cbiAgaWYgKCFjbG9uZWQpIHtcbiAgICBjb25zdCBkZXNjcmlwdG9ycyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG9iaik7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgUmVmbGVjdC5vd25LZXlzKGRlc2NyaXB0b3JzKSkge1xuICAgICAgY29uc3QgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JzW2tleSBhcyBzdHJpbmddO1xuICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSB7XG4gICAgICAgIGRlc2NyaXB0b3IudmFsdWUgPSBkZWVwQ2xvbmVVbmZyZWV6ZShkZXNjcmlwdG9yLnZhbHVlLCBjbG9uZUNsYXNzSW5zdGFuY2VzLCBzZWVuKTtcbiAgICAgIH1cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjbG9uZSwga2V5LCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xvbmU7XG59XG4iXSwibWFwcGluZ3MiOiJnSkFBQUEsRUFBQSxHLHlEQUFBQyxDQUFBRCxFQUFBLENBQUFFLGtCQUFBLElBQUFBLEVBQUFDLFdBQUEsSUFBQUEsRUFBQUMsSUFBQSxJQUFBQSxFQUFBQyxX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
|
package/dist/utils/index.mjs
CHANGED
|
@@ -64,26 +64,28 @@ function hasChanged(prev, current) {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
// lib/utils/deep-freeze.ts
|
|
67
|
-
function deepFreeze(obj, freezeClassInstances = false) {
|
|
68
|
-
if (typeof obj
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
function deepFreeze(obj, freezeClassInstances = false, seen = /* @__PURE__ */ new WeakSet()) {
|
|
68
|
+
if (obj === null || typeof obj !== "object" || seen.has(obj) || Object.isFrozen(obj)) {
|
|
69
|
+
return obj;
|
|
70
|
+
}
|
|
71
|
+
seen.add(obj);
|
|
72
|
+
if (Array.isArray(obj)) {
|
|
73
|
+
for (let i = 0, l = obj.length; i < l; i++) {
|
|
74
|
+
deepFreeze(obj[i], freezeClassInstances, seen);
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
const props = Reflect.ownKeys(obj);
|
|
78
|
+
for (let i = 0, l = props.length; i < l; i++) {
|
|
79
|
+
deepFreeze(obj[props[i]], freezeClassInstances, seen);
|
|
80
|
+
}
|
|
81
|
+
if (freezeClassInstances) {
|
|
82
|
+
const proto = Object.getPrototypeOf(obj);
|
|
83
|
+
if (proto && proto !== Object.prototype) {
|
|
84
|
+
deepFreeze(proto, freezeClassInstances, seen);
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
|
-
Object.freeze(obj);
|
|
86
87
|
}
|
|
88
|
+
Object.freeze(obj);
|
|
87
89
|
return obj;
|
|
88
90
|
}
|
|
89
91
|
function deepCloneUnfreeze(obj, cloneClassInstances = false, seen = /* @__PURE__ */ new WeakMap()) {
|
package/dist/utils/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../lib/utils/getter-setter.ts", "../../lib/utils/has-changed.ts", "../../lib/utils/deep-freeze.ts"],
|
|
4
|
-
"sourcesContent": ["// Dot notation: get(obj, 'a.b.c' ) === obj.a.b.c\n// get(obj, 'a.0.c') === obj.a[0].c\nexport function get(obj: unknown, path: string, defaultValue?: unknown) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return defaultValue;\n }\n\n const result = path.split(\".\").reduce((acc: any, part) => acc && acc?.[part], obj);\n\n if (typeof result === \"undefined\") {\n return defaultValue || null;\n }\n\n return result;\n}\n\n// Dot notation: set(obj, 'a.b.c', value) === obj.a.b.c = value\n// set(obj, 'a.0.c', value) === obj.a[0].c = value\nexport function set(obj: any, path: string, value: any) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return;\n }\n\n const parts = path.split(\".\");\n const last = parts.pop();\n\n if (!last) {\n return;\n }\n\n let target = obj;\n for (const part of parts) {\n if (!target[part]) {\n target[part] = {};\n }\n target = target[part];\n }\n\n target[last] = value;\n}\n", "// Utility function to check if dependencies have changed recursively\n// eslint-disable-next-line sonarjs/cognitive-complexity\nexport function hasChanged(prev: any, current: any) {\n if (Array.isArray(prev)) {\n if (Array.isArray(current) === false) {\n return true;\n }\n\n if (prev.length !== current.length) {\n return true;\n }\n\n for (let i = 0; i < current.length; i++) {\n if (hasChanged(prev[i], current[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n if (typeof prev === \"object\" && prev !== null) {\n if (typeof current !== \"object\" || current === null) {\n return true;\n }\n\n for (const key in current) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n for (const key in prev) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n return false;\n }\n\n return Object.is(prev, current) === false;\n}\n", "export function deepFreeze(obj: any, freezeClassInstances: boolean = false): any {\n if (typeof obj
|
|
5
|
-
"mappings": ";AAEO,SAAS,IAAI,KAAc,MAAc,cAAwB;AACtE,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,CAAC,OAAO,OAAO,QAAQ,UAAU;AACxE,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,KAAU,SAAS,OAAO,MAAM,IAAI,GAAG,GAAG;AAEjF,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,gBAAgB;AAAA,EACzB;AAEA,SAAO;AACT;AAIO,SAAS,IAAI,KAAU,MAAc,OAAY;AACtD,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,CAAC,OAAO,OAAO,QAAQ,UAAU;AACxE;AAAA,EACF;AAEA,QAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,QAAM,OAAO,MAAM,IAAI;AAEvB,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AAEA,MAAI,SAAS;AACb,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,OAAO,IAAI,GAAG;AACjB,aAAO,IAAI,IAAI,CAAC;AAAA,IAClB;AACA,aAAS,OAAO,IAAI;AAAA,EACtB;AAEA,SAAO,IAAI,IAAI;AACjB;;;ACrCO,SAAS,WAAW,MAAW,SAAc;AAClD,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,QAAI,MAAM,QAAQ,OAAO,MAAM,OAAO;AACpC,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,WAAW,QAAQ,QAAQ;AAClC,aAAO;AAAA,IACT;AAEA,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,UAAI,WAAW,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG;AACnC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,QAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACnD,aAAO;AAAA,IACT;AAEA,eAAW,OAAO,SAAS;AACzB,UAAI,WAAW,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG;AACvC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,eAAW,OAAO,MAAM;AACtB,UAAI,WAAW,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG;AACvC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,GAAG,MAAM,OAAO,MAAM;AACtC;;;AC1CO,SAAS,WAAW,KAAU,uBAAgC,
|
|
4
|
+
"sourcesContent": ["// Dot notation: get(obj, 'a.b.c' ) === obj.a.b.c\n// get(obj, 'a.0.c') === obj.a[0].c\nexport function get(obj: unknown, path: string, defaultValue?: unknown) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return defaultValue;\n }\n\n const result = path.split(\".\").reduce((acc: any, part) => acc && acc?.[part], obj);\n\n if (typeof result === \"undefined\") {\n return defaultValue || null;\n }\n\n return result;\n}\n\n// Dot notation: set(obj, 'a.b.c', value) === obj.a.b.c = value\n// set(obj, 'a.0.c', value) === obj.a[0].c = value\nexport function set(obj: any, path: string, value: any) {\n if (!path || typeof path !== \"string\" || !obj || typeof obj !== \"object\") {\n return;\n }\n\n const parts = path.split(\".\");\n const last = parts.pop();\n\n if (!last) {\n return;\n }\n\n let target = obj;\n for (const part of parts) {\n if (!target[part]) {\n target[part] = {};\n }\n target = target[part];\n }\n\n target[last] = value;\n}\n", "// Utility function to check if dependencies have changed recursively\n// eslint-disable-next-line sonarjs/cognitive-complexity\nexport function hasChanged(prev: any, current: any) {\n if (Array.isArray(prev)) {\n if (Array.isArray(current) === false) {\n return true;\n }\n\n if (prev.length !== current.length) {\n return true;\n }\n\n for (let i = 0; i < current.length; i++) {\n if (hasChanged(prev[i], current[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n if (typeof prev === \"object\" && prev !== null) {\n if (typeof current !== \"object\" || current === null) {\n return true;\n }\n\n for (const key in current) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n for (const key in prev) {\n if (hasChanged(prev[key], current[key])) {\n return true;\n }\n }\n\n return false;\n }\n\n return Object.is(prev, current) === false;\n}\n", "export function deepFreeze(obj: any, freezeClassInstances: boolean = false, seen = new WeakSet()): any {\n if (obj === null || typeof obj !== \"object\" || seen.has(obj) || Object.isFrozen(obj)) {\n return obj;\n }\n\n seen.add(obj);\n\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n deepFreeze(obj[i], freezeClassInstances, seen);\n }\n } else {\n const props = Reflect.ownKeys(obj);\n for (let i = 0, l = props.length; i < l; i++) {\n deepFreeze(obj[props[i]], freezeClassInstances, seen);\n }\n\n // If the object is an instance of a class (not a plain object or array) we need to freeze the prototype\n if (freezeClassInstances) {\n const proto = Object.getPrototypeOf(obj);\n if (proto && proto !== Object.prototype) {\n deepFreeze(proto, freezeClassInstances, seen);\n }\n }\n }\n\n Object.freeze(obj);\n\n return obj;\n}\n\nexport function deepCloneUnfreeze<T>(obj: T, cloneClassInstances = false, seen = new WeakMap()): T {\n if (typeof obj === \"undefined\" || obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (seen.has(obj)) {\n return seen.get(obj);\n }\n\n let clone: any;\n let cloned = false;\n\n switch (true) {\n case Array.isArray(obj): {\n clone = [];\n for (let i = 0, l = obj.length; i < l; i++) {\n clone[i] = deepCloneUnfreeze(obj[i], cloneClassInstances, seen);\n }\n cloned = true;\n break;\n }\n case obj instanceof Date: {\n clone = new Date(obj.getTime());\n cloned = true;\n break;\n }\n case obj instanceof RegExp: {\n clone = new RegExp(obj.source, obj.flags);\n cloned = true;\n break;\n }\n case obj instanceof Map: {\n clone = new Map();\n for (const [key, value] of obj.entries()) {\n clone.set(\n deepCloneUnfreeze(key, cloneClassInstances, seen),\n deepCloneUnfreeze(value, cloneClassInstances, seen)\n );\n }\n cloned = true;\n break;\n }\n case obj instanceof Set: {\n clone = new Set();\n for (const value of obj.values()) {\n clone.add(deepCloneUnfreeze(value, cloneClassInstances, seen));\n }\n cloned = true;\n break;\n }\n case obj instanceof ArrayBuffer: {\n clone = obj.slice(0);\n cloned = true;\n break;\n }\n // TypedArrays and DataView\n case ArrayBuffer.isView(obj): {\n clone = new (obj as any).constructor(obj.buffer.slice(0));\n cloned = true;\n break;\n }\n // Node.js Buffer\n case typeof Buffer !== \"undefined\" && obj instanceof Buffer: {\n clone = Buffer.from(obj);\n cloned = true;\n break;\n }\n case obj instanceof Error: {\n clone = new (obj as any).constructor(obj.message);\n break;\n }\n // Non clonable objects\n case obj instanceof Promise ||\n obj instanceof WeakMap ||\n obj instanceof WeakSet ||\n typeof obj === \"function\" ||\n typeof obj === \"symbol\": {\n clone = obj;\n cloned = true;\n break;\n }\n // Instance of a class\n case obj.constructor && obj.constructor !== Object: {\n if (!cloneClassInstances) {\n clone = obj;\n cloned = true;\n break;\n }\n clone = Object.create(Object.getPrototypeOf(obj));\n break;\n }\n\n // Plain objects\n default: {\n clone = {};\n\n for (const key in obj) {\n clone[key] = deepCloneUnfreeze(obj[key], cloneClassInstances, seen);\n }\n\n cloned = true;\n break;\n }\n }\n\n seen.set(obj, clone);\n\n if (!cloned) {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n for (const key of Reflect.ownKeys(descriptors)) {\n const descriptor = descriptors[key as string];\n if (\"value\" in descriptor) {\n descriptor.value = deepCloneUnfreeze(descriptor.value, cloneClassInstances, seen);\n }\n Object.defineProperty(clone, key, descriptor);\n }\n }\n\n return clone;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/utils/deep-freeze.ts
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
|
-
export function deepFreeze(obj: any, freezeClassInstances: boolean = false): any {
|
|
2
|
-
if (typeof obj
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
deepFreeze(obj[i]);
|
|
6
|
-
}
|
|
7
|
-
} else {
|
|
8
|
-
const props = Reflect.ownKeys(obj);
|
|
9
|
-
for (let i = 0, l = props.length; i < l; i++) {
|
|
10
|
-
deepFreeze(obj[props[i]]);
|
|
11
|
-
}
|
|
1
|
+
export function deepFreeze(obj: any, freezeClassInstances: boolean = false, seen = new WeakSet()): any {
|
|
2
|
+
if (obj === null || typeof obj !== "object" || seen.has(obj) || Object.isFrozen(obj)) {
|
|
3
|
+
return obj;
|
|
4
|
+
}
|
|
12
5
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
seen.add(obj);
|
|
7
|
+
|
|
8
|
+
if (Array.isArray(obj)) {
|
|
9
|
+
for (let i = 0, l = obj.length; i < l; i++) {
|
|
10
|
+
deepFreeze(obj[i], freezeClassInstances, seen);
|
|
11
|
+
}
|
|
12
|
+
} else {
|
|
13
|
+
const props = Reflect.ownKeys(obj);
|
|
14
|
+
for (let i = 0, l = props.length; i < l; i++) {
|
|
15
|
+
deepFreeze(obj[props[i]], freezeClassInstances, seen);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// If the object is an instance of a class (not a plain object or array) we need to freeze the prototype
|
|
19
|
+
if (freezeClassInstances) {
|
|
20
|
+
const proto = Object.getPrototypeOf(obj);
|
|
21
|
+
if (proto && proto !== Object.prototype) {
|
|
22
|
+
deepFreeze(proto, freezeClassInstances, seen);
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
|
-
Object.freeze(obj);
|
|
22
25
|
}
|
|
23
26
|
|
|
27
|
+
Object.freeze(obj);
|
|
28
|
+
|
|
24
29
|
return obj;
|
|
25
30
|
}
|
|
26
31
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "valyrian.js",
|
|
3
|
-
"version": "8.1.
|
|
3
|
+
"version": "8.1.5",
|
|
4
4
|
"description": "Lightweight steel to forge PWAs. (Minimal Frontend Framework with server side rendering and other capabilities)",
|
|
5
5
|
"repository": "git@github.com:Masquerade-Circus/valyrian.js.git",
|
|
6
6
|
"author": "Masquerade <christian@masquerade-circus.net>",
|