@actdim/utico 1.1.0 → 1.1.2

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.
Files changed (36) hide show
  1. package/dist/cache/cacheContracts.d.ts +11 -11
  2. package/dist/cache/cacheContracts.d.ts.map +1 -1
  3. package/dist/cache/cacheContracts.es.js.map +1 -1
  4. package/dist/cache/persistentCache.d.ts +17 -17
  5. package/dist/cache/persistentCache.d.ts.map +1 -1
  6. package/dist/cache/persistentCache.es.js +48 -48
  7. package/dist/cache/persistentCache.es.js.map +1 -1
  8. package/dist/gfx/canvasUtils.d.ts +4 -5
  9. package/dist/gfx/canvasUtils.d.ts.map +1 -1
  10. package/dist/gfx/canvasUtils.es.js +77 -84
  11. package/dist/gfx/canvasUtils.es.js.map +1 -1
  12. package/dist/metadata.d.ts +1 -0
  13. package/dist/metadata.d.ts.map +1 -1
  14. package/dist/metadata.es.js +20 -14
  15. package/dist/metadata.es.js.map +1 -1
  16. package/dist/store/dataStore.d.ts +23 -23
  17. package/dist/store/dataStore.d.ts.map +1 -1
  18. package/dist/store/dataStore.es.js +120 -120
  19. package/dist/store/dataStore.es.js.map +1 -1
  20. package/dist/store/persistentStore.d.ts +3 -3
  21. package/dist/store/persistentStore.d.ts.map +1 -1
  22. package/dist/store/persistentStore.es.js +12 -12
  23. package/dist/store/persistentStore.es.js.map +1 -1
  24. package/dist/store/storeContracts.d.ts +20 -20
  25. package/dist/store/storeContracts.d.ts.map +1 -1
  26. package/dist/store/storeContracts.es.js.map +1 -1
  27. package/dist/store/storeDb.es.js +33 -33
  28. package/dist/store/storeDb.es.js.map +1 -1
  29. package/dist/typeCore.d.ts +12 -12
  30. package/dist/typeCore.d.ts.map +1 -1
  31. package/dist/typeCore.es.js.map +1 -1
  32. package/dist/utils.d.ts +4 -3
  33. package/dist/utils.d.ts.map +1 -1
  34. package/dist/utils.es.js +70 -61
  35. package/dist/utils.es.js.map +1 -1
  36. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"storeContracts.d.ts","sourceRoot":"","sources":["../../src/store/storeContracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storeContracts.d.ts","sourceRoot":"","sources":["../../src/store/storeContracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"storeContracts.es.js","sources":["D:/Src/my/actdim/public/utico/src/store/storeContracts.ts"],"sourcesContent":["import { CommonPartFromSchema, KeyPathValueMap } from \"@/typeCore\";\r\nimport * as Dexie from \"dexie\";\r\n\r\n// Making some navigation properties non-enumerable will prevent them from being handled by IndexedDB\r\n// when doing put() or add().\r\n// Object.defineProperties(obj, {\r\n// ...: { value: [], enumerable: false, writable: true }\r\n// });\r\n\r\n// MetadataEntry\r\nexport class MetadataRecord {\r\n key?: string;\r\n createdAt?: number;\r\n updatedAt?: number; // lastModified\r\n tags?: string[];\r\n // timestamp?: number;\r\n // weight?: number;\r\n // score?: number;\r\n // startDate?/endDate?\r\n // validFrom?/validTo?\r\n}\r\n\r\n// DataEntry\r\nexport type DataRecord<TValue = any> = {\r\n key: string;\r\n value: TValue;\r\n}\r\n\r\nexport type StoreItem<T extends MetadataRecord = MetadataRecord, TValue = any> = {\r\n metadata?: T,\r\n data?: DataRecord<TValue>;\r\n}\r\n\r\nexport type ChangeSet<T, TKey = string> = {\r\n key: TKey;\r\n changes: KeyPathValueMap<T>;\r\n}\r\n\r\nexport type BaseMetadataField = keyof MetadataRecord;\r\n// ++: auto-increment primary key\r\n// &: unique\r\n// *: array\r\nexport type FieldDef<T extends string> = T | `&${T}` | `*${T}` | `++${T}`;\r\nexport type BaseFieldDef = FieldDef<BaseMetadataField>;\r\n\r\n// DbFieldTemplate\r\nexport type FieldDefTemplate<T extends string> = FieldDef<T>[];\r\n\r\nexport type IndexableType = Dexie.IndexableTypePart;\r\nexport type IndexableTypeArray = Dexie.IndexableTypeArray;\r\nexport type TransactionMode = Dexie.TransactionMode;\r\nexport type OrderDirection = \"asc\" | \"desc\";\r\n\r\nexport type StoreBase = {\r\n openAsync(): PromiseLike<void>;\r\n}\r\n\r\nexport interface IStoreCollection<T extends MetadataRecord = MetadataRecord, TValue = any> {\r\n\r\n toArrayAsync(orderBy?: keyof T, orderDirection?: OrderDirection, transactionMode?: TransactionMode): Promise<StoreItem<T, TValue>[]>;\r\n\r\n orderByAsync(field: keyof T, direction: OrderDirection, transactionMode?: TransactionMode): Promise<StoreItem<T, TValue>[]>;\r\n\r\n filter<S extends T>(filter: (x: T) => x is S): IStoreCollection<S, TValue>;\r\n\r\n limit(n: number): IStoreCollection<T, TValue>;\r\n\r\n offset(n: number): IStoreCollection<T, TValue>;\r\n\r\n getKeysAsync(): Promise<T[\"key\"][]>;\r\n\r\n getCountAsync(): Promise<number>;\r\n\r\n modifyMetadataAsync(callback: (metadataRecord: T) => void, transactionMode?: TransactionMode): Promise<number>;\r\n\r\n modifyDataAsync(callback: (dataRecord: DataRecord) => void, transactionMode?: TransactionMode): Promise<number>;\r\n\r\n modifyAsync(metadataCallback: (metadataRecord: T) => void, dataCallback: (dataRecord: DataRecord) => void, transactionMode?: TransactionMode): Promise<number>;\r\n}\r\n\r\n// IKVStore\r\nexport interface IPersistentStore<T extends MetadataRecord = MetadataRecord> {\r\n\r\n openAsync(): Promise<void>;\r\n\r\n getKeysAsync(): Promise<string[]>;\r\n\r\n containsAsync(key: string): Promise<boolean>;\r\n\r\n deleteAsync(key: string): Promise<void>;\r\n\r\n bulkDeleteAsync(keys: string[]): Promise<void>;\r\n\r\n clearAsync(): Promise<void>;\r\n\r\n getAsync<TValue = any>(key: string): Promise<StoreItem<T, TValue>>;\r\n\r\n setAsync<TValue = any>(metadataRecord: T, value: TValue): Promise<string>;\r\n\r\n getOrSetAsync<TValue = any>(metadataRecord: MetadataRecord, factory: (metadataRecord: MetadataRecord) => TValue): Promise<StoreItem<T, TValue>>\r\n\r\n bulkGetAsync<TValue = any>(keys: string[]): Promise<StoreItem<T, TValue>[]>;\r\n\r\n bulkSetAsync<TValue = any>(metadataRecords: MetadataRecord[], dataRecords: DataRecord<TValue>[]): Promise<string[]>;\r\n\r\n dispose(): void;\r\n}"],"names":["MetadataRecord"],"mappings":"AAUO,MAAMA,EAAe;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMJ;"}
1
+ {"version":3,"file":"storeContracts.es.js","sources":["D:/Src/my/actdim/public/utico/src/store/storeContracts.ts"],"sourcesContent":["import { CommonPartFromSchema, KeyPathValueMap } from \"@/typeCore\";\r\nimport * as Dexie from \"dexie\";\r\n\r\n// Making some navigation properties non-enumerable will prevent them from being handled by IndexedDB\r\n// when doing put() or add().\r\n// Object.defineProperties(obj, {\r\n// ...: { value: [], enumerable: false, writable: true }\r\n// });\r\n\r\n// MetadataEntry\r\nexport class MetadataRecord {\r\n key?: string;\r\n createdAt?: number;\r\n updatedAt?: number; // lastModified\r\n tags?: string[];\r\n // timestamp?: number;\r\n // weight?: number;\r\n // score?: number;\r\n // startDate?/endDate?\r\n // validFrom?/validTo?\r\n}\r\n\r\n// DataEntry\r\nexport type DataRecord<TValue = any> = {\r\n key: string;\r\n value: TValue;\r\n}\r\n\r\nexport type StoreItem<T extends MetadataRecord = MetadataRecord, TValue = any> = {\r\n metadata?: T,\r\n data?: DataRecord<TValue>;\r\n}\r\n\r\nexport type ChangeSet<T, TKey = string> = {\r\n key: TKey;\r\n changes: KeyPathValueMap<T>;\r\n}\r\n\r\nexport type BaseMetadataField = keyof MetadataRecord;\r\n// ++: auto-increment primary key\r\n// &: unique\r\n// *: array\r\nexport type FieldDef<T extends string> = T | `&${T}` | `*${T}` | `++${T}`;\r\nexport type BaseFieldDef = FieldDef<BaseMetadataField>;\r\n\r\n// DbFieldTemplate\r\nexport type FieldDefTemplate<T extends string> = FieldDef<T>[];\r\n\r\nexport type IndexableType = Dexie.IndexableTypePart;\r\nexport type IndexableTypeArray = Dexie.IndexableTypeArray;\r\nexport type TransactionMode = Dexie.TransactionMode;\r\nexport type OrderDirection = \"asc\" | \"desc\";\r\n\r\nexport type StoreBase = {\r\n open(): PromiseLike<void>;\r\n}\r\n\r\nexport interface IStoreCollection<T extends MetadataRecord = MetadataRecord, TValue = any> {\r\n\r\n toArray(orderBy?: keyof T, orderDirection?: OrderDirection, transactionMode?: TransactionMode): Promise<StoreItem<T, TValue>[]>;\r\n\r\n orderBy(field: keyof T, direction: OrderDirection, transactionMode?: TransactionMode): Promise<StoreItem<T, TValue>[]>;\r\n\r\n filter<S extends T>(filter: (x: T) => x is S): IStoreCollection<S, TValue>;\r\n\r\n limit(n: number): IStoreCollection<T, TValue>;\r\n\r\n offset(n: number): IStoreCollection<T, TValue>;\r\n\r\n getKeys(): Promise<T[\"key\"][]>;\r\n\r\n getCount(): Promise<number>;\r\n\r\n modifyMetadata(callback: (metadataRecord: T) => void, transactionMode?: TransactionMode): Promise<number>;\r\n\r\n modifyData(callback: (dataRecord: DataRecord) => void, transactionMode?: TransactionMode): Promise<number>;\r\n\r\n modify(metadataCallback: (metadataRecord: T) => void, dataCallback: (dataRecord: DataRecord) => void, transactionMode?: TransactionMode): Promise<number>;\r\n}\r\n\r\n// IKVStore\r\nexport interface IPersistentStore<T extends MetadataRecord = MetadataRecord> {\r\n\r\n open(): Promise<void>;\r\n\r\n getKeys(): Promise<string[]>;\r\n\r\n contains(key: string): Promise<boolean>;\r\n\r\n delete(key: string): Promise<void>;\r\n\r\n bulkDelete(keys: string[]): Promise<void>;\r\n\r\n clear(): Promise<void>;\r\n\r\n get<TValue = any>(key: string): Promise<StoreItem<T, TValue>>;\r\n\r\n set<TValue = any>(metadataRecord: T, value: TValue): Promise<string>;\r\n\r\n getOrSet<TValue = any>(metadataRecord: MetadataRecord, factory: (metadataRecord: MetadataRecord) => TValue): Promise<StoreItem<T, TValue>>\r\n\r\n bulkGet<TValue = any>(keys: string[]): Promise<StoreItem<T, TValue>[]>;\r\n\r\n bulkSet<TValue = any>(metadataRecords: MetadataRecord[], dataRecords: DataRecord<TValue>[]): Promise<string[]>;\r\n\r\n [Symbol.dispose]: () => void;\r\n}"],"names":["MetadataRecord"],"mappings":"AAUO,MAAMA,EAAe;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMJ;"}
@@ -1,6 +1,6 @@
1
1
  import { AsyncMutex as h } from "../asyncMutex.es.js";
2
2
  import * as s from "dexie";
3
- const r = "metadata", o = "data", y = ["&key", "value"], d = new h();
3
+ const o = "metadata", c = "data", l = ["&key", "value"], d = new h();
4
4
  class i extends s.Dexie {
5
5
  // catalog/registry
6
6
  metadata;
@@ -12,58 +12,58 @@ class i extends s.Dexie {
12
12
  super(t), this._isDisposed = !1;
13
13
  const e = this;
14
14
  e.version(1).stores({
15
- [r]: a.join(", "),
16
- [o]: y.join(", ")
17
- }), this.metadata = e.table(r), this.data = e.table(o), this.metadata.hook("creating", (n, c) => {
18
- c.createdAt = Date.now();
19
- }), this.metadata.hook("updating", (n, c, l) => ({ ...n, updatedAt: Date.now() }));
15
+ [o]: a.join(", "),
16
+ [c]: l.join(", ")
17
+ }), this.metadata = e.table(o), this.data = e.table(c), this.metadata.hook("creating", (r, n) => {
18
+ n.createdAt = Date.now();
19
+ }), this.metadata.hook("updating", (r, n, w) => ({ ...r, updatedAt: Date.now() }));
20
20
  }
21
- dispose() {
21
+ [Symbol.dispose]() {
22
22
  this._isDisposed || (this.isOpen() && this.close(), this._isDisposed = !0);
23
23
  }
24
- async openAsync() {
25
- if (!this.isOpen())
26
- try {
27
- await this.open();
28
- } catch (t) {
29
- if (t instanceof s.Dexie.OpenFailedError)
30
- await this.open();
31
- else
32
- throw t;
33
- }
24
+ async open() {
25
+ if (this.isOpen())
26
+ return this;
27
+ try {
28
+ return await super.open();
29
+ } catch (t) {
30
+ if (t instanceof s.Dexie.OpenFailedError)
31
+ return await super.open();
32
+ throw t;
33
+ }
34
34
  }
35
- async execAsync(t, a = "r!") {
36
- await this.openAsync();
35
+ async exec(t, a = "r!") {
36
+ await this.open();
37
37
  try {
38
38
  return await this.transaction(a, this.metadata, this.data, async () => await t());
39
39
  } catch (e) {
40
40
  throw this.isOpen(), e;
41
41
  }
42
42
  }
43
- async getKeysAsync() {
43
+ async getKeys() {
44
44
  return this.metadata.toCollection().primaryKeys();
45
45
  }
46
- async containsAsync(t, a = "r") {
47
- return await this.execAsync(async () => await this.metadata.get(t) !== void 0, a);
46
+ async contains(t, a = "r") {
47
+ return await this.exec(async () => await this.metadata.get(t) !== void 0, a);
48
48
  }
49
- async deleteAsync(t, a = "rw") {
50
- await this.execAsync(async () => {
49
+ async deleteOne(t, a = "rw") {
50
+ await this.exec(async () => {
51
51
  await this.metadata.delete(t), await this.data.delete(t);
52
52
  }, a);
53
53
  }
54
54
  // deleteManyAsync
55
- async bulkDeleteAsync(t, a = "rw") {
56
- await this.execAsync(async () => {
55
+ async bulkDelete(t, a = "rw") {
56
+ await this.exec(async () => {
57
57
  await this.metadata.bulkDelete(t), await this.data.bulkDelete(t);
58
58
  }, a);
59
59
  }
60
- // clearAllAsync
61
- async clearAsync(t = "rw") {
62
- await this.execAsync(async () => {
60
+ // clearAll
61
+ async clear(t = "rw") {
62
+ await this.exec(async () => {
63
63
  await this.metadata.clear(), await this.data.clear();
64
64
  }, t);
65
65
  }
66
- static async deleteAsync(t) {
66
+ static async delete(t) {
67
67
  try {
68
68
  await d.dispatch(async () => {
69
69
  await i.exists(t) && await i.delete(t);
@@ -75,13 +75,13 @@ class i extends s.Dexie {
75
75
  throw a;
76
76
  }
77
77
  }
78
- static existsAsync(t) {
78
+ static exists(t) {
79
79
  return s.Dexie.exists(t);
80
80
  }
81
- static async openAsync(t, a) {
81
+ static async open(t, a) {
82
82
  return await d.dispatch(async () => {
83
83
  const e = a(t);
84
- return await e.openAsync(), e;
84
+ return await e.open(), e;
85
85
  });
86
86
  }
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storeDb.es.js","sources":["D:/Src/my/actdim/public/utico/src/store/storeDb.ts"],"sourcesContent":["import { AsyncMutex } from \"@/asyncMutex\";\r\nimport { DataRecord, FieldDefTemplate, MetadataRecord, StoreBase, TransactionMode } from \"./storeContracts\";\r\nimport * as Dexie from \"dexie\";\r\n\r\nconst metadataTableName = \"metadata\";\r\nconst dataTableName = \"data\";\r\nconst dataFieldDefTemplate: FieldDefTemplate<keyof DataRecord> = [\"&key\", \"value\"];\r\n\r\nconst mutex = new AsyncMutex();\r\n\r\nexport class StoreDb<T extends MetadataRecord = MetadataRecord> extends Dexie.Dexie {\r\n // catalog/registry\r\n metadata: Dexie.Table<T, string>;\r\n data: Dexie.Table<DataRecord, string>;\r\n\r\n protected _isDisposed: boolean;\r\n\r\n constructor(name: string, metadataFieldDefTemplate: keyof T extends string ? FieldDefTemplate<keyof T> : never) {\r\n // navigator.storage.estimate()\r\n // navigator.webkitTemporaryStorage.queryUsageAndQuota()\r\n\r\n if (!name) {\r\n throw new Error(\"Invalid database name.\"); // cannot be empty\r\n }\r\n\r\n super(name); // {autoOpen: false}\r\n\r\n this._isDisposed = false;\r\n\r\n const db = this;\r\n\r\n db.version(1).stores({\r\n [metadataTableName]: metadataFieldDefTemplate.join(\", \"),\r\n [dataTableName]: dataFieldDefTemplate.join(\", \")\r\n });\r\n\r\n // db.version(2).stores({\r\n // \t// ...\r\n // }).upgrade(trans => {\r\n // \treturn trans.table(dataTableName).toCollection().modify((entry: MetadataRecord) => {\r\n // \t\t// ...\r\n // \t});\r\n // });\r\n\r\n this.metadata = db.table(metadataTableName);\r\n this.data = db.table(dataTableName);\r\n\r\n this.metadata.hook('creating', (key, obj) => {\r\n obj.createdAt = Date.now();\r\n });\r\n\r\n this.metadata.hook('updating', (mods, key, obj) => {\r\n return { ...mods, updatedAt: Date.now() };\r\n });\r\n\r\n // additional way to handle relationships\r\n // this.metadata.hook(\"deleting\", (key, obj, transaction) => {\r\n // // only synchronous code!\r\n // transaction.table(dataTableName).delete(key);\r\n // });\r\n\r\n // this.metadata.mapToClass(MetadataRecord);\r\n // this.data.mapToClass(DataRecord);\r\n\r\n // this.on('populate', () => db.metadata.bulkAdd([\r\n // \t// ...\r\n // ]));\r\n }\r\n\r\n dispose() {\r\n if (!this._isDisposed) {\r\n if (this.isOpen()) {\r\n this.close();\r\n }\r\n this._isDisposed = true;\r\n }\r\n }\r\n\r\n async openAsync() {\r\n if (!this.isOpen()) {\r\n try {\r\n await this.open();\r\n } catch (err) {\r\n if (err instanceof Dexie.Dexie.OpenFailedError) {\r\n await this.open();\r\n } else {\r\n throw err;\r\n }\r\n }\r\n // TODO: log (this.verno, this._dbSchema etc)\r\n }\r\n }\r\n\r\n async execAsync<T>(\r\n action: () => Promise<T>, // scope\r\n transactionMode: TransactionMode = \"r!\") {\r\n await this.openAsync();\r\n try {\r\n const result = await this.transaction(transactionMode, this.metadata, this.data, async () => {\r\n return await action();\r\n });\r\n return result;\r\n } catch (err) {\r\n if (this.isOpen()) {\r\n // this._db.close(); // generally speaking: we don't (never) need to close a connection\r\n }\r\n throw err;\r\n }\r\n }\r\n\r\n async getKeysAsync() {\r\n return this.metadata.toCollection().primaryKeys();\r\n }\r\n\r\n async containsAsync(key: string, transactionMode: TransactionMode = \"r\") {\r\n return await this.execAsync(async () => {\r\n const metadataRecord = await this.metadata.get(key);\r\n return metadataRecord !== undefined;\r\n }, transactionMode);\r\n }\r\n\r\n async deleteAsync(key: string, transactionMode: TransactionMode = \"rw\") {\r\n await this.execAsync(async () => {\r\n await this.metadata.delete(key);\r\n await this.data.delete(key);\r\n }, transactionMode);\r\n }\r\n\r\n // deleteManyAsync\r\n async bulkDeleteAsync(keys: string[], transactionMode: TransactionMode = \"rw\") {\r\n await this.execAsync(async () => {\r\n await this.metadata.bulkDelete(keys);\r\n await this.data.bulkDelete(keys);\r\n }, transactionMode);\r\n }\r\n\r\n // clearAllAsync\r\n async clearAsync(transactionMode: TransactionMode = \"rw\") {\r\n await this.execAsync(async () => {\r\n await this.metadata.clear();\r\n await this.data.clear();\r\n }, transactionMode);\r\n }\r\n\r\n static async deleteAsync(name: string) {\r\n try {\r\n await mutex.dispatch(async () => {\r\n if (await StoreDb.exists(name)) {\r\n await StoreDb.delete(name);\r\n }\r\n });\r\n } catch (err) {\r\n if (err instanceof Dexie.Dexie.InvalidStateError || err instanceof Dexie.Dexie.VersionError) {\r\n console.warn(`[DataStore] delete(${name}) failed:`, err);\r\n } else {\r\n throw err;\r\n }\r\n }\r\n }\r\n\r\n static existsAsync(name: string) {\r\n return Dexie.Dexie.exists(name);\r\n }\r\n\r\n static async openAsync<T extends StoreBase>(name: string, factory: (name: string) => T) {\r\n return await mutex.dispatch(async () => {\r\n const store = factory(name);\r\n await store.openAsync();\r\n return store;\r\n });\r\n }\r\n}"],"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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"}
1
+ {"version":3,"file":"storeDb.es.js","sources":["D:/Src/my/actdim/public/utico/src/store/storeDb.ts"],"sourcesContent":["import { AsyncMutex } from \"@/asyncMutex\";\r\nimport { DataRecord, FieldDefTemplate, MetadataRecord, StoreBase, TransactionMode } from \"./storeContracts\";\r\nimport * as Dexie from \"dexie\";\r\n\r\nconst metadataTableName = \"metadata\";\r\nconst dataTableName = \"data\";\r\nconst dataFieldDefTemplate: FieldDefTemplate<keyof DataRecord> = [\"&key\", \"value\"];\r\n\r\nconst mutex = new AsyncMutex();\r\n\r\nexport class StoreDb<T extends MetadataRecord = MetadataRecord> extends Dexie.Dexie {\r\n // catalog/registry\r\n metadata: Dexie.Table<T, string>;\r\n data: Dexie.Table<DataRecord, string>;\r\n\r\n protected _isDisposed: boolean;\r\n\r\n constructor(name: string, metadataFieldDefTemplate: keyof T extends string ? FieldDefTemplate<keyof T> : never) {\r\n // navigator.storage.estimate()\r\n // navigator.webkitTemporaryStorage.queryUsageAndQuota()\r\n\r\n if (!name) {\r\n throw new Error(\"Invalid database name.\"); // cannot be empty\r\n }\r\n\r\n super(name); // {autoOpen: false}\r\n\r\n this._isDisposed = false;\r\n\r\n const db = this;\r\n\r\n db.version(1).stores({\r\n [metadataTableName]: metadataFieldDefTemplate.join(\", \"),\r\n [dataTableName]: dataFieldDefTemplate.join(\", \")\r\n });\r\n\r\n // db.version(2).stores({\r\n // \t// ...\r\n // }).upgrade(trans => {\r\n // \treturn trans.table(dataTableName).toCollection().modify((entry: MetadataRecord) => {\r\n // \t\t// ...\r\n // \t});\r\n // });\r\n\r\n this.metadata = db.table(metadataTableName);\r\n this.data = db.table(dataTableName);\r\n\r\n this.metadata.hook('creating', (key, obj) => {\r\n obj.createdAt = Date.now();\r\n });\r\n\r\n this.metadata.hook('updating', (mods, key, obj) => {\r\n return { ...mods, updatedAt: Date.now() };\r\n });\r\n\r\n // additional way to handle relationships\r\n // this.metadata.hook(\"deleting\", (key, obj, transaction) => {\r\n // // only synchronous code!\r\n // transaction.table(dataTableName).delete(key);\r\n // });\r\n\r\n // this.metadata.mapToClass(MetadataRecord);\r\n // this.data.mapToClass(DataRecord);\r\n\r\n // this.on('populate', () => db.metadata.bulkAdd([\r\n // \t// ...\r\n // ]));\r\n }\r\n\r\n [Symbol.dispose]() {\r\n if (!this._isDisposed) {\r\n if (this.isOpen()) {\r\n this.close();\r\n }\r\n this._isDisposed = true;\r\n }\r\n }\r\n\r\n async open() {\r\n if (this.isOpen()) {\r\n return this;\r\n }\r\n try {\r\n return await super.open();\r\n } catch (err) {\r\n if (err instanceof Dexie.Dexie.OpenFailedError) {\r\n return await super.open();\r\n } else {\r\n throw err;\r\n }\r\n }\r\n // TODO: log (this.verno, this._dbSchema etc)\r\n\r\n }\r\n\r\n async exec<T>(\r\n action: () => Promise<T>, // scope\r\n transactionMode: TransactionMode = \"r!\") {\r\n await this.open();\r\n try {\r\n const result = await this.transaction(transactionMode, this.metadata, this.data, async () => {\r\n return await action();\r\n });\r\n return result;\r\n } catch (err) {\r\n if (this.isOpen()) {\r\n // this._db.close(); // generally speaking: we don't (never) need to close a connection\r\n }\r\n throw err;\r\n }\r\n }\r\n\r\n async getKeys() {\r\n return this.metadata.toCollection().primaryKeys();\r\n }\r\n\r\n async contains(key: string, transactionMode: TransactionMode = \"r\") {\r\n return await this.exec(async () => {\r\n const metadataRecord = await this.metadata.get(key);\r\n return metadataRecord !== undefined;\r\n }, transactionMode);\r\n }\r\n\r\n async deleteOne(key: string, transactionMode: TransactionMode = \"rw\") {\r\n await this.exec(async () => {\r\n await this.metadata.delete(key);\r\n await this.data.delete(key);\r\n }, transactionMode);\r\n }\r\n\r\n // deleteManyAsync\r\n async bulkDelete(keys: string[], transactionMode: TransactionMode = \"rw\") {\r\n await this.exec(async () => {\r\n await this.metadata.bulkDelete(keys);\r\n await this.data.bulkDelete(keys);\r\n }, transactionMode);\r\n }\r\n\r\n // clearAll\r\n async clear(transactionMode: TransactionMode = \"rw\") {\r\n await this.exec(async () => {\r\n await this.metadata.clear();\r\n await this.data.clear();\r\n }, transactionMode);\r\n }\r\n\r\n static async delete(name: string) {\r\n try {\r\n await mutex.dispatch(async () => {\r\n if (await StoreDb.exists(name)) {\r\n await StoreDb.delete(name);\r\n }\r\n });\r\n } catch (err) {\r\n if (err instanceof Dexie.Dexie.InvalidStateError || err instanceof Dexie.Dexie.VersionError) {\r\n console.warn(`[DataStore] delete(${name}) failed:`, err);\r\n } else {\r\n throw err;\r\n }\r\n }\r\n }\r\n\r\n static exists(name: string) {\r\n return Dexie.Dexie.exists(name);\r\n }\r\n\r\n static async open<T extends StoreBase>(name: string, factory: (name: string) => T) {\r\n return await mutex.dispatch(async () => {\r\n const store = factory(name);\r\n await store.open();\r\n return store;\r\n });\r\n }\r\n}"],"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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"}
@@ -1,5 +1,5 @@
1
- export type Skip<T extends object, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
2
- export type Filter<T extends object, V> = {
1
+ export type Skip<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
2
+ export type Filter<T, V> = {
3
3
  [K in keyof T as T[K] extends V ? K : never]: T[K];
4
4
  };
5
5
  export type Diff<T, U> = Omit<T, keyof U>;
@@ -18,10 +18,10 @@ export type ValueUnion<T> = T[keyof T];
18
18
  export type TupleFromKeys<T, K extends readonly (keyof T)[]> = {
19
19
  [I in keyof K]: K[I] extends keyof T ? T[K[I]] : never;
20
20
  };
21
- export type Extend<T extends object, U extends object, K extends keyof U> = T & {
21
+ export type Extend<T, U, K extends keyof U> = T & {
22
22
  [P in K]: U[K];
23
23
  };
24
- export type ValueOf<T extends object> = T[keyof T];
24
+ export type ValueOf<T> = T[keyof T];
25
25
  export type OneOnly<T, Key extends keyof T> = {
26
26
  [key in Exclude<keyof T, Key>]: null;
27
27
  } & Pick<T, Key>;
@@ -29,13 +29,13 @@ export type OneOfByKey<T> = {
29
29
  [key in keyof T]: OneOnly<T, key>;
30
30
  };
31
31
  export type OneOfType<T> = ValueOf<OneOfByKey<T>>;
32
- export type KeyOfType<FromType extends object, KeepType = any, Include = true> = {
32
+ export type KeyOfType<FromType, KeepType = any, Include = true> = {
33
33
  [K in keyof FromType]: FromType[K] extends KeepType ? (Include extends true ? K : never) : Include extends true ? never : K;
34
34
  }[keyof FromType];
35
35
  export type Weaken<T, K extends keyof T> = {
36
36
  [P in keyof T]: P extends K ? any : T[P];
37
37
  };
38
- export type Mutable<T extends object> = {
38
+ export type Mutable<T> = {
39
39
  -readonly [K in keyof T]: T[K];
40
40
  };
41
41
  export type Constructor = new (...args: any[]) => any;
@@ -80,18 +80,18 @@ export type IProvider<TFactory = Factory> = {
80
80
  };
81
81
  export type ParameterType<TFunc, TParamIndex extends number> = TFunc extends Func<infer TArgs extends any[], infer TResult> ? TArgs[TParamIndex] : never;
82
82
  export type Executor<T = void, TArgs extends any[] = []> = Func<TArgs, T | PromiseLike<T>>;
83
- export type Overwrite<Base extends object, Overrides extends object> = Omit<Base, keyof Overrides> & Overrides;
83
+ export type Overwrite<Base, Overrides> = Omit<Base, keyof Overrides> & Overrides;
84
84
  export type Extends<T, TShape> = T extends TShape ? true : false;
85
- export type RequireExtends<T extends TShape, TShape extends object> = T;
86
- export type KeyOf<T extends object, TKey extends keyof T> = TKey;
85
+ export type RequireExtends<T extends TShape, TShape> = T;
86
+ export type KeyOf<T, TKey extends keyof T> = TKey;
87
87
  export type HasKeys<T> = keyof T extends never ? false : true;
88
88
  export type IsEmpty<T> = HasKeys<T> extends false ? true : false;
89
89
  export type Require<T, TCondition extends boolean> = TCondition extends true ? T : never;
90
90
  export type IF<TCondition extends boolean, Then, Else = never> = TCondition extends true ? Then : Else;
91
91
  export type Conditional<TCondition extends boolean, Then, Else = never> = IF<TCondition, Then, Else>;
92
- export type IsKeyOf<T, TKey extends object> = TKey extends keyof T ? true : false;
93
- export type KeysOf<T extends object, TKeys extends keyof T | Array<keyof T>> = TKeys extends Array<keyof T> ? TKeys[number] : TKeys;
94
- export type MaybeKeyOf<T extends object, K extends PropertyKey> = K extends keyof T ? K : never;
92
+ export type IsKeyOf<T, TKey> = TKey extends keyof T ? true : false;
93
+ export type KeysOf<T, TKeys extends keyof T | Array<keyof T>> = TKeys extends Array<keyof T> ? TKeys[number] : TKeys;
94
+ export type MaybeKeyOf<T, K extends PropertyKey> = K extends keyof T ? K : never;
95
95
  export type IsTuple<T> = T extends readonly [...infer Elements] ? (number extends Elements["length"] ? false : true) : false;
96
96
  export type Struct<T> = {
97
97
  [K in keyof T]: T[K];
@@ -1 +1 @@
1
- {"version":3,"file":"typeCore.d.ts","sourceRoot":"","sources":["../src/typeCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeCore.d.ts","sourceRoot":"","sources":["../src/typeCore.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAStE,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5G,CAAC;AAGF,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IACvC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAC,GACxF,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAC3D,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,MAAM,CAAC,GACrC,IAAI,GACJ,OAAO,CAAC;AAEd,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAC7D,MAAM,CAAC,SAAS,MAAM,CAAC,GACvB,CAAC,SAAS,GAAG,GACb,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GACpE,OAAO,GACP,OAAO,CAAC;AAEd,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IACvC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAC,GACxF,YAAY,CAAC,CAAC;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG;CAAE,EAAE,GAAG,IAAI,CAAC,CAAC,GAClE,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,MAAM,CAAC,GACrC,MAAM,IAAI,GACV,KAAK,CAAC;AAEZ,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvC,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;KAC1D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACzD,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAGrE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,MAAM,CAAC,IAAI;KAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtG,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC;CAAE,CAAC;AAClE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAGlD,MAAM,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,EAAE,OAAO,GAAG,IAAI,IAAI;KAC7D,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,OAAO,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC;CAC9H,CAAC,MAAM,QAAQ,CAAC,CAAC;AAElB,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KACtC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACrB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAItD,MAAM,MAAM,gBAAgB,CAAC,YAAY,SAAS,WAAW,IAAI,YAAY,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAI5I,MAAM,MAAM,mBAAmB,CAAC,YAAY,SAAS,WAAW,IAAI,YAAY,GAC5E,CAAC,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,YAAY,CAAC,KAAK,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;AAGvF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,SAAS,CAAC,CAAC,CAAC,GACZ;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AAGN,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,SAAS,CAAC,CAAC,CAAC,GACZ;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEN,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAC7D,GAAG,OAAO,GAAG,CAAC,EAAE,GAChB;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEN,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAC7D,GAAG,CAAC,GAAG,OAAO,EAAE,GAChB;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEN,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAChE,CAAC,SAAS,GAAG,OAAO,GAAG,MAAM,IAAI,EAAE,GACnC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAC3B,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACnD,CAAC;AAEN,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAChE,CAAC,SAAS,GAAG,MAAM,IAAI,GAAG,OAAO,EAAE,GACnC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAC3B,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACnD,CAAC;AAEN,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,MAAM,OAAO,MAAM,WAE5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GACxB,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,QAAQ,MAAM,MAC/C,MAAM,CAAC,KAAG,CAEV,CAAC;AAEV,eAAO,MAAM,cAAc,GACtB,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,QAAQ,MAAM,MAC5C,KAAK,CAAC,KAAG,MAET,CAAC;AAGV,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAE9E,MAAM,MAAM,IAAI,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI;IACrD,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAEpE,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAwB1F,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,SAAS,CAAC,QAAQ,GAAG,OAAO,IAAI;IACxC,GAAG,EAAE,QAAQ,CAAC;CACjB,CAAC;AAKF,MAAM,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,SAAS,MAAM,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,SAAS,GAAG,EAAE,EAAE,MAAM,OAAO,CAAC,GACrH,KAAK,CAAC,WAAW,CAAC,GAClB,KAAK,CAAC;AAIZ,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,MAAM,MAAM,SAAS,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,SAAS,CAAC,GAAG,SAAS,CAAC;AAIjF,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAGjE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;AAEzD,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC;AAElD,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAE9D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAEjE,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,UAAU,SAAS,OAAO,IAAI,UAAU,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzF,MAAM,MAAM,EAAE,CAAC,UAAU,SAAS,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvG,MAAM,MAAM,WAAW,CAAC,UAAU,SAAS,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAErG,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnE,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAErH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEjF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,SAAS,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;AAQ7H,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEjD,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC;CACnE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,KAAK,YAAY,GAAG;IAChB,CAAC,EAAE,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC;CACR,CAAC;AACF,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEtF,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,CAAC,IACvC,CAAC,SAAS,CAAC,GAAG,KAAK,GACnB,CAAC,SAAS,SAAS,GAAG,EAAE,GACtB,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAC7D,CAAC,SAAS,MAAM,GAChB;KACG,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GACpD,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,GACzB,GAAG,CAAC,EAAE,GACR,GAAG,CAAC,IAAI,MAAM,EAAE,GAChB,GAAG,CAAC,IAAI,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACrD,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACnB,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAC9C,GAAG,CAAC,EAAE;CACX,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAC/C,KAAK,CAAC;AAEZ,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GAClC,CAAC,SAAS,MAAM,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GACxB,CAAC,SAAS,SAAS,GAAG,EAAE,GACxB,CAAC,SAAS,GAAG,MAAM,EAAE,GACrB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAC7B,KAAK,GACL,KAAK,GACL,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,SAAS,GAAG,EAAE,GACxB,CAAC,SAAS,GAAG,MAAM,EAAE,GACrB,CAAC,CAAC,MAAM,CAAC,GACT,KAAK,GACL,KAAK,CAAC;AAGZ,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CACzC,CAAC"}
@@ -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 extends object, 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 extends object, 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 extends object, 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 extends object, U extends object, K extends keyof U> = T & { [P in K]: U[K] };\r\n\r\n// Validation\r\nexport type ValueOf<T extends object> = 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 extends object, 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 extends object> = {\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 extends object, Overrides extends object> = Omit<Base, keyof Overrides> & Overrides;\r\n// or\r\n// export type Overwrite<Base extends object, Overrides extends object> = 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 extends object> = T;\r\n\r\nexport type KeyOf<T extends object, 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 extends object> = TKey extends keyof T ? true : false;\r\n\r\nexport type KeysOf<T extends object, TKeys extends keyof T | Array<keyof T>> = TKeys extends Array<keyof T> ? TKeys[number] : TKeys;\r\n\r\nexport type MaybeKeyOf<T extends object, 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":["// @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;"}
package/dist/utils.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export declare const normalize: (v: number) => number;
2
2
  export declare function numericOr(...values: number[]): number;
3
3
  export declare const buildFuncArgCacheKey: (...args: any[]) => string;
4
- export declare const delayAsync: (ms: number) => Promise<void>;
5
- export declare const delayErrorAsync: (ms: number, errFactory?: () => Error) => Promise<never>;
6
- export declare function withTimeoutAsync<T>(promise: Promise<T>, ms: number): Promise<T>;
4
+ export declare const delay: (ms: number) => Promise<void>;
5
+ export declare const delayError: (ms: number, errFactory?: () => Error) => Promise<never>;
6
+ export declare function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T>;
7
7
  export declare function searchTree<T>(treeNodes: T[], predicate: (item: T) => boolean, childSelector: (item: T) => T[]): any;
8
8
  export declare const suppressConsole: (action: () => void) => {
9
9
  method: keyof Console;
@@ -13,4 +13,5 @@ export declare function removePrefix(str: string, prefixes: string[]): string;
13
13
  export declare function removeSuffix(str: string, suffixes: string[]): string;
14
14
  export declare function memoEffect<TDep, TResult>(getValue: () => TDep, callback: (v: TDep) => TResult, comparator?: (a: TDep, b: TDep) => boolean): () => TResult;
15
15
  export declare function lazy<T>(factory: () => T): () => T;
16
+ export declare function makeNonEnumerable<T>(obj: T, propertyNames: (keyof T)[]): void;
16
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,WAAiC,CAAC;AAGrE,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAO5C;AAGD,eAAO,MAAM,oBAAoB,YAEZ,GAAG,EAAE,WAiBtB,CAAC;AAEL,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,kBAEpC,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,EAAE,aAAa,MAAM,KAAK,mBAWnE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAS/E;AAQD,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAc7G;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,IAAI;YAGlC,MAAM,OAAO;UACf,GAAG,EAAE;GAoBlB,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAapE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAapE;AAKD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EACpC,QAAQ,EAAE,MAAM,IAAI,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAC9B,UAAU,GAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,OAA2B,iBAchE;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAWjD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,WAAiC,CAAC;AAGrE,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAO5C;AAGD,eAAO,MAAM,oBAAoB,YAEZ,GAAG,EAAE,WAiBtB,CAAC;AAEL,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,kBAE/B,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,EAAE,aAAa,MAAM,KAAK,mBAW9D,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAS1E;AAQD,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAc7G;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,IAAI;YAGlC,MAAM,OAAO;UACf,GAAG,EAAE;GAoBlB,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAapE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAapE;AAKD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EACpC,QAAQ,EAAE,MAAM,IAAI,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAC9B,UAAU,GAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,OAA2B,iBAchE;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAWjD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,QAQtE"}
package/dist/utils.es.js CHANGED
@@ -1,109 +1,118 @@
1
- import { v4 as f } from "uuid";
1
+ import { v4 as s } from "uuid";
2
2
  const a = (e) => !e || !isFinite(e) ? 0 : e;
3
3
  function m(...e) {
4
- for (const o of e)
5
- if (o != null)
6
- return o;
4
+ for (const t of e)
5
+ if (t != null)
6
+ return t;
7
7
  }
8
- const d = /* @__PURE__ */ (() => {
8
+ const p = /* @__PURE__ */ (() => {
9
9
  const e = /* @__PURE__ */ new WeakMap();
10
- return (...o) => {
11
- const r = [];
12
- for (const n of o) {
13
- let t;
14
- typeof n == "number" || typeof n == "string" || typeof n == "boolean" || n == null ? t = "" + n : (t = e.get(n), t || (t = f(), e.set(n, t))), r.push(t);
10
+ return (...t) => {
11
+ const n = [];
12
+ for (const o of t) {
13
+ let r;
14
+ typeof o == "number" || typeof o == "string" || typeof o == "boolean" || o == null ? r = "" + o : (r = e.get(o), r || (r = s(), e.set(o, r))), n.push(r);
15
15
  }
16
- return `"${r.join("/")}"`;
16
+ return `"${n.join("/")}"`;
17
17
  };
18
- })(), y = (e) => new Promise((o) => setTimeout(o, e)), u = (e, o) => new Promise(
19
- (r, n) => setTimeout(
18
+ })(), d = (e) => new Promise((t) => setTimeout(t, e)), u = (e, t) => new Promise(
19
+ (n, o) => setTimeout(
20
20
  () => {
21
- const t = o ? o() : new Error("Timeout exceeded");
22
- n(t);
21
+ const r = t ? t() : new Error("Timeout exceeded");
22
+ o(r);
23
23
  },
24
24
  e
25
25
  )
26
26
  );
27
- function h(e, o) {
28
- return Promise.race([u(o), e]);
27
+ function y(e, t) {
28
+ return Promise.race([u(t), e]);
29
29
  }
30
- function c(e, o, r) {
30
+ function c(e, t, n) {
31
31
  if (e)
32
- for (const n of e) {
33
- if (o(n))
34
- return n;
35
- const t = c(r(n), o, r);
36
- if (t)
37
- return t;
32
+ for (const o of e) {
33
+ if (t(o))
34
+ return o;
35
+ const r = c(n(o), t, n);
36
+ if (r)
37
+ return r;
38
38
  }
39
39
  }
40
- const p = (e) => {
41
- const o = {}, r = [], n = [
40
+ const h = (e) => {
41
+ const t = {}, n = [], o = [
42
42
  "log"
43
43
  /*, "debug", "warn", "info"*/
44
44
  ];
45
- for (const t of n)
46
- o[t] = console[t], console[t] = function(...i) {
47
- r.push({
48
- method: t,
45
+ for (const r of o)
46
+ t[r] = console[r], console[r] = function(...i) {
47
+ n.push({
48
+ method: r,
49
49
  args: i
50
50
  });
51
51
  };
52
52
  try {
53
53
  e();
54
54
  } finally {
55
- for (const t of n)
56
- console[t] = o[t];
55
+ for (const r of o)
56
+ console[r] = t[r];
57
57
  }
58
- return r;
58
+ return n;
59
59
  };
60
- function v(e, o) {
61
- let r = !0;
62
- for (; r; ) {
63
- r = !1;
64
- for (const n of o)
65
- if (n && e.startsWith(n)) {
66
- e = e.slice(n.length), r = !0;
60
+ function v(e, t) {
61
+ let n = !0;
62
+ for (; n; ) {
63
+ n = !1;
64
+ for (const o of t)
65
+ if (o && e.startsWith(o)) {
66
+ e = e.slice(o.length), n = !0;
67
67
  break;
68
68
  }
69
69
  }
70
70
  return e;
71
71
  }
72
- function k(e, o) {
73
- let r = !0;
74
- for (; r; ) {
75
- r = !1;
76
- for (const n of o)
77
- if (n && e.endsWith(n)) {
78
- e = e.slice(0, -n.length), r = !0;
72
+ function k(e, t) {
73
+ let n = !0;
74
+ for (; n; ) {
75
+ n = !1;
76
+ for (const o of t)
77
+ if (o && e.endsWith(o)) {
78
+ e = e.slice(0, -o.length), n = !0;
79
79
  break;
80
80
  }
81
81
  }
82
82
  return e;
83
83
  }
84
- function g(e, o, r = (n, t) => n === t) {
85
- let n, t = !1, i;
84
+ function b(e, t, n = (o, r) => o === r) {
85
+ let o, r = !1, i;
86
86
  return () => {
87
- const s = e();
88
- return (!t || !r(s, n)) && (n = s, t = !0, i = o(s)), i;
87
+ const f = e();
88
+ return (!r || !n(f, o)) && (o = f, r = !0, i = t(f)), i;
89
89
  };
90
90
  }
91
- function w(e) {
92
- let o, r = !1;
93
- return () => (r || (o = e(), r = !0), o);
91
+ function g(e) {
92
+ let t, n = !1;
93
+ return () => (n || (t = e(), n = !0), t);
94
+ }
95
+ function w(e, t) {
96
+ let n = {};
97
+ for (const o of t)
98
+ n[o] = {
99
+ enumerable: !1
100
+ };
101
+ Object.defineProperties(e, n);
94
102
  }
95
103
  export {
96
- d as buildFuncArgCacheKey,
97
- y as delayAsync,
98
- u as delayErrorAsync,
99
- w as lazy,
100
- g as memoEffect,
104
+ p as buildFuncArgCacheKey,
105
+ d as delay,
106
+ u as delayError,
107
+ g as lazy,
108
+ w as makeNonEnumerable,
109
+ b as memoEffect,
101
110
  a as normalize,
102
111
  m as numericOr,
103
112
  v as removePrefix,
104
113
  k as removeSuffix,
105
114
  c as searchTree,
106
- p as suppressConsole,
107
- h as withTimeoutAsync
115
+ h as suppressConsole,
116
+ y as withTimeout
108
117
  };
109
118
  //# sourceMappingURL=utils.es.js.map