@actdim/utico 1.1.2 → 1.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/README.md +1245 -5
- package/dist/array.es.js.map +1 -1
- package/dist/arrayExtensions.es.js.map +1 -1
- package/dist/asyncMutex.d.ts +1 -1
- package/dist/asyncMutex.d.ts.map +1 -1
- package/dist/asyncMutex.es.js +17 -17
- package/dist/asyncMutex.es.js.map +1 -1
- package/dist/cache/cacheContracts.es.js.map +1 -1
- package/dist/cache/memoryCache.d.ts +2 -3
- package/dist/cache/memoryCache.d.ts.map +1 -1
- package/dist/cache/memoryCache.es.js +2 -4
- package/dist/cache/memoryCache.es.js.map +1 -1
- package/dist/cache/persistentCache.d.ts +4 -2
- package/dist/cache/persistentCache.d.ts.map +1 -1
- package/dist/cache/persistentCache.es.js +41 -40
- package/dist/cache/persistentCache.es.js.map +1 -1
- package/dist/dataFormats.d.ts +1 -1
- package/dist/dataFormats.es.js.map +1 -1
- package/dist/dateTimeDataFormat.d.ts +13 -12
- package/dist/dateTimeDataFormat.d.ts.map +1 -1
- package/dist/dateTimeDataFormat.es.js +62 -68
- package/dist/dateTimeDataFormat.es.js.map +1 -1
- package/dist/decorators.d.ts +2 -0
- package/dist/decorators.d.ts.map +1 -0
- package/dist/decorators.es.js +20 -0
- package/dist/decorators.es.js.map +1 -0
- package/dist/gfx/canvasUtils.es.js.map +1 -1
- package/dist/gfx/color.es.js.map +1 -1
- package/dist/i18n/cultures.es.js.map +1 -1
- package/dist/i18n/enUsCulture.d.ts.map +1 -1
- package/dist/i18n/enUsCulture.es.js +17 -18
- package/dist/i18n/enUsCulture.es.js.map +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/math.es.js.map +1 -1
- package/dist/metadata.d.ts +3 -3
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.es.js +8 -8
- package/dist/metadata.es.js.map +1 -1
- package/dist/patterns.es.js.map +1 -1
- package/dist/store/dataStore.d.ts +17 -43
- package/dist/store/dataStore.d.ts.map +1 -1
- package/dist/store/dataStore.es.js +98 -92
- package/dist/store/dataStore.es.js.map +1 -1
- package/dist/store/persistentStore.d.ts +5 -4
- package/dist/store/persistentStore.d.ts.map +1 -1
- package/dist/store/persistentStore.es.js +12 -11
- package/dist/store/persistentStore.es.js.map +1 -1
- package/dist/store/storeContracts.d.ts +39 -9
- package/dist/store/storeContracts.d.ts.map +1 -1
- package/dist/store/storeContracts.es.js +2 -2
- package/dist/store/storeContracts.es.js.map +1 -1
- package/dist/store/storeDb.es.js +11 -11
- package/dist/store/storeDb.es.js.map +1 -1
- package/dist/stringCore.d.ts +1 -1
- package/dist/stringCore.d.ts.map +1 -1
- package/dist/stringCore.es.js +5 -5
- package/dist/stringCore.es.js.map +1 -1
- package/dist/structEvent.d.ts +4 -3
- package/dist/structEvent.d.ts.map +1 -1
- package/dist/structEvent.es.js +16 -9
- package/dist/structEvent.es.js.map +1 -1
- package/dist/typeCore.es.js.map +1 -1
- package/dist/typeUtils.d.ts +7 -6
- package/dist/typeUtils.d.ts.map +1 -1
- package/dist/typeUtils.es.js +38 -34
- package/dist/typeUtils.es.js.map +1 -1
- package/dist/utils.es.js.map +1 -1
- package/dist/watchable.es.js.map +1 -1
- package/package.json +7 -4
package/dist/store/storeDb.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncMutex as h } from "../asyncMutex.es.js";
|
|
2
2
|
import * as s from "dexie";
|
|
3
|
-
const
|
|
4
|
-
class
|
|
3
|
+
const n = "metadata", o = "data", l = ["&key", "value"], c = new h();
|
|
4
|
+
class d extends s.Dexie {
|
|
5
5
|
// catalog/registry
|
|
6
6
|
metadata;
|
|
7
7
|
data;
|
|
@@ -12,11 +12,11 @@ class i extends s.Dexie {
|
|
|
12
12
|
super(t), this._isDisposed = !1;
|
|
13
13
|
const e = this;
|
|
14
14
|
e.version(1).stores({
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
}), this.metadata = e.table(
|
|
18
|
-
|
|
19
|
-
}), this.metadata.hook("updating", (
|
|
15
|
+
[n]: a.join(", "),
|
|
16
|
+
[o]: l.join(", ")
|
|
17
|
+
}), this.metadata = e.table(n), this.data = e.table(o), this.metadata.hook("creating", (i, r) => {
|
|
18
|
+
r.createdAt = Date.now();
|
|
19
|
+
}), this.metadata.hook("updating", (i, r, w) => ({ ...i, updatedAt: Date.now() }));
|
|
20
20
|
}
|
|
21
21
|
[Symbol.dispose]() {
|
|
22
22
|
this._isDisposed || (this.isOpen() && this.close(), this._isDisposed = !0);
|
|
@@ -65,8 +65,8 @@ class i extends s.Dexie {
|
|
|
65
65
|
}
|
|
66
66
|
static async delete(t) {
|
|
67
67
|
try {
|
|
68
|
-
await
|
|
69
|
-
await
|
|
68
|
+
await c.dispatch(async () => {
|
|
69
|
+
await d.exists(t) && await s.Dexie.delete(t);
|
|
70
70
|
});
|
|
71
71
|
} catch (a) {
|
|
72
72
|
if (a instanceof s.Dexie.InvalidStateError || a instanceof s.Dexie.VersionError)
|
|
@@ -79,13 +79,13 @@ class i extends s.Dexie {
|
|
|
79
79
|
return s.Dexie.exists(t);
|
|
80
80
|
}
|
|
81
81
|
static async open(t, a) {
|
|
82
|
-
return await
|
|
82
|
+
return await c.dispatch(async () => {
|
|
83
83
|
const e = a(t);
|
|
84
84
|
return await e.open(), e;
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
export {
|
|
89
|
-
|
|
89
|
+
d as StoreDb
|
|
90
90
|
};
|
|
91
91
|
//# sourceMappingURL=storeDb.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeDb.es.js","sources":["D:/Src/my/actdim/public/utico/src/store/storeDb.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"storeDb.es.js","sources":["D:/Src/my/actdim/public/utico/src/store/storeDb.ts"],"sourcesContent":null,"names":["metadataTableName","dataTableName","dataFieldDefTemplate","mutex","AsyncMutex","StoreDb","Dexie","name","metadataFieldDefTemplate","db","key","obj","mods","err","action","transactionMode","keys","factory","store"],"mappings":"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"}
|
package/dist/stringCore.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ declare function equals(strA: string, strB: string, ignoreCase?: boolean, locale
|
|
|
4
4
|
declare function ciStartsWith(str: string, searchStr: string, locale?: string): boolean;
|
|
5
5
|
declare function ciEndsWith(str: string, searchStr: string, locale?: string): boolean;
|
|
6
6
|
declare function ciIndexOf(str: string, searchStr: string, locale?: string): number;
|
|
7
|
-
declare function ciIncludes(str: string, searchStr: string, locale?: string): boolean
|
|
7
|
+
declare function ciIncludes(str: string, searchStr: string, locale?: string): boolean;
|
|
8
8
|
export { equals, compare, ciCompare, ciStartsWith, ciEndsWith, ciIndexOf, ciIncludes };
|
|
9
9
|
//# sourceMappingURL=stringCore.d.ts.map
|
package/dist/stringCore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringCore.d.ts","sourceRoot":"","sources":["../src/stringCore.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,SAAS,SAMwD,MAAM,QAAQ,MAAM,4BAMvF,CAAC;AAEL,iBAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,UAAQ,EAAE,MAAM,SAAqB,UAQ3F;AAGD,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,UAAQ,EAAE,MAAM,SAAqB,WAQ1F;AAED,iBAAS,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,WAKhF;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,WAK9E;AAED,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,UAK7E;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,
|
|
1
|
+
{"version":3,"file":"stringCore.d.ts","sourceRoot":"","sources":["../src/stringCore.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,SAAS,SAMwD,MAAM,QAAQ,MAAM,4BAMvF,CAAC;AAEL,iBAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,UAAQ,EAAE,MAAM,SAAqB,UAQ3F;AAGD,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,UAAQ,EAAE,MAAM,SAAqB,WAQ1F;AAED,iBAAS,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,WAKhF;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,WAK9E;AAED,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,UAK7E;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAqB,WAK9E;AAED,OAAO,EACH,MAAM,EACN,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACb,CAAC"}
|
package/dist/stringCore.es.js
CHANGED
|
@@ -17,17 +17,17 @@ function u(e, n, t = navigator.language) {
|
|
|
17
17
|
function r(e, n, t = navigator.language) {
|
|
18
18
|
return typeof e != "string" || typeof n != "string" || e.length < n.length ? !1 : i(e.substring(e.length - n.length), n, !0, t);
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function f(e, n, t = navigator.language) {
|
|
21
21
|
return typeof e != "string" || typeof n != "string" || e.length < n.length ? -1 : e.toLocaleUpperCase(t).indexOf(n.toLocaleUpperCase(t));
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
return typeof e != "string" || typeof n != "string" || e.length < n.length ?
|
|
23
|
+
function p(e, n, t = navigator.language) {
|
|
24
|
+
return typeof e != "string" || typeof n != "string" || e.length < n.length ? !1 : e.toLocaleUpperCase(t).includes(n.toLocaleUpperCase(t));
|
|
25
25
|
}
|
|
26
26
|
export {
|
|
27
27
|
a as ciCompare,
|
|
28
28
|
r as ciEndsWith,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
p as ciIncludes,
|
|
30
|
+
f as ciIndexOf,
|
|
31
31
|
u as ciStartsWith,
|
|
32
32
|
l as compare,
|
|
33
33
|
i as equals
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringCore.es.js","sources":["D:/Src/my/actdim/public/utico/src/stringCore.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"stringCore.es.js","sources":["D:/Src/my/actdim/public/utico/src/stringCore.ts"],"sourcesContent":null,"names":["defaulCollator","ciCompare","collatorOptions","strA","strB","locale","compare","ignoreCase","equals","ciStartsWith","str","searchStr","ciEndsWith","ciIndexOf","ciIncludes"],"mappings":"AAEA,MAAMA,IAAiB,KAAK,SAAA,GAEtBC,KAAa,MAAM;AACrB,QAAMC,IAAwC;AAAA,IAC1C,aAAa;AAAA;AAAA,EAAA;AAIjB,SAAO,IAAI,cAAc,KAAK,QAAWA,CAAe,IAAI,CAACC,GAAcC,GAAcC,IAAS,UAAU,aACjGF,EAAK,cAAcC,GAAMC,GAAQH,CAAe,IACvD,CAACC,GAAcC,GAAcC,MAEtBF,EAAK,kBAAkBE,CAAM,EAAE,cAAcD,EAAK,kBAAkBC,CAAM,GAAGA,CAAM;AAElG,GAAA;AAEA,SAASC,EAAQH,GAAcC,GAAcG,IAAa,IAAOF,IAAS,UAAU,UAAU;AAC1F,SAAI,OAAOF,KAAS,YAAY,OAAOC,KAAS,WACrCJ,EAAe,QAAQG,GAAMC,CAAI,IAExCG,IACON,EAAUE,GAAMC,GAAMC,CAAM,IAEhCF,EAAK,cAAcC,GAAMC,CAAM;AAC1C;AAGA,SAASG,EAAOL,GAAcC,GAAcG,IAAa,IAAOF,IAAS,UAAU,UAAU;AACzF,SAAI,OAAOF,KAAS,YAAY,OAAOC,KAAS,WACrCD,MAASC,IAEhBG,IACON,EAAUE,GAAMC,CAAI,MAAM,IAE9BD,EAAK,cAAcC,GAAMC,CAAM,MAAM;AAChD;AAEA,SAASI,EAAaC,GAAaC,GAAmBN,IAAS,UAAU,UAAU;AAC/E,SAAI,OAAOK,KAAQ,YAAY,OAAOC,KAAc,YAAYD,EAAI,SAASC,EAAU,SAC5E,KAEJH,EAAOE,EAAI,UAAU,GAAGC,EAAU,MAAM,GAAGA,GAAW,IAAMN,CAAM;AAC7E;AAEA,SAASO,EAAWF,GAAaC,GAAmBN,IAAS,UAAU,UAAU;AAC7E,SAAI,OAAOK,KAAQ,YAAY,OAAOC,KAAc,YAAYD,EAAI,SAASC,EAAU,SAC5E,KAEJH,EAAOE,EAAI,UAAUA,EAAI,SAASC,EAAU,MAAM,GAAGA,GAAW,IAAMN,CAAM;AACvF;AAEA,SAASQ,EAAUH,GAAaC,GAAmBN,IAAS,UAAU,UAAU;AAC5E,SAAI,OAAOK,KAAQ,YAAY,OAAOC,KAAc,YAAYD,EAAI,SAASC,EAAU,SAC5E,KAEJD,EAAI,kBAAkBL,CAAM,EAAE,QAAQM,EAAU,kBAAkBN,CAAM,CAAC;AACpF;AAEA,SAASS,EAAWJ,GAAaC,GAAmBN,IAAS,UAAU,UAAU;AAC7E,SAAI,OAAOK,KAAQ,YAAY,OAAOC,KAAc,YAAYD,EAAI,SAASC,EAAU,SAC5E,KAEJD,EAAI,kBAAkBL,CAAM,EAAE,SAASM,EAAU,kBAAkBN,CAAM,CAAC;AACrF;"}
|
package/dist/structEvent.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export declare class StructEvent<TStruct extends Record<string, any>, TTarget extends StructEventTarget<TStruct>, TType extends Extract<keyof TStruct, string> = Extract<keyof TStruct, string>> extends CustomEvent<TStruct[TType]> {
|
|
2
|
+
get type(): TType;
|
|
2
3
|
target: TTarget;
|
|
3
|
-
type: TType;
|
|
4
4
|
constructor(type: TType, eventInitDict?: CustomEventInit<TStruct[TType]> & {
|
|
5
5
|
target: TTarget;
|
|
6
6
|
});
|
|
7
7
|
}
|
|
8
8
|
export declare class StructEventTarget<TStruct extends Record<string, any>> extends EventTarget implements StructEventTarget<TStruct> {
|
|
9
|
+
private _listenerRegistry;
|
|
9
10
|
constructor();
|
|
10
11
|
addEventListener<K extends Extract<keyof TStruct, string>>(type: K, listener: (event: StructEvent<TStruct, this, K>) => void, options?: boolean | AddEventListenerOptions): void;
|
|
11
12
|
removeEventListener<K extends Extract<keyof TStruct, string>>(type: K, listener: (event: StructEvent<TStruct, this, K>) => void, options?: boolean | EventListenerOptions): void;
|
|
12
|
-
dispatchEvent<K extends Extract<keyof TStruct, string>>(event: StructEvent<TStruct,
|
|
13
|
-
hasEventListener<K extends Extract<keyof TStruct, string>>(type: K, listener: (event: StructEvent<TStruct,
|
|
13
|
+
dispatchEvent<K extends Extract<keyof TStruct, string>>(event: StructEvent<TStruct, StructEventTarget<TStruct>, K>): boolean;
|
|
14
|
+
hasEventListener<K extends Extract<keyof TStruct, string>>(type: K, listener: (event: StructEvent<TStruct, StructEventTarget<TStruct>, K>) => void): boolean;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=structEvent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structEvent.d.ts","sourceRoot":"","sources":["../src/structEvent.ts"],"names":[],"mappings":"AAEA,qBAAa,WAAW,CACpB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,OAAO,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC1C,KAAK,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,CAC/E,SAAQ,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"structEvent.d.ts","sourceRoot":"","sources":["../src/structEvent.ts"],"names":[],"mappings":"AAEA,qBAAa,WAAW,CACpB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,OAAO,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC1C,KAAK,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,CAC/E,SAAQ,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAIjC,IAAI,IAAI,IACiB,KAAK,CAC7B;IAED,MAAM,EAAE,OAAO,CAAC;gBACJ,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE;CAKjG;AAID,qBAAa,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,WAAY,YAAW,iBAAiB,CAAC,OAAO,CAAC;IACzH,OAAO,CAAC,iBAAiB,CAAoC;;IAM7D,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,EACrD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC5C,IAAI;IAUP,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,EACxD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACzC,IAAI;IAKP,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO;IAI5H,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO;CAG/J"}
|
package/dist/structEvent.es.js
CHANGED
|
@@ -1,30 +1,37 @@
|
|
|
1
|
-
class
|
|
1
|
+
class i extends CustomEvent {
|
|
2
|
+
// with useDefineForClassFields: false (in tsconfig), TypeScript compiles class fields using legacy assignment semantics
|
|
3
|
+
// instead of native ES2022 Object.defineProperty.
|
|
4
|
+
// declare readonly type: TType;
|
|
5
|
+
get type() {
|
|
6
|
+
return super.type;
|
|
7
|
+
}
|
|
8
|
+
// readonly type: TType;
|
|
2
9
|
target;
|
|
3
|
-
// currentTarget: TTarget;
|
|
4
|
-
type;
|
|
5
10
|
constructor(e, t) {
|
|
6
11
|
super(e, t), this.target = t.target;
|
|
7
12
|
}
|
|
8
13
|
}
|
|
9
|
-
class
|
|
14
|
+
class a extends EventTarget {
|
|
15
|
+
_listenerRegistry = /* @__PURE__ */ new Map();
|
|
10
16
|
constructor() {
|
|
11
17
|
super();
|
|
12
18
|
}
|
|
13
19
|
addEventListener(e, t, r) {
|
|
14
|
-
|
|
20
|
+
let s = this._listenerRegistry.get(e);
|
|
21
|
+
s || (s = /* @__PURE__ */ new Set(), this._listenerRegistry.set(e, s)), s.add(t), super.addEventListener(e, t, r);
|
|
15
22
|
}
|
|
16
23
|
removeEventListener(e, t, r) {
|
|
17
|
-
super.removeEventListener(e, t);
|
|
24
|
+
this._listenerRegistry.get(e)?.delete(t), super.removeEventListener(e, t);
|
|
18
25
|
}
|
|
19
26
|
dispatchEvent(e) {
|
|
20
27
|
return super.dispatchEvent(e);
|
|
21
28
|
}
|
|
22
29
|
hasEventListener(e, t) {
|
|
23
|
-
|
|
30
|
+
return this._listenerRegistry.get(e)?.has(t) ?? !1;
|
|
24
31
|
}
|
|
25
32
|
}
|
|
26
33
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
i as StructEvent,
|
|
35
|
+
a as StructEventTarget
|
|
29
36
|
};
|
|
30
37
|
//# sourceMappingURL=structEvent.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structEvent.es.js","sources":["D:/Src/my/actdim/public/utico/src/structEvent.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"structEvent.es.js","sources":["D:/Src/my/actdim/public/utico/src/structEvent.ts"],"sourcesContent":null,"names":["StructEvent","type","eventInitDict","StructEventTarget","listener","options","set","event"],"mappings":"AAEO,MAAMA,UAIH,YAA4B;AAAA;AAAA;AAAA;AAAA,EAIlC,IAAI,OAAO;AACP,WAAO,MAAM;AAAA,EACjB;AAAA;AAAA,EAEA;AAAA,EACA,YAAYC,GAAaC,GAAuE;AAC5F,UAAMD,GAAMC,CAAa,GAEzB,KAAK,SAASA,EAAc;AAAA,EAChC;AACJ;AAIO,MAAMC,UAA+D,YAAkD;AAAA,EAClH,wCAAwB,IAAA;AAAA,EAEhC,cAAc;AACV,UAAA;AAAA,EACJ;AAAA,EAEA,iBACIF,GACAG,GACAC,GACI;AACJ,QAAIC,IAAM,KAAK,kBAAkB,IAAIL,CAAI;AACzC,IAAKK,MACDA,wBAAU,IAAA,GACV,KAAK,kBAAkB,IAAIL,GAAMK,CAAG,IAExCA,EAAI,IAAIF,CAAQ,GAChB,MAAM,iBAAiBH,GAAMG,GAAUC,CAAO;AAAA,EAClD;AAAA,EAEA,oBACIJ,GACAG,GACAC,GACI;AACJ,SAAK,kBAAkB,IAAIJ,CAAI,GAAG,OAAOG,CAAQ,GACjD,MAAM,oBAAoBH,GAAMG,CAAQ;AAAA,EAC5C;AAAA,EAEA,cAAwDG,GAAqE;AACzH,WAAO,MAAM,cAAcA,CAAK;AAAA,EACpC;AAAA,EAEA,iBAA2DN,GAASG,GAAyF;AACzJ,WAAO,KAAK,kBAAkB,IAAIH,CAAI,GAAG,IAAIG,CAAQ,KAAK;AAAA,EAC9D;AACJ;"}
|
package/dist/typeCore.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeCore.es.js","sources":["D:/Src/my/actdim/public/utico/src/typeCore.ts"],"sourcesContent":["// @filename: typeCore.ts\r\n\r\n// type SplitStringToUnion<T extends string, Separator extends string> = T extends `${infer First}${Separator}${infer Rest}`\r\n// ? First | SplitStringToUnion<Rest, Separator>\r\n// : T;\r\n\r\n/** more useful version of Omit */\r\nexport type Skip<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; // FilterOut\r\n// export type Skip<T, K extends keyof T> = {\r\n// [P in keyof T as P extends K ? never : P]: T[P];\r\n// };\r\n\r\n// export type PickEx<T, TKeys extends keyof T | Array<keyof T>> = {\r\n// [K in TKeys extends Array<keyof T> ? TKeys[number] : TKeys]: T[K];\r\n// };\r\n\r\nexport type Filter<T, V> = {\r\n [K in keyof T as T[K] extends V ? K : never]: T[K];\r\n};\r\n\r\nexport type Diff<T, U> = Omit<T, keyof U>;\r\nexport type StrictDiff<T, U> = {\r\n [K in keyof T as K extends keyof U ? (T[K] extends U[K] ? (U[K] extends T[K] ? never : K) : K) : K]: T[K];\r\n};\r\n\r\n/** Mathematical (real) intersection */\r\nexport type CommonPart<T, U> = Pick<T, CommonKeys<T, U>>;\r\nexport type CommonPartEx<T extends object[]> =\r\n T extends [infer A extends object, infer B extends object, ...infer Rest extends object[]]\r\n ? CommonPartEx<[Pick<A, Extract<keyof A, keyof B>>, ...Rest]>\r\n : T extends [infer Only extends object]\r\n ? Only\r\n : unknown;\r\n\r\nexport type CommonPartFromSchema<T extends Record<string, object>> =\r\n keyof T extends infer K ?\r\n K extends any ?\r\n CommonPart<T[K & keyof T], CommonPartFromSchema<Omit<T, K & keyof T>>>\r\n : unknown\r\n : unknown;\r\n\r\nexport type CommonKeys<T, U> = Extract<keyof T, keyof U>;\r\nexport type CommonKeysEx<T extends object[]> =\r\n T extends [infer A extends object, infer B extends object, ...infer Rest extends object[]]\r\n ? CommonKeysEx<[{ [K in Extract<keyof A, keyof B>]: any }, ...Rest]>\r\n : T extends [infer Only extends object]\r\n ? keyof Only\r\n : never;\r\n\r\nexport type UnionToIntersection<U> =\r\n (U extends any ? (x: U) => void : never) extends (x: infer R) => void ? R : never;\r\n\r\nexport type ValueUnion<T> = T[keyof T];\r\n\r\nexport type TupleFromKeys<T, K extends readonly (keyof T)[]> = {\r\n [I in keyof K]: K[I] extends keyof T ? T[K[I]] : never\r\n};\r\n\r\nexport type Extend<T, U, K extends keyof U> = T & { [P in K]: U[K] };\r\n\r\n// Validation\r\nexport type ValueOf<T> = T[keyof T];\r\nexport type OneOnly<T, Key extends keyof T> = { [key in Exclude<keyof T, Key>]: null } & Pick<T, Key>;\r\nexport type OneOfByKey<T> = { [key in keyof T]: OneOnly<T, key> };\r\nexport type OneOfType<T> = ValueOf<OneOfByKey<T>>;\r\n\r\n// Extract version\r\nexport type KeyOfType<FromType, KeepType = any, Include = true> = {\r\n [K in keyof FromType]: FromType[K] extends KeepType ? (Include extends true ? K : never) : Include extends true ? never : K;\r\n}[keyof FromType];\r\n\r\nexport type Weaken<T, K extends keyof T> = {\r\n [P in keyof T]: P extends K ? any : T[P];\r\n};\r\n\r\nexport type Mutable<T> = {\r\n -readonly [K in keyof T]: T[K];\r\n};\r\n\r\nexport type Constructor = new (...args: any[]) => any;\r\n// export type ConstructorParameters<TConstructor extends Constructor> = TConstructor extends new (...args: infer TArgs) => any ? TArgs : never;\r\n\r\n// Extracts class instance type from class constructor\r\nexport type ConstructorClass<TConstructor extends Constructor> = TConstructor extends new (...args: any[]) => infer TClass ? TClass : never;\r\n\r\n// This is what we want: to be able to create new class instances\r\n// either with or without \"new\" keyword\r\nexport type CallableConstructor<TConstructor extends Constructor> = TConstructor &\r\n ((...args: ConstructorParameters<TConstructor>) => ConstructorClass<TConstructor>);\r\n\r\n// ToUpperCase\r\nexport type ToUpper<T> = T extends string\r\n ? Uppercase<T>\r\n : {\r\n [K in keyof T as K extends string ? Uppercase<K> : K]: T[K];\r\n };\r\n\r\n// ToLowerCase\r\nexport type ToLower<T> = T extends string\r\n ? Lowercase<T>\r\n : {\r\n [K in keyof T as K extends string ? Lowercase<K> : K]: T[K];\r\n };\r\n\r\nexport type AddPrefix<T, TPrefix extends string> = T extends string\r\n ? `${TPrefix}${T}`\r\n : {\r\n [K in keyof T as AddPrefix<K, TPrefix>]: T[K];\r\n };\r\n\r\nexport type AddSuffix<T, TSuffix extends string> = T extends string\r\n ? `${T}${TSuffix}`\r\n : {\r\n [K in keyof T as AddSuffix<K, TSuffix>]: T[K];\r\n };\r\n\r\nexport type RemovePrefix<T, TPrefix extends string> = T extends string\r\n ? T extends `${TPrefix}${infer Tail}`\r\n ? RemovePrefix<Tail, TPrefix>\r\n : T // never?\r\n : {\r\n [K in keyof T as RemovePrefix<K, TPrefix>]: T[K];\r\n };\r\n\r\nexport type RemoveSuffix<T, TSuffix extends string> = T extends string\r\n ? T extends `${infer Head}${TSuffix}`\r\n ? RemoveSuffix<Head, TSuffix>\r\n : T // never?\r\n : {\r\n [K in keyof T as RemoveSuffix<K, TSuffix>]: T[K];\r\n };\r\n\r\nexport const getPrefixer = (prefix: string) => (value: string) => {\r\n return `${prefix}${value}`;\r\n};\r\n\r\nexport const getValuePrefixer =\r\n <T extends { [key: string]: string }>(prefix: string) =>\r\n (dict: T): T => {\r\n return Object.fromEntries(Object.keys(dict).map((k) => [k, `${prefix}${dict[k]}`])) as T;\r\n };\r\n\r\nexport const getKeyPrefixer =\r\n <T extends { [key: string]: any }>(prefix: string) =>\r\n (obj: T): object => {\r\n return Object.fromEntries(Object.keys(obj).map((k) => [`${prefix}${k}`, obj[k]]));\r\n };\r\n\r\n// export type MaybePromise<T> = T extends undefined ? void : T | PromiseLike<Awaited<T>>; // TODO: check\r\nexport type MaybePromise<T> = T extends undefined ? void : T | PromiseLike<T>;\r\n\r\nexport type Func<TArgs extends any[] = any[], T = any> = {\r\n (...args: TArgs): T;\r\n name?: string;\r\n};\r\n\r\nexport type Action<TArgs extends any[] = any[]> = Func<TArgs, void>;\r\n\r\nexport type AsyncFunc<TArgs extends any[] = any[], T = any> = Func<TArgs, PromiseLike<T>>;\r\n\r\n// use built-in ReturnType:\r\n// type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any;\r\n// my version:\r\n// export type ReturnType<TFunc> = TFunc extends Func<infer TArgs, infer TResult> ? TResult : never;\r\n\r\n// use built-in Awaited type:\r\n/*\r\n// Recursively unwraps the \"awaited type\" of a type. \r\n// Non-promise \"thenables\" should resolve to `never`. \r\n// This emulates the behavior of `await`.\r\ntype Awaited<T> = T extends null | undefined ? T : // special case for `null | undefined` when not in `--strictNullChecks` mode\r\n T extends object & { then(onfulfilled: infer F, ...args: infer _): any; } ? // `await` only unwraps object types with a callable `then`. Non-object types are not unwrapped\r\n F extends ((value: infer V, ...args: infer _) => any) ? // if the argument to `then` is callable, extracts the first argument\r\n Awaited<V> : // recursively unwrap the value\r\n never : // the argument to `then` was not callable\r\n T; // non-object or non-thenable\r\n*/\r\n\r\n// my simple version (PromiseType):\r\n// export type Awaited<TPromise> = TPromise extends PromiseLike<infer TResult> ? TResult : TPromise;\r\n\r\n// AsyncReturnType\r\nexport type AwaitedReturnType<TFunc extends Func> = Awaited<ReturnType<TFunc>>;\r\n\r\nexport type Factory<T = any, TArgs extends any[] = []> = Func<TArgs, T>;\r\n\r\nexport type IProvider<TFactory = Factory> = {\r\n get: TFactory;\r\n};\r\n\r\n// (Func)ParameterType\r\n// type Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never;\r\n/** see also built-in Parameters type */\r\nexport type ParameterType<TFunc, TParamIndex extends number> = TFunc extends Func<infer TArgs extends any[], infer TResult>\r\n ? TArgs[TParamIndex]\r\n : never;\r\n\r\n// Lambda?\r\n// export type Executor<T = void, TArgs extends any[] = []> = Func<TArgs, T> | AsyncFunc<[], T>; // same\r\nexport type Executor<T = void, TArgs extends any[] = []> = Func<TArgs, T | PromiseLike<T>>;\r\n\r\nexport type Overwrite<Base, Overrides> = Omit<Base, keyof Overrides> & Overrides;\r\n// or\r\n// export type Overwrite<Base, Overrides> = Pick<Base, Exclude<keyof Base, keyof Overrides>> & Overrides;\r\n\r\nexport type Extends<T, TShape> = T extends TShape ? true : false;\r\n\r\n// more strict than Extract\r\nexport type RequireExtends<T extends TShape, TShape> = T;\r\n\r\nexport type KeyOf<T, TKey extends keyof T> = TKey;\r\n\r\nexport type HasKeys<T> = keyof T extends never ? false : true;\r\n\r\nexport type IsEmpty<T> = HasKeys<T> extends false ? true : false;\r\n\r\nexport type Require<T, TCondition extends boolean> = TCondition extends true ? T : never;\r\n\r\nexport type IF<TCondition extends boolean, Then, Else = never> = TCondition extends true ? Then : Else;\r\n\r\nexport type Conditional<TCondition extends boolean, Then, Else = never> = IF<TCondition, Then, Else>;\r\n\r\nexport type IsKeyOf<T, TKey> = TKey extends keyof T ? true : false;\r\n\r\nexport type KeysOf<T, TKeys extends keyof T | Array<keyof T>> = TKeys extends Array<keyof T> ? TKeys[number] : TKeys;\r\n\r\nexport type MaybeKeyOf<T, K extends PropertyKey> = K extends keyof T ? K : never;\r\n\r\nexport type IsTuple<T> = T extends readonly [...infer Elements] ? (number extends Elements[\"length\"] ? false : true) : false;\r\n\r\n// for classes only:\r\n// export type ExtractInterface<T extends abstract new (...args: any) => any> = T extends abstract new (...args: any) => infer R\r\n// ? { [K in keyof R]: R[K] }\r\n// : never;\r\n\r\n// Struct(Copy), Shape, Interface \r\nexport type Struct<T> = { [K in keyof T]: T[K] };\r\n\r\ntype NonFunctionPropertyKeys<T> = {\r\n [K in keyof T]: T[K] extends (...args: any[]) => any ? never : K\r\n}[keyof T];\r\n\r\ntype NextDepthMap = {\r\n 0: 1;\r\n 1: 2;\r\n 2: 3;\r\n 3: 4;\r\n 4: 5;\r\n 5: 5;\r\n};\r\ntype NextDepth<D extends number> = D extends keyof NextDepthMap ? NextDepthMap[D] : 5;\r\n\r\nexport type KeyPath<T, D extends number = 0> =\r\n D extends 5 ? never :\r\n T extends readonly any[]\r\n ? `${number}` | `${number}.${KeyPath<T[number], NextDepth<D>>}`\r\n : T extends object\r\n ? {\r\n [K in NonFunctionPropertyKeys<T> & (string | number)]:\r\n T[K] extends readonly any[]\r\n ? `${K}` |\r\n `${K}.${number}` |\r\n `${K}.${number}.${KeyPath<T[K][number], NextDepth<D>>}`\r\n : T[K] extends object\r\n ? `${K}` | `${K}.${KeyPath<T[K], NextDepth<D>>}`\r\n : `${K}`;\r\n }[NonFunctionPropertyKeys<T> & (string | number)]\r\n : never;\r\n\r\nexport type KeyPathValue<T, P extends string> =\r\n P extends `${infer K}.${infer Rest}`\r\n ? K extends keyof T\r\n ? KeyPathValue<T[K], Rest>\r\n : T extends readonly any[]\r\n ? K extends `${number}`\r\n ? KeyPathValue<T[number], Rest>\r\n : never\r\n : never\r\n : P extends keyof T\r\n ? T[P]\r\n : T extends readonly any[]\r\n ? P extends `${number}`\r\n ? T[number]\r\n : never\r\n : never;\r\n\r\n// Slice\r\nexport type KeyPathValueMap<T> = {\r\n [K in KeyPath<T>]?: KeyPathValue<T, K>;\r\n};"],"names":["getPrefixer","prefix","value","getValuePrefixer","dict","k","getKeyPrefixer","obj"],"mappings":"AAoIO,MAAMA,IAAc,CAACC,MAAmB,CAACC,MACrC,GAAGD,CAAM,GAAGC,CAAK,IAGfC,IACT,CAAsCF,MAClC,CAACG,MACU,OAAO,YAAY,OAAO,KAAKA,CAAI,EAAE,IAAI,CAACC,MAAM,CAACA,GAAG,GAAGJ,CAAM,GAAGG,EAAKC,CAAC,CAAC,EAAE,CAAC,CAAC,GAGjFC,IACT,CAAmCL,MAC/B,CAACM,MACU,OAAO,YAAY,OAAO,KAAKA,CAAG,EAAE,IAAI,CAACF,MAAM,CAAC,GAAGJ,CAAM,GAAGI,CAAC,IAAIE,EAAIF,CAAC,CAAC,CAAC,CAAC;"}
|
|
1
|
+
{"version":3,"file":"typeCore.es.js","sources":["D:/Src/my/actdim/public/utico/src/typeCore.ts"],"sourcesContent":null,"names":["getPrefixer","prefix","value","getValuePrefixer","dict","k","getKeyPrefixer","obj"],"mappings":"AAoIO,MAAMA,IAAc,CAACC,MAAmB,CAACC,MACrC,GAAGD,CAAM,GAAGC,CAAK,IAGfC,IACT,CAAsCF,MAClC,CAACG,MACU,OAAO,YAAY,OAAO,KAAKA,CAAI,EAAE,IAAI,CAACC,MAAM,CAACA,GAAG,GAAGJ,CAAM,GAAGG,EAAKC,CAAC,CAAC,EAAE,CAAC,CAAC,GAGjFC,IACT,CAAmCL,MAC/B,CAACM,MACU,OAAO,YAAY,OAAO,KAAKA,CAAG,EAAE,IAAI,CAACF,MAAM,CAAC,GAAGJ,CAAM,GAAGI,CAAC,IAAIE,EAAIF,CAAC,CAAC,CAAC,CAAC;"}
|
package/dist/typeUtils.d.ts
CHANGED
|
@@ -5,17 +5,18 @@ export declare function satisfies<TShape>(): <T extends TShape>(obj: T) => T;
|
|
|
5
5
|
export declare function strictSatisfies<T>(): <U extends T>(u: U & Record<Exclude<keyof U, keyof T>, never>) => U & Record<Exclude<keyof U, keyof T>, never>;
|
|
6
6
|
export declare const keyOf: <T extends object, TKey extends keyof T = keyof T>(key: TKey, obj?: T) => TKey;
|
|
7
7
|
export declare function nameOf<T extends object>(f: (x: T) => T[keyof T]): keyof T;
|
|
8
|
-
type
|
|
8
|
+
type _KeyMap<T extends object> = {
|
|
9
9
|
[K in keyof T]: K;
|
|
10
10
|
};
|
|
11
|
-
export declare function
|
|
12
|
-
type
|
|
11
|
+
export declare function _keyMap<T extends object>(obj?: T): _KeyMap<T>;
|
|
12
|
+
type _NH<T> = {
|
|
13
13
|
nameOf(f: (x: T) => T[keyof T]): keyof T;
|
|
14
14
|
};
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function _nh<T>(obj?: T): _NH<T>;
|
|
16
16
|
export declare function getPropertyPath<T>(expr: (x: T) => any): (string | number | symbol)[];
|
|
17
17
|
export declare function combinePropertyPath(path?: (string | number | symbol)[]): string;
|
|
18
18
|
export declare function createConstructor<TConstructor extends Constructor>(type: TConstructor): CallableConstructor<TConstructor>;
|
|
19
|
+
export declare function typed<TCtor extends Constructor>(ctor: TCtor): CallableConstructor<TCtor>;
|
|
19
20
|
export declare function getPrototypes(obj: any): any[];
|
|
20
21
|
export declare function proxify<T extends object>(source: () => T): T;
|
|
21
22
|
export declare function getEnumValue<T>(enumType: T, name: string, defaultValue: T[keyof T]): T[keyof T];
|
|
@@ -28,9 +29,9 @@ export declare function isPlainObject(value: any): boolean;
|
|
|
28
29
|
export declare const orderedStringify: (obj: any, keyCompareFn?: (a: string, b: string) => number, replacer?: (this: any, key: string, value: any) => any, space?: string | number) => string;
|
|
29
30
|
export declare function jsonEquals<T>(obj1: T, obj2: T): boolean;
|
|
30
31
|
export declare function jsonClone<T extends object>(obj: T): T;
|
|
31
|
-
declare const lock: unique symbol;
|
|
32
|
+
declare const $lock: unique symbol;
|
|
32
33
|
export type ILockable<T = any> = Readonly<T> & {
|
|
33
|
-
[lock]?: (locked: boolean) => void;
|
|
34
|
+
[$lock]?: (locked: boolean) => void;
|
|
34
35
|
};
|
|
35
36
|
export declare function toReadOnly<T extends object>(obj: T, throwOnSet?: boolean): ILockable<T>;
|
|
36
37
|
export type DeepPropertyKey = PropertyKey[];
|
package/dist/typeUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../src/typeUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"typeUtils.d.ts","sourceRoot":"","sources":["../src/typeUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/typeUtils.es.js
CHANGED
|
@@ -9,14 +9,14 @@ function R(t, e, n = !0) {
|
|
|
9
9
|
let u;
|
|
10
10
|
return n ? (o = o.toLowerCase(), u = f.find((r) => String(r).toLowerCase().trim() === o)) : u = f.find((r) => String(r).trim() === o), [u, u == null ? void 0 : t[u]];
|
|
11
11
|
}
|
|
12
|
-
function
|
|
12
|
+
function h() {
|
|
13
13
|
return (t) => t;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
function v() {
|
|
16
16
|
return (t) => t;
|
|
17
17
|
}
|
|
18
|
-
const
|
|
19
|
-
function
|
|
18
|
+
const E = (t, e) => t;
|
|
19
|
+
function d(t) {
|
|
20
20
|
const e = new Proxy(
|
|
21
21
|
{},
|
|
22
22
|
{
|
|
@@ -25,7 +25,7 @@ function g(t) {
|
|
|
25
25
|
);
|
|
26
26
|
return t(e);
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
function b(t) {
|
|
29
29
|
return new Proxy(
|
|
30
30
|
{},
|
|
31
31
|
{
|
|
@@ -35,13 +35,13 @@ function E(t) {
|
|
|
35
35
|
}
|
|
36
36
|
function C(t) {
|
|
37
37
|
return {
|
|
38
|
-
nameOf: (e) =>
|
|
38
|
+
nameOf: (e) => d(e)
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
function I(t) {
|
|
42
|
-
return
|
|
42
|
+
return g(t);
|
|
43
43
|
}
|
|
44
|
-
function
|
|
44
|
+
function g(t, e) {
|
|
45
45
|
e == null && (e = []);
|
|
46
46
|
let n;
|
|
47
47
|
return n = () => new Proxy(
|
|
@@ -51,7 +51,7 @@ function d(t, e) {
|
|
|
51
51
|
}
|
|
52
52
|
), t(n()), e;
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function _(t) {
|
|
55
55
|
const e = [];
|
|
56
56
|
for (const n of t)
|
|
57
57
|
e.push(`["${n.toString()}"]`);
|
|
@@ -61,7 +61,7 @@ const O = [String, Number];
|
|
|
61
61
|
function P(t) {
|
|
62
62
|
return O.indexOf(t) >= 0;
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function J(t) {
|
|
65
65
|
if (P(t))
|
|
66
66
|
return t;
|
|
67
67
|
{
|
|
@@ -71,14 +71,17 @@ function j(t) {
|
|
|
71
71
|
return e.prototype = t.prototype, e;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function M(t) {
|
|
75
|
+
return t;
|
|
76
|
+
}
|
|
77
|
+
function $(t) {
|
|
75
78
|
const e = [];
|
|
76
79
|
let n;
|
|
77
80
|
for (; n = Object.getPrototypeOf(n || t), !!n; )
|
|
78
81
|
e.push(n);
|
|
79
82
|
return e;
|
|
80
83
|
}
|
|
81
|
-
function
|
|
84
|
+
function j(t) {
|
|
82
85
|
return new Proxy(
|
|
83
86
|
{},
|
|
84
87
|
{
|
|
@@ -114,7 +117,7 @@ function x(t, e, n) {
|
|
|
114
117
|
(!o.size || o.has(f)) && r(u);
|
|
115
118
|
});
|
|
116
119
|
}
|
|
117
|
-
function
|
|
120
|
+
function q(t, e, n) {
|
|
118
121
|
return x(e, t, n);
|
|
119
122
|
}
|
|
120
123
|
function S(t) {
|
|
@@ -134,17 +137,17 @@ const k = /* @__PURE__ */ (() => {
|
|
|
134
137
|
}
|
|
135
138
|
return e;
|
|
136
139
|
})(), l = (t, e, n, o) => JSON.stringify(k(t, e), n, o);
|
|
137
|
-
function
|
|
140
|
+
function z(t, e) {
|
|
138
141
|
return l(t) === l(e);
|
|
139
142
|
}
|
|
140
|
-
function
|
|
143
|
+
function D(t) {
|
|
141
144
|
const e = typeof t;
|
|
142
145
|
if (e !== "object")
|
|
143
146
|
throw new Error(`Unsupported object type: ${e}`);
|
|
144
147
|
return t && JSON.parse(JSON.stringify(t));
|
|
145
148
|
}
|
|
146
149
|
const N = Symbol("__lock");
|
|
147
|
-
function
|
|
150
|
+
function H(t, e = !1) {
|
|
148
151
|
return y(t, e);
|
|
149
152
|
}
|
|
150
153
|
function y(t, e = !1, n) {
|
|
@@ -166,11 +169,11 @@ function y(t, e = !1, n) {
|
|
|
166
169
|
return Reflect.set(u, r, i);
|
|
167
170
|
}
|
|
168
171
|
});
|
|
169
|
-
return
|
|
172
|
+
return t[N] = (u) => {
|
|
170
173
|
o = u;
|
|
171
174
|
}, f;
|
|
172
175
|
}
|
|
173
|
-
function
|
|
176
|
+
function U(t, e) {
|
|
174
177
|
const n = /* @__PURE__ */ new WeakMap();
|
|
175
178
|
function o(r) {
|
|
176
179
|
return {
|
|
@@ -183,7 +186,7 @@ function H(t, e) {
|
|
|
183
186
|
let s = Reflect.deleteProperty(i, c);
|
|
184
187
|
return s && e.deleteProperty && e.deleteProperty(i, [...r, c]), s;
|
|
185
188
|
}
|
|
186
|
-
return !
|
|
189
|
+
return !0;
|
|
187
190
|
}
|
|
188
191
|
};
|
|
189
192
|
}
|
|
@@ -201,30 +204,31 @@ function H(t, e) {
|
|
|
201
204
|
return u(t, []);
|
|
202
205
|
}
|
|
203
206
|
export {
|
|
204
|
-
|
|
205
|
-
C as
|
|
207
|
+
b as _keyMap,
|
|
208
|
+
C as _nh,
|
|
206
209
|
m as assignWith,
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
210
|
+
_ as combinePropertyPath,
|
|
211
|
+
q as copy,
|
|
212
|
+
J as createConstructor,
|
|
213
|
+
U as createDeepProxy,
|
|
211
214
|
R as entry,
|
|
212
215
|
w as getEnumKeys,
|
|
213
216
|
L as getEnumValue,
|
|
214
217
|
W as getEnumValues,
|
|
215
218
|
I as getPropertyPath,
|
|
216
|
-
|
|
219
|
+
$ as getPrototypes,
|
|
217
220
|
S as isPlainObject,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
+
D as jsonClone,
|
|
222
|
+
z as jsonEquals,
|
|
223
|
+
E as keyOf,
|
|
221
224
|
a as keysOf,
|
|
222
|
-
|
|
225
|
+
d as nameOf,
|
|
223
226
|
l as orderedStringify,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
j as proxify,
|
|
228
|
+
h as satisfies,
|
|
229
|
+
v as strictSatisfies,
|
|
230
|
+
H as toReadOnly,
|
|
231
|
+
M as typed,
|
|
228
232
|
x as update
|
|
229
233
|
};
|
|
230
234
|
//# sourceMappingURL=typeUtils.es.js.map
|
package/dist/typeUtils.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeUtils.es.js","sources":["D:/Src/my/actdim/public/utico/src/typeUtils.ts"],"sourcesContent":["import { CallableConstructor, Constructor, ConstructorClass } from \"./typeCore\";\r\n\r\n// @filename: typeUtils.ts\r\n\r\n// typed version of Object.keys\r\nexport function keysOf<T extends object>(obj: T) {\r\n return Object.keys(obj) as Array<keyof T>;\r\n}\r\n\r\nexport function entry<T extends object, TKey extends keyof T>(obj: T, name: TKey, caseInsensitive = true) {\r\n if (!obj || !name) {\r\n return undefined;\r\n }\r\n // name.toString()\r\n let nameStr = String(name).trim();\r\n const keys = keysOf(obj);\r\n let key: keyof T;\r\n if (caseInsensitive) {\r\n nameStr = nameStr.toLowerCase();\r\n key = keys.find((k) => String(k).toLowerCase().trim() === nameStr);\r\n } else {\r\n key = keys.find((k) => String(k).trim() === nameStr);\r\n }\r\n return [key, key == undefined ? undefined : (obj[key] as T[TKey])] as [TKey, T[TKey]];\r\n}\r\n\r\nexport function satisfies<TShape>() {\r\n return <T extends TShape>(obj: T) => obj;\r\n}\r\n/** check also const strict = <T>() => <U extends T>(u: U & { [K in Exclude<keyof U, keyof T>]: never }) => u;\r\n */\r\nexport function strictSatisfies<T>() {\r\n return <U extends T>(u: U & Record<Exclude<keyof U, keyof T>, never>) => u;\r\n}\r\n\r\n// $keyOf\r\nexport const keyOf = <T extends object, TKey extends keyof T = keyof T>(key: TKey, obj?: T) => key;\r\n\r\n// $nameOf/$n\r\nexport function nameOf<T extends object>(f: (x: T) => T[keyof T]): keyof T;\r\nexport function nameOf(f: (x: any) => any): keyof any {\r\n const p = new Proxy(\r\n {},\r\n {\r\n get: (target, key) => key\r\n }\r\n );\r\n return f(p);\r\n}\r\n\r\ntype $KeyMap<T extends object> = {\r\n [K in keyof T]: K;\r\n};\r\n\r\nexport function $keyMap<T extends object>(obj?: T) {\r\n return new Proxy(\r\n {},\r\n {\r\n get: (target, key) => key\r\n }\r\n ) as $KeyMap<T>;\r\n}\r\n\r\n// $NU\r\ntype $NH<T> = {\r\n nameOf(f: (x: T) => T[keyof T]): keyof T;\r\n};\r\n\r\n// $nu\r\n// usage: $nh(obj).nameOf(x => x.prop) or $NH<ClassName>().nameOf(x => x.prop)\r\nexport function $nh<T>(obj?: T) {\r\n return {\r\n nameOf: (f: (x: any) => any) => {\r\n return nameOf(f);\r\n }\r\n } as $NH<T>;\r\n}\r\n\r\nexport function getPropertyPath<T>(expr: (x: T) => any) {\r\n return getPropertyPathInternal(expr);\r\n}\r\n\r\nfunction getPropertyPathInternal<T>(expr: (x: T) => any, path?: (string | number | symbol)[]) {\r\n if (path == undefined) {\r\n path = [];\r\n }\r\n let createProxy: () => any;\r\n createProxy = () => {\r\n return new Proxy(\r\n {},\r\n {\r\n get: (target, key) => {\r\n path.push(key);\r\n return createProxy();\r\n }\r\n }\r\n );\r\n };\r\n expr(createProxy());\r\n return path;\r\n}\r\n\r\nexport function combinePropertyPath(path?: (string | number | symbol)[]) {\r\n const builder: string[] = [];\r\n for (const key of path) {\r\n builder.push(`[\"${key.toString()}\"]`);\r\n }\r\n return builder.join(\"\");\r\n}\r\n\r\nconst nonObjectTypes: Constructor[] = [String, Number];\r\n\r\n// isNonObjectCtor\r\nfunction isNonObjectType<TConstructor extends Constructor>(type: TConstructor) {\r\n return nonObjectTypes.indexOf(type) >= 0;\r\n}\r\n\r\n// getConstructor\r\nexport function createConstructor<TConstructor extends Constructor>(\r\n type: TConstructor // ctor\r\n): CallableConstructor<TConstructor> {\r\n if (isNonObjectType(type)) {\r\n return type as CallableConstructor<TConstructor>;\r\n } else {\r\n function createInstance(...args: ConstructorParameters<TConstructor>): ConstructorClass<TConstructor> {\r\n // return Reflect.construct(type, args); // works too\r\n return new type(...args);\r\n }\r\n\r\n createInstance.prototype = type.prototype;\r\n return createInstance as CallableConstructor<TConstructor>;\r\n }\r\n}\r\n\r\nexport function getPrototypes(obj: any) {\r\n const result = [];\r\n let prototype;\r\n while (true) {\r\n prototype = Object.getPrototypeOf(prototype || obj);\r\n if (!prototype) {\r\n break;\r\n }\r\n result.push(prototype);\r\n }\r\n return result;\r\n}\r\n\r\nexport function proxify<T extends object>(source: () => T): T {\r\n return new Proxy(\r\n {},\r\n {\r\n get: (target, key) => {\r\n return Reflect.get(source(), key);\r\n // return source()[key];\r\n },\r\n set: (target, key, value) => {\r\n return Reflect.set(source(), key, value);\r\n // source()[key] = value;\r\n // return true;\r\n }\r\n }\r\n ) as T;\r\n}\r\n\r\nexport function getEnumValue<T>(enumType: T, name: string, defaultValue: T[keyof T]): T[keyof T] {\r\n let value = name ? enumType[name as keyof T] : defaultValue;\r\n if (value == undefined) {\r\n value = defaultValue;\r\n }\r\n return value;\r\n}\r\n\r\nexport function getEnumValues<T extends object, K extends keyof T>(enumType: T): Array<T[K]> {\r\n return getEnumKeys<T, K>(enumType).map((x) => enumType[x]);\r\n}\r\n\r\nexport function getEnumKeys<T extends object, K extends keyof T>(enumType: T): Array<K> {\r\n return Object.keys(enumType)\r\n .filter((x) => Number.isNaN(Number(x)))\r\n .map((x) => x as K);\r\n}\r\n\r\n// conditional assign with value factory\r\nexport function assignWith<T extends object, U extends object>(\r\n dst: T,\r\n src: U,\r\n callback?: (key: keyof U, value: U[keyof U], set: (value: U[keyof U]) => void) => any\r\n): T & Partial<U> {\r\n const result: T & Partial<U> = dst;\r\n if (src) {\r\n for (const key in src) {\r\n let value = src[key];\r\n const set = (v: U[keyof U]) => {\r\n // result[key as PropertyKey] = value;\r\n Reflect.set(result, key, v);\r\n };\r\n if (callback) {\r\n callback(key, value, set);\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n\r\n// constrained and typed assign\r\nexport function update<T extends object, U extends Partial<T>>(dst: T, src: U, props?: [keyof U]): T & Partial<U> {\r\n const propSet = new Set(props);\r\n\r\n return assignWith(dst, src, (key, value, set) => {\r\n if (!propSet.size || propSet.has(key)) {\r\n set(value);\r\n }\r\n });\r\n\r\n // for (const prop of props) {\r\n // // dst[prop as PropertyKey] = src[prop];\r\n // Reflect.set(dst, prop, src[prop]);\r\n // }\r\n // return dst;\r\n}\r\n\r\nexport function copy<T extends object, U extends object>(src: T, dst: U, props?: [keyof T]): U & Partial<T> {\r\n return update(dst, src, props);\r\n}\r\n\r\nexport function isPlainObject(value) {\r\n if (Object.prototype.toString.call(value) !== '[object Object]') return false;\r\n const proto = Object.getPrototypeOf(value);\r\n return proto === null || proto === Object.prototype;\r\n}\r\n\r\nconst sort = (() => {\r\n // It relies on Chrome's and Node's behaviour that the first key assigned to an object is outputted first by JSON.stringify.\r\n const noKeys = []; // emptyKeys\r\n function sortImpl(obj: any, keyCompareFn?: (a: string, b: string) => number) {\r\n const keys = obj ? Object.keys(obj) : noKeys;\r\n // const orderedKeys = desc ? keys.orderByDesc(k => k) : keys.orderBy(k => k);\r\n if (keyCompareFn) {\r\n // array sort method without compare function produces ascending but alphabetical, lexicographic (dictionary) order\r\n keyCompareFn = (a, b) => b.localeCompare(a);\r\n }\r\n const orderedKeys = keys.sort(keyCompareFn);\r\n // result\r\n const container = {}; // sortedObj\r\n for (const key of orderedKeys) {\r\n container[key] = isPlainObject(obj[key]) ? sortImpl(obj[key]) : obj[key];\r\n }\r\n return container;\r\n }\r\n return sortImpl;\r\n})();\r\n\r\n// stableStringify\r\nexport const orderedStringify = (() => {\r\n // https://www.gangofcoders.net/solution/sort-object-properties-and-json-stringify/\r\n // see also: https://www.npmjs.com/package/json-stable-stringify\r\n return (\r\n obj: any,\r\n keyCompareFn?: (a: string, b: string) => number,\r\n replacer?: (this: any, key: string, value: any) => any,\r\n // replacer?: (number | string)[] | null,\r\n space?: string | number\r\n ) => {\r\n return JSON.stringify(sort(obj, keyCompareFn), replacer, space);\r\n };\r\n})();\r\n\r\n// structural comparison helper\r\nexport function jsonEquals<T>(obj1: T, obj2: T) {\r\n // contentEquals\r\n return orderedStringify(obj1) === orderedStringify(obj2);\r\n}\r\n\r\n/** structuredClone alternative */\r\nexport function jsonClone<T extends object>(obj: T): T {\r\n const type = typeof obj;\r\n if (type !== \"object\") {\r\n throw new Error(`Unsupported object type: ${type}`);\r\n }\r\n if (!obj) {\r\n return obj;\r\n }\r\n return JSON.parse(JSON.stringify(obj));\r\n}\r\n\r\n// freeze\r\nconst lock = Symbol(\"__lock\");\r\n\r\n// IFreezable\r\nexport type ILockable<T = any> = Readonly<T> & { [lock]?: (locked: boolean) => void };\r\n\r\n// deepFreeze/lock\r\nexport function toReadOnly<T extends object>(obj: T, throwOnSet: boolean = false): ILockable<T> {\r\n return toReadOnlyInternal(obj, throwOnSet);\r\n}\r\n\r\nfunction toReadOnlyInternal<T extends object>(obj: T, throwOnSet: boolean = false, lockTest?: () => boolean): ILockable<T> {\r\n if (typeof obj !== \"object\" || !obj) {\r\n return obj;\r\n }\r\n\r\n let locked = true;\r\n if (!lockTest) {\r\n lockTest = () => locked;\r\n }\r\n\r\n const result = new Proxy(obj, {\r\n get: (target, property, receiver) => {\r\n // property in target\r\n if (Reflect.has(target, property)) {\r\n // Reflect.get(target, property)\r\n return toReadOnlyInternal(target[property], throwOnSet, lockTest);\r\n }\r\n return undefined;\r\n },\r\n set: (target, property, value, receiver) => {\r\n if (lockTest()) {\r\n if (throwOnSet) {\r\n throw new Error(\"Cannot set the value of read-only property\"); // read-only object\r\n }\r\n // return false; // will throw a TypeError exception in strict mode\r\n return true;\r\n } else {\r\n // target[property] = value;\r\n return Reflect.set(target, property, value);\r\n }\r\n }\r\n });\r\n\r\n result[lock] = (l: boolean) => {\r\n locked = l;\r\n };\r\n return result as Readonly<T> & { [lock]: (locked: boolean) => void };\r\n}\r\n\r\nexport type DeepPropertyKey = PropertyKey[];\r\n\r\nexport interface DeepProxyHandler<T extends object> {\r\n // getPrototypeOf?(target: T): object | null;\r\n // setPrototypeOf?(target: T, v: any): boolean;\r\n // isExtensible?(target: T): boolean;\r\n // preventExtensions?(target: T): boolean;\r\n // getOwnPropertyDescriptor?(target: T, p: DeepPropertyKey): PropertyDescriptor | undefined;\r\n // has?(target: T, p: DeepPropertyKey): boolean;\r\n // get?(target: T, p: DeepPropertyKey, receiver: any): any;\r\n set?(target: T, p: DeepPropertyKey, value: any, receiver: any): boolean;\r\n\r\n deleteProperty?(target: T, p: DeepPropertyKey): boolean;\r\n\r\n // defineProperty?(target: T, p: DeepPropertyKey, attributes: PropertyDescriptor): boolean;\r\n // enumerate?(target: T): DeepPropertyKey[];\r\n // ownKeys?(target: T): DeepPropertyKey[];\r\n // apply?(target: T, thisArg: any, argArray?: any): any; // assign\r\n // construct?(target: T, argArray: any, newTarget?: any): object;\r\n}\r\n\r\nexport function createDeepProxy<T extends object>(target: T, handler: DeepProxyHandler<T>) {\r\n const proxyMap = new WeakMap();\r\n\r\n function makeHandler(path: DeepPropertyKey) {\r\n return {\r\n set(target: any, propertyKey: PropertyKey, value: any, receiver) {\r\n if (typeof value === \"object\") {\r\n value = proxify(value, [...path, propertyKey]);\r\n }\r\n target[propertyKey] = value;\r\n\r\n if (handler.set) {\r\n handler.set(target, [...path, propertyKey], value, receiver);\r\n }\r\n return true;\r\n },\r\n\r\n deleteProperty(target: any, propertyKey: PropertyKey) {\r\n if (Reflect.has(target, propertyKey)) {\r\n unproxy(target, propertyKey);\r\n let deleted = Reflect.deleteProperty(target, propertyKey);\r\n if (deleted && handler.deleteProperty) {\r\n handler.deleteProperty(target, [...path, propertyKey]);\r\n }\r\n return deleted;\r\n }\r\n return false;\r\n }\r\n };\r\n }\r\n\r\n function unproxy(obj: any, key: PropertyKey) {\r\n if (proxyMap.has(obj[key])) {\r\n // console.log('unproxy',key);\r\n obj[key] = proxyMap.get(obj[key]);\r\n proxyMap.delete(obj[key]);\r\n }\r\n\r\n for (let k of Object.keys(obj[key])) {\r\n if (typeof obj[key][k] === \"object\") {\r\n unproxy(obj[key], k);\r\n }\r\n }\r\n }\r\n\r\n function proxify(obj: any, path: DeepPropertyKey) {\r\n for (let key of Object.keys(obj)) {\r\n if (typeof obj[key] === \"object\") {\r\n obj[key] = proxify(obj[key], [...path, key]);\r\n }\r\n }\r\n let p = new Proxy(obj, makeHandler(path));\r\n proxyMap.set(p, obj);\r\n return p;\r\n }\r\n\r\n return proxify(target, []);\r\n}\r\n"],"names":["keysOf","obj","entry","name","caseInsensitive","nameStr","keys","key","k","satisfies","strictSatisfies","u","keyOf","nameOf","f","p","target","$keyMap","$nh","getPropertyPath","expr","getPropertyPathInternal","path","createProxy","combinePropertyPath","builder","nonObjectTypes","isNonObjectType","type","createConstructor","createInstance","args","getPrototypes","result","prototype","proxify","source","value","getEnumValue","enumType","defaultValue","getEnumValues","getEnumKeys","x","assignWith","dst","src","callback","v","update","props","propSet","set","copy","isPlainObject","proto","sort","noKeys","sortImpl","keyCompareFn","a","b","orderedKeys","container","orderedStringify","replacer","space","jsonEquals","obj1","obj2","jsonClone","lock","toReadOnly","throwOnSet","toReadOnlyInternal","lockTest","locked","property","receiver","l","createDeepProxy","handler","proxyMap","makeHandler","propertyKey","unproxy","deleted"],"mappings":"AAKO,SAASA,EAAyBC,GAAQ;AAC7C,SAAO,OAAO,KAAKA,CAAG;AAC1B;AAEO,SAASC,EAA8CD,GAAQE,GAAYC,IAAkB,IAAM;AACtG,MAAI,CAACH,KAAO,CAACE;AACT;AAGJ,MAAIE,IAAU,OAAOF,CAAI,EAAE,KAAA;AAC3B,QAAMG,IAAON,EAAOC,CAAG;AACvB,MAAIM;AACJ,SAAIH,KACAC,IAAUA,EAAQ,YAAA,GAClBE,IAAMD,EAAK,KAAK,CAACE,MAAM,OAAOA,CAAC,EAAE,YAAA,EAAc,KAAA,MAAWH,CAAO,KAEjEE,IAAMD,EAAK,KAAK,CAACE,MAAM,OAAOA,CAAC,EAAE,KAAA,MAAWH,CAAO,GAEhD,CAACE,GAAKA,KAAO,OAAY,SAAaN,EAAIM,CAAG,CAAa;AACrE;AAEO,SAASE,IAAoB;AAChC,SAAO,CAAmBR,MAAWA;AACzC;AAGO,SAASS,IAAqB;AACjC,SAAO,CAAcC,MAAoDA;AAC7E;AAGO,MAAMC,IAAQ,CAAmDL,GAAWN,MAAYM;AAIxF,SAASM,EAAOC,GAA+B;AAClD,QAAMC,IAAI,IAAI;AAAA,IACV,CAAA;AAAA,IACA;AAAA,MACI,KAAK,CAACC,GAAQT,MAAQA;AAAA,IAAA;AAAA,EAC1B;AAEJ,SAAOO,EAAEC,CAAC;AACd;AAMO,SAASE,EAA0BhB,GAAS;AAC/C,SAAO,IAAI;AAAA,IACP,CAAA;AAAA,IACA;AAAA,MACI,KAAK,CAACe,GAAQT,MAAQA;AAAA,IAAA;AAAA,EAC1B;AAER;AASO,SAASW,EAAOjB,GAAS;AAC5B,SAAO;AAAA,IACH,QAAQ,CAACa,MACED,EAAOC,CAAC;AAAA,EACnB;AAER;AAEO,SAASK,EAAmBC,GAAqB;AACpD,SAAOC,EAAwBD,CAAI;AACvC;AAEA,SAASC,EAA2BD,GAAqBE,GAAqC;AAC1F,EAAIA,KAAQ,SACRA,IAAO,CAAA;AAEX,MAAIC;AACJ,SAAAA,IAAc,MACH,IAAI;AAAA,IACP,CAAA;AAAA,IACA;AAAA,MACI,KAAK,CAACP,GAAQT,OACVe,EAAK,KAAKf,CAAG,GACNgB,EAAA;AAAA,IACX;AAAA,EACJ,GAGRH,EAAKG,GAAa,GACXD;AACX;AAEO,SAASE,EAAoBF,GAAqC;AACrE,QAAMG,IAAoB,CAAA;AAC1B,aAAWlB,KAAOe;AACd,IAAAG,EAAQ,KAAK,KAAKlB,EAAI,SAAA,CAAU,IAAI;AAExC,SAAOkB,EAAQ,KAAK,EAAE;AAC1B;AAEA,MAAMC,IAAgC,CAAC,QAAQ,MAAM;AAGrD,SAASC,EAAkDC,GAAoB;AAC3E,SAAOF,EAAe,QAAQE,CAAI,KAAK;AAC3C;AAGO,SAASC,EACZD,GACiC;AACjC,MAAID,EAAgBC,CAAI;AACpB,WAAOA;AACJ;AACH,QAASE,IAAT,YAA2BC,GAA2E;AAElG,aAAO,IAAIH,EAAK,GAAGG,CAAI;AAAA,IAC3B;AAEA,WAAAD,EAAe,YAAYF,EAAK,WACzBE;AAAA,EACX;AACJ;AAEO,SAASE,EAAc/B,GAAU;AACpC,QAAMgC,IAAS,CAAA;AACf,MAAIC;AACJ,SACIA,IAAY,OAAO,eAAeA,KAAajC,CAAG,GAC9C,EAACiC;AAGL,IAAAD,EAAO,KAAKC,CAAS;AAEzB,SAAOD;AACX;AAEO,SAASE,EAA0BC,GAAoB;AAC1D,SAAO,IAAI;AAAA,IACP,CAAA;AAAA,IACA;AAAA,MACI,KAAK,CAACpB,GAAQT,MACH,QAAQ,IAAI6B,EAAA,GAAU7B,CAAG;AAAA,MAGpC,KAAK,CAACS,GAAQT,GAAK8B,MACR,QAAQ,IAAID,EAAA,GAAU7B,GAAK8B,CAAK;AAAA,IAG3C;AAAA,EACJ;AAER;AAEO,SAASC,EAAgBC,GAAapC,GAAcqC,GAAsC;AAC7F,MAAIH,IAAQlC,IAAOoC,EAASpC,CAAe,IAAIqC;AAC/C,SAAIH,KAAS,SACTA,IAAQG,IAELH;AACX;AAEO,SAASI,EAAmDF,GAA0B;AACzF,SAAOG,EAAkBH,CAAQ,EAAE,IAAI,CAACI,MAAMJ,EAASI,CAAC,CAAC;AAC7D;AAEO,SAASD,EAAiDH,GAAuB;AACpF,SAAO,OAAO,KAAKA,CAAQ,EACtB,OAAO,CAACI,MAAM,OAAO,MAAM,OAAOA,CAAC,CAAC,CAAC,EACrC,IAAI,CAACA,MAAMA,CAAM;AAC1B;AAGO,SAASC,EACZC,GACAC,GACAC,GACc;AACd,QAAMd,IAAyBY;AAC/B,MAAIC;AACA,eAAWvC,KAAOuC,GAAK;AACnB,UAAIT,IAAQS,EAAIvC,CAAG;AAKnB,MAAIwC,KACAA,EAASxC,GAAK8B,GALN,CAACW,MAAkB;AAE3B,gBAAQ,IAAIf,GAAQ1B,GAAKyC,CAAC;AAAA,MAC9B,CAE4B;AAAA,IAEhC;AAEJ,SAAOf;AACX;AAGO,SAASgB,EAA+CJ,GAAQC,GAAQI,GAAmC;AAC9G,QAAMC,IAAU,IAAI,IAAID,CAAK;AAE7B,SAAON,EAAWC,GAAKC,GAAK,CAACvC,GAAK8B,GAAOe,MAAQ;AAC7C,KAAI,CAACD,EAAQ,QAAQA,EAAQ,IAAI5C,CAAG,MAChC6C,EAAIf,CAAK;AAAA,EAEjB,CAAC;AAOL;AAEO,SAASgB,EAAyCP,GAAQD,GAAQK,GAAmC;AACxG,SAAOD,EAAOJ,GAAKC,GAAKI,CAAK;AACjC;AAEO,SAASI,EAAcjB,GAAO;AACjC,MAAI,OAAO,UAAU,SAAS,KAAKA,CAAK,MAAM,kBAAmB,QAAO;AACxE,QAAMkB,IAAQ,OAAO,eAAelB,CAAK;AACzC,SAAOkB,MAAU,QAAQA,MAAU,OAAO;AAC9C;AAEA,MAAMC,IAAQ,uBAAM;AAEhB,QAAMC,IAAS,CAAA;AACf,WAASC,EAASzD,GAAU0D,GAAiD;AACzE,UAAMrD,IAAOL,IAAM,OAAO,KAAKA,CAAG,IAAIwD;AAEtC,IAAIE,MAEAA,IAAe,CAACC,GAAGC,MAAMA,EAAE,cAAcD,CAAC;AAE9C,UAAME,IAAcxD,EAAK,KAAKqD,CAAY,GAEpCI,IAAY,CAAA;AAClB,eAAWxD,KAAOuD;AACd,MAAAC,EAAUxD,CAAG,IAAI+C,EAAcrD,EAAIM,CAAG,CAAC,IAAImD,EAASzD,EAAIM,CAAG,CAAC,IAAIN,EAAIM,CAAG;AAE3E,WAAOwD;AAAA,EACX;AACA,SAAOL;AACX,GAAA,GAGaM,IAGF,CACH/D,GACA0D,GACAM,GAEAC,MAEO,KAAK,UAAUV,EAAKvD,GAAK0D,CAAY,GAAGM,GAAUC,CAAK;AAK/D,SAASC,EAAcC,GAASC,GAAS;AAE5C,SAAOL,EAAiBI,CAAI,MAAMJ,EAAiBK,CAAI;AAC3D;AAGO,SAASC,EAA4BrE,GAAW;AACnD,QAAM2B,IAAO,OAAO3B;AACpB,MAAI2B,MAAS;AACT,UAAM,IAAI,MAAM,4BAA4BA,CAAI,EAAE;AAEtD,SAAK3B,KAGE,KAAK,MAAM,KAAK,UAAUA,CAAG,CAAC;AACzC;AAGA,MAAMsE,IAAO,OAAO,QAAQ;AAMrB,SAASC,EAA6BvE,GAAQwE,IAAsB,IAAqB;AAC5F,SAAOC,EAAmBzE,GAAKwE,CAAU;AAC7C;AAEA,SAASC,EAAqCzE,GAAQwE,IAAsB,IAAOE,GAAwC;AACvH,MAAI,OAAO1E,KAAQ,YAAY,CAACA;AAC5B,WAAOA;AAGX,MAAI2E,IAAS;AACb,EAAKD,MACDA,IAAW,MAAMC;AAGrB,QAAM3C,IAAS,IAAI,MAAMhC,GAAK;AAAA,IAC1B,KAAK,CAACe,GAAQ6D,GAAUC,MAAa;AAEjC,UAAI,QAAQ,IAAI9D,GAAQ6D,CAAQ;AAE5B,eAAOH,EAAmB1D,EAAO6D,CAAQ,GAAGJ,GAAYE,CAAQ;AAAA,IAGxE;AAAA,IACA,KAAK,CAAC3D,GAAQ6D,GAAUxC,GAAOyC,MAAa;AACxC,UAAIH,KAAY;AACZ,YAAIF;AACA,gBAAM,IAAI,MAAM,4CAA4C;AAGhE,eAAO;AAAA,MACX;AAEI,eAAO,QAAQ,IAAIzD,GAAQ6D,GAAUxC,CAAK;AAAA,IAElD;AAAA,EAAA,CACH;AAED,SAAAJ,EAAOsC,CAAI,IAAI,CAACQ,MAAe;AAC3B,IAAAH,IAASG;AAAA,EACb,GACO9C;AACX;AAuBO,SAAS+C,EAAkChE,GAAWiE,GAA8B;AACvF,QAAMC,wBAAe,QAAA;AAErB,WAASC,EAAY7D,GAAuB;AACxC,WAAO;AAAA,MACH,IAAIN,GAAaoE,GAA0B/C,GAAYyC,GAAU;AAC7D,eAAI,OAAOzC,KAAU,aACjBA,IAAQF,EAAQE,GAAO,CAAC,GAAGf,GAAM8D,CAAW,CAAC,IAEjDpE,EAAOoE,CAAW,IAAI/C,GAElB4C,EAAQ,OACRA,EAAQ,IAAIjE,GAAQ,CAAC,GAAGM,GAAM8D,CAAW,GAAG/C,GAAOyC,CAAQ,GAExD;AAAA,MACX;AAAA,MAEA,eAAe9D,GAAaoE,GAA0B;AAClD,YAAI,QAAQ,IAAIpE,GAAQoE,CAAW,GAAG;AAClC,UAAAC,EAAQrE,GAAQoE,CAAW;AAC3B,cAAIE,IAAU,QAAQ,eAAetE,GAAQoE,CAAW;AACxD,iBAAIE,KAAWL,EAAQ,kBACnBA,EAAQ,eAAejE,GAAQ,CAAC,GAAGM,GAAM8D,CAAW,CAAC,GAElDE;AAAA,QACX;AACA,eAAO;AAAA,MACX;AAAA,IAAA;AAAA,EAER;AAEA,WAASD,EAAQpF,GAAUM,GAAkB;AACzC,IAAI2E,EAAS,IAAIjF,EAAIM,CAAG,CAAC,MAErBN,EAAIM,CAAG,IAAI2E,EAAS,IAAIjF,EAAIM,CAAG,CAAC,GAChC2E,EAAS,OAAOjF,EAAIM,CAAG,CAAC;AAG5B,aAASC,KAAK,OAAO,KAAKP,EAAIM,CAAG,CAAC;AAC9B,MAAI,OAAON,EAAIM,CAAG,EAAEC,CAAC,KAAM,YACvB6E,EAAQpF,EAAIM,CAAG,GAAGC,CAAC;AAAA,EAG/B;AAEA,WAAS2B,EAAQlC,GAAUqB,GAAuB;AAC9C,aAASf,KAAO,OAAO,KAAKN,CAAG;AAC3B,MAAI,OAAOA,EAAIM,CAAG,KAAM,aACpBN,EAAIM,CAAG,IAAI4B,EAAQlC,EAAIM,CAAG,GAAG,CAAC,GAAGe,GAAMf,CAAG,CAAC;AAGnD,QAAIQ,IAAI,IAAI,MAAMd,GAAKkF,EAAY7D,CAAI,CAAC;AACxC,WAAA4D,EAAS,IAAInE,GAAGd,CAAG,GACZc;AAAA,EACX;AAEA,SAAOoB,EAAQnB,GAAQ,EAAE;AAC7B;"}
|
|
1
|
+
{"version":3,"file":"typeUtils.es.js","sources":["D:/Src/my/actdim/public/utico/src/typeUtils.ts"],"sourcesContent":null,"names":["keysOf","obj","entry","name","caseInsensitive","nameStr","keys","key","k","satisfies","strictSatisfies","u","keyOf","nameOf","f","p","target","_keyMap","_nh","getPropertyPath","expr","getPropertyPathInternal","path","createProxy","combinePropertyPath","builder","nonObjectTypes","isNonObjectType","type","createConstructor","createInstance","args","typed","ctor","getPrototypes","result","prototype","proxify","source","value","getEnumValue","enumType","defaultValue","getEnumValues","getEnumKeys","x","assignWith","dst","src","callback","v","update","props","propSet","set","copy","isPlainObject","proto","sort","noKeys","sortImpl","keyCompareFn","a","b","orderedKeys","container","orderedStringify","replacer","space","jsonEquals","obj1","obj2","jsonClone","$lock","toReadOnly","throwOnSet","toReadOnlyInternal","lockTest","locked","property","receiver","l","createDeepProxy","handler","proxyMap","makeHandler","propertyKey","unproxy","deleted"],"mappings":"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"}
|
package/dist/utils.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.es.js","sources":["D:/Src/my/actdim/public/utico/src/utils.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\r\n\r\n// @filename: util.ts\r\n\r\n// export function guid() {\r\n// function s4() {\r\n// return Math.floor((1 + Math.random()) * 0x10000)\r\n// .toString(16)\r\n// .substring(1);\r\n// }\r\n// return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\r\n// }\r\n\r\nexport const normalize = (v: number) => (!v || !isFinite(v) ? 0 : v);\r\n\r\n// numericalOr\r\nexport function numericOr(...values: number[]) {\r\n for (const value of values) {\r\n if (value != undefined) {\r\n return value;\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\n// funcArgCacheKeyResolver(Provider/Builder)\r\nexport const buildFuncArgCacheKey = (() => {\r\n const weakMap = new WeakMap<any, string>();\r\n return (...args: any[]) => {\r\n const keys: string[] = [];\r\n for (const arg of args) {\r\n let key: string = undefined;\r\n if (typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"boolean\" || arg == undefined) {\r\n key = \"\" + arg;\r\n } else {\r\n key = weakMap.get(arg);\r\n if (!key) {\r\n key = uuid();\r\n weakMap.set(arg, key);\r\n }\r\n }\r\n keys.push(key);\r\n }\r\n return `\"${keys.join(\"/\")}\"`;\r\n };\r\n})();\r\n\r\nexport const delay = (ms: number) => {\r\n return new Promise<void>((resolve) => setTimeout(resolve, ms));\r\n};\r\n\r\n// scheduleError\r\nexport const delayError = (ms: number, errFactory?: () => Error) => {\r\n return new Promise<never>((_, reject) =>\r\n setTimeout(\r\n () => {\r\n // Do not throw!\r\n const err = errFactory ? errFactory() : new Error(\"Timeout exceeded\");\r\n reject(err);\r\n },\r\n ms\r\n )\r\n );\r\n};\r\n\r\nexport function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> {\r\n // return new Promise((resolve, reject) => {\r\n // const timer = setTimeout(() => reject(new Error('Timeout exceeded')), ms);\r\n // promise.then((value) => {\r\n // clearTimeout(timer);\r\n // resolve(value);\r\n // }, reject);\r\n // });\r\n return Promise.race([delayError(ms), promise]);\r\n}\r\n\r\n/**\r\n * Search node in a tree\r\n * @param predicate filter\r\n * @param childSelector\r\n * @param treeNodes\r\n */\r\nexport function searchTree<T>(treeNodes: T[], predicate: (item: T) => boolean, childSelector: (item: T) => T[]) {\r\n if (!treeNodes) {\r\n return undefined;\r\n }\r\n for (const treeNode of treeNodes) {\r\n if (predicate(treeNode)) {\r\n return treeNode;\r\n }\r\n const node = searchTree(childSelector(treeNode), predicate, childSelector);\r\n if (node) {\r\n return node;\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nexport const suppressConsole = (action: () => void) => {\r\n const origConsole: any = {};\r\n const result: {\r\n method: keyof Console;\r\n args: any[];\r\n }[] = [];\r\n const keys: (keyof Console)[] = [\"log\" /*, \"debug\", \"warn\", \"info\"*/];\r\n for (const key of keys) {\r\n origConsole[key] = console[key];\r\n console[key] = function (...args: any[]) {\r\n result.push({\r\n method: key,\r\n args: args\r\n });\r\n } as any;\r\n }\r\n try {\r\n action();\r\n } finally {\r\n for (const key of keys) {\r\n console[key] = origConsole[key];\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport function removePrefix(str: string, prefixes: string[]): string {\r\n let removed = true;\r\n while (removed) {\r\n removed = false;\r\n for (const prefix of prefixes) {\r\n if (prefix && str.startsWith(prefix)) {\r\n str = str.slice(prefix.length);\r\n removed = true;\r\n break;\r\n }\r\n }\r\n }\r\n return str;\r\n}\r\n\r\nexport function removeSuffix(str: string, suffixes: string[]): string {\r\n let removed = true;\r\n while (removed) {\r\n removed = false;\r\n for (const suffix of suffixes) {\r\n if (suffix && str.endsWith(suffix)) {\r\n str = str.slice(0, -suffix.length);\r\n removed = true;\r\n break;\r\n }\r\n }\r\n }\r\n return str;\r\n}\r\n\r\n// another comparator example\r\n// const deepEqual = (a: any, b: any) => JSON.stringify(a) === JSON.stringify(b);\r\n// depEffect\r\nexport function memoEffect<TDep, TResult>(\r\n getValue: () => TDep, // getDep\r\n callback: (v: TDep) => TResult, // onChange/action\r\n comparator: (a: TDep, b: TDep) => boolean = (a, b) => a === b // equals\r\n) {\r\n let val: TDep | undefined;\r\n let initialized = false;\r\n let retVal: TResult;\r\n return () => {\r\n const next = getValue();\r\n if (!initialized || !comparator(next, val!)) {\r\n val = next;\r\n initialized = true;\r\n retVal = callback(next);\r\n }\r\n return retVal;\r\n };\r\n}\r\n\r\nexport function lazy<T>(factory: () => T): () => T {\r\n let instance: T | undefined;\r\n let initialized = false;\r\n\r\n return () => {\r\n if (!initialized) {\r\n instance = factory();\r\n initialized = true;\r\n }\r\n return instance!;\r\n };\r\n}\r\n\r\nexport function makeNonEnumerable<T>(obj: T, propertyNames: (keyof T)[]) {\r\n let propertyDescriptorMap: PropertyDescriptorMap = {};\r\n for (const propertyName of propertyNames) {\r\n propertyDescriptorMap[propertyName] = {\r\n enumerable: false\r\n };\r\n }\r\n Object.defineProperties(obj, propertyDescriptorMap);\r\n}\r\n\r\n// TODO:\r\n/*\r\nfunction getMetadata<T>(\r\n store: WeakMap<object, Map<PropertyKey, T>>,\r\n target: object,\r\n prop: PropertyKey,\r\n): T | undefined {\r\n return store.get(target)?.get(prop) as T | undefined;\r\n}\r\n\r\nfunction setMetadata<T>(\r\n store: WeakMap<object, Map<PropertyKey, T>>,\r\n target: object,\r\n prop: PropertyKey,\r\n value: T,\r\n) {\r\n let propMap = store.get(target);\r\n if (!propMap) {\r\n propMap = new Map();\r\n store.set(target, propMap);\r\n }\r\n propMap.set(prop, value);\r\n}\r\n\r\nfunction hasMetadata(\r\n store: WeakMap<object, Map<PropertyKey, any>>,\r\n target: object,\r\n prop: PropertyKey,\r\n): boolean {\r\n return store.get(target)?.has(prop) ?? false;\r\n}\r\n*/\r\n\r\n/*\r\nexport function memoizeThrottle<T extends Func>(\r\n func: T,\r\n wait = 0,\r\n options?: Parameters<typeof _.throttle<T>>[2],\r\n resolver?: Parameters<typeof _.memoize<(...args: Parameters<T>) => ReturnType<typeof _.throttle<T>>>>[1]\r\n) {\r\n const mem = _.memoize<(...args: Parameters<T>) => ReturnType<typeof _.throttle<T>>>(() => {\r\n return _.throttle<T>(func, wait, options);\r\n }, resolver);\r\n\r\n return (...args: Parameters<T>) => {\r\n return mem(...args)(...args);\r\n };\r\n}\r\n\r\nexport function memoizeDebounce<T extends Func>(\r\n func: T,\r\n wait = 0,\r\n options?: Parameters<typeof _.debounce<T>>[2],\r\n resolver?: Parameters<typeof _.memoize<(...args: Parameters<T>) => ReturnType<typeof _.debounce<T>>>>[1]\r\n) {\r\n const mem = _.memoize<(...args: Parameters<T>) => ReturnType<typeof _.debounce<T>>>(() => {\r\n return _.debounce<T>(func, wait, options);\r\n }, resolver);\r\n\r\n return (...args: Parameters<T>) => {\r\n return mem(...args)(...args);\r\n };\r\n}\r\n*/\r\n"],"names":["normalize","v","numericOr","values","value","buildFuncArgCacheKey","weakMap","args","keys","arg","key","uuid","delay","ms","resolve","delayError","errFactory","_","reject","err","withTimeout","promise","searchTree","treeNodes","predicate","childSelector","treeNode","node","suppressConsole","action","origConsole","result","removePrefix","str","prefixes","removed","prefix","removeSuffix","suffixes","suffix","memoEffect","getValue","callback","comparator","a","b","val","initialized","retVal","next","lazy","factory","instance","makeNonEnumerable","obj","propertyNames","propertyDescriptorMap","propertyName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.es.js","sources":["D:/Src/my/actdim/public/utico/src/utils.ts"],"sourcesContent":null,"names":["normalize","v","numericOr","values","value","buildFuncArgCacheKey","weakMap","args","keys","arg","key","uuid","delay","ms","resolve","delayError","errFactory","_","reject","err","withTimeout","promise","searchTree","treeNodes","predicate","childSelector","treeNode","node","suppressConsole","action","origConsole","result","removePrefix","str","prefixes","removed","prefix","removeSuffix","suffixes","suffix","memoEffect","getValue","callback","comparator","a","b","val","initialized","retVal","next","lazy","factory","instance","makeNonEnumerable","obj","propertyNames","propertyDescriptorMap","propertyName"],"mappings":";AAaO,MAAMA,IAAY,CAACC,MAAe,CAACA,KAAK,CAAC,SAASA,CAAC,IAAI,IAAIA;AAG3D,SAASC,KAAaC,GAAkB;AAC3C,aAAWC,KAASD;AAChB,QAAIC,KAAS;AACT,aAAOA;AAInB;AAGO,MAAMC,IAAwB,uBAAM;AACvC,QAAMC,wBAAc,QAAA;AACpB,SAAO,IAAIC,MAAgB;AACvB,UAAMC,IAAiB,CAAA;AACvB,eAAWC,KAAOF,GAAM;AACpB,UAAIG;AACJ,MAAI,OAAOD,KAAQ,YAAY,OAAOA,KAAQ,YAAY,OAAOA,KAAQ,aAAaA,KAAO,OACzFC,IAAM,KAAKD,KAEXC,IAAMJ,EAAQ,IAAIG,CAAG,GAChBC,MACDA,IAAMC,EAAA,GACNL,EAAQ,IAAIG,GAAKC,CAAG,KAG5BF,EAAK,KAAKE,CAAG;AAAA,IACjB;AACA,WAAO,IAAIF,EAAK,KAAK,GAAG,CAAC;AAAA,EAC7B;AACJ,GAAA,GAEaI,IAAQ,CAACC,MACX,IAAI,QAAc,CAACC,MAAY,WAAWA,GAASD,CAAE,CAAC,GAIpDE,IAAa,CAACF,GAAYG,MAC5B,IAAI;AAAA,EAAe,CAACC,GAAGC,MAC1B;AAAA,IACI,MAAM;AAEF,YAAMC,IAAMH,IAAaA,EAAA,IAAe,IAAI,MAAM,kBAAkB;AACpE,MAAAE,EAAOC,CAAG;AAAA,IACd;AAAA,IACAN;AAAA,EAAA;AACJ;AAID,SAASO,EAAeC,GAAqBR,GAAwB;AAQxE,SAAO,QAAQ,KAAK,CAACE,EAAWF,CAAE,GAAGQ,CAAO,CAAC;AACjD;AAQO,SAASC,EAAcC,GAAgBC,GAAiCC,GAAiC;AAC5G,MAAKF;AAGL,eAAWG,KAAYH,GAAW;AAC9B,UAAIC,EAAUE,CAAQ;AAClB,eAAOA;AAEX,YAAMC,IAAOL,EAAWG,EAAcC,CAAQ,GAAGF,GAAWC,CAAa;AACzE,UAAIE;AACA,eAAOA;AAAA,IAEf;AAEJ;AAEO,MAAMC,IAAkB,CAACC,MAAuB;AACnD,QAAMC,IAAmB,CAAA,GACnBC,IAGA,CAAA,GACAvB,IAA0B;AAAA,IAAC;AAAA;AAAA,EAAA;AACjC,aAAWE,KAAOF;AACd,IAAAsB,EAAYpB,CAAG,IAAI,QAAQA,CAAG,GAC9B,QAAQA,CAAG,IAAI,YAAaH,GAAa;AACrC,MAAAwB,EAAO,KAAK;AAAA,QACR,QAAQrB;AAAA,QACR,MAAAH;AAAA,MAAA,CACH;AAAA,IACL;AAEJ,MAAI;AACA,IAAAsB,EAAA;AAAA,EACJ,UAAA;AACI,eAAWnB,KAAOF;AACd,cAAQE,CAAG,IAAIoB,EAAYpB,CAAG;AAAA,EAEtC;AACA,SAAOqB;AACX;AAEO,SAASC,EAAaC,GAAaC,GAA4B;AAClE,MAAIC,IAAU;AACd,SAAOA,KAAS;AACZ,IAAAA,IAAU;AACV,eAAWC,KAAUF;AACjB,UAAIE,KAAUH,EAAI,WAAWG,CAAM,GAAG;AAClC,QAAAH,IAAMA,EAAI,MAAMG,EAAO,MAAM,GAC7BD,IAAU;AACV;AAAA,MACJ;AAAA,EAER;AACA,SAAOF;AACX;AAEO,SAASI,EAAaJ,GAAaK,GAA4B;AAClE,MAAIH,IAAU;AACd,SAAOA,KAAS;AACZ,IAAAA,IAAU;AACV,eAAWI,KAAUD;AACjB,UAAIC,KAAUN,EAAI,SAASM,CAAM,GAAG;AAChC,QAAAN,IAAMA,EAAI,MAAM,GAAG,CAACM,EAAO,MAAM,GACjCJ,IAAU;AACV;AAAA,MACJ;AAAA,EAER;AACA,SAAOF;AACX;AAKO,SAASO,EACZC,GACAC,GACAC,IAA4C,CAACC,GAAGC,MAAMD,MAAMC,GAC9D;AACE,MAAIC,GACAC,IAAc,IACdC;AACJ,SAAO,MAAM;AACT,UAAMC,IAAOR,EAAA;AACb,YAAI,CAACM,KAAe,CAACJ,EAAWM,GAAMH,CAAI,OACtCA,IAAMG,GACNF,IAAc,IACdC,IAASN,EAASO,CAAI,IAEnBD;AAAA,EACX;AACJ;AAEO,SAASE,EAAQC,GAA2B;AAC/C,MAAIC,GACAL,IAAc;AAElB,SAAO,OACEA,MACDK,IAAWD,EAAA,GACXJ,IAAc,KAEXK;AAEf;AAEO,SAASC,EAAqBC,GAAQC,GAA4B;AACrE,MAAIC,IAA+C,CAAA;AACnD,aAAWC,KAAgBF;AACvB,IAAAC,EAAsBC,CAAY,IAAI;AAAA,MAClC,YAAY;AAAA,IAAA;AAGpB,SAAO,iBAAiBH,GAAKE,CAAqB;AACtD;"}
|