@zajno/common 2.6.1 → 2.6.3
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/cjs/lazy/index.js +8 -0
- package/cjs/lazy/index.js.map +1 -0
- package/cjs/lazy/{singleton.js → lazy.js} +5 -5
- package/cjs/lazy/lazy.js.map +1 -0
- package/cjs/lazy/promise.js +9 -7
- package/cjs/lazy/promise.js.map +1 -1
- package/cjs/localization/LocalizationManager.js +52 -28
- package/cjs/localization/LocalizationManager.js.map +1 -1
- package/cjs/localization/LocalizedValidationErrors.js.map +1 -1
- package/cjs/models/Loading.js +2 -2
- package/cjs/models/Loading.js.map +1 -1
- package/cjs/structures/promiseCache.js +58 -30
- package/cjs/structures/promiseCache.js.map +1 -1
- package/esm/lazy/index.js +5 -0
- package/esm/lazy/index.js.map +1 -0
- package/esm/lazy/{singleton.js → lazy.js} +5 -5
- package/esm/lazy/lazy.js.map +1 -0
- package/esm/lazy/promise.js +9 -7
- package/esm/lazy/promise.js.map +1 -1
- package/esm/localization/LocalizationManager.js +52 -28
- package/esm/localization/LocalizationManager.js.map +1 -1
- package/esm/localization/LocalizedValidationErrors.js.map +1 -1
- package/esm/models/Loading.js +2 -2
- package/esm/models/Loading.js.map +1 -1
- package/esm/structures/promiseCache.js +58 -30
- package/esm/structures/promiseCache.js.map +1 -1
- package/package.json +7 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/lazy/index.d.ts +4 -0
- package/types/lazy/{singleton.d.ts → lazy.d.ts} +2 -2
- package/types/lazy/promise.d.ts +4 -4
- package/types/lazy/types.d.ts +2 -2
- package/types/localization/LocalizationManager.d.ts +13 -12
- package/types/localization/LocalizedValidationErrors.d.ts +2 -2
- package/types/localization/abstractions.d.ts +6 -3
- package/types/models/Loading.d.ts +1 -1
- package/types/models/types.d.ts +2 -0
- package/types/structures/promiseCache.d.ts +12 -5
- package/cjs/lazy/singleton.js.map +0 -1
- package/esm/lazy/singleton.js.map +0 -1
package/types/models/types.d.ts
CHANGED
|
@@ -22,3 +22,5 @@ export interface ICountableModel {
|
|
|
22
22
|
readonly selectedCount?: number;
|
|
23
23
|
readonly isEmpty: boolean;
|
|
24
24
|
}
|
|
25
|
+
/** Lighter version of ES2015 Map with no constructor/symbols stuff. */
|
|
26
|
+
export type IMapModel<K, V> = Pick<Map<K, V>, 'clear' | 'delete' | 'get' | 'has' | 'set' | 'size' | 'entries' | 'keys' | 'values' | 'forEach'>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ILogger } from '../logger/index.js';
|
|
2
|
+
import { IMapModel, IValueModel } from '../models/types.js';
|
|
2
3
|
export type DeferredGetter<T> = {
|
|
3
4
|
readonly current: T | null | undefined;
|
|
4
5
|
readonly promise: Promise<T | null>;
|
|
@@ -22,18 +23,22 @@ export declare class PromiseCache<T, K = string> {
|
|
|
22
23
|
private readonly fetcher;
|
|
23
24
|
private readonly keyAdapter?;
|
|
24
25
|
private readonly keyParser?;
|
|
25
|
-
protected _itemsCache:
|
|
26
|
-
protected _itemsStatus:
|
|
27
|
-
|
|
28
|
-
private
|
|
26
|
+
protected readonly _itemsCache: IMapModel<string, T | null | undefined>;
|
|
27
|
+
protected readonly _itemsStatus: IMapModel<string, boolean>;
|
|
28
|
+
protected readonly _busyCount: IValueModel<number>;
|
|
29
|
+
private readonly _fetchCache;
|
|
30
|
+
private readonly _timestamps;
|
|
29
31
|
private _batch;
|
|
30
32
|
private _invalidationTimeMs;
|
|
31
33
|
private _keepInstanceDuringInvalidation;
|
|
32
34
|
private _logger;
|
|
33
35
|
private _version;
|
|
34
|
-
protected _busyCount: number;
|
|
35
36
|
constructor(fetcher: (id: K) => Promise<T>, keyAdapter?: (K extends string ? null : (k: K) => string) | undefined, keyParser?: (K extends string ? null : (id: string) => K) | undefined);
|
|
36
37
|
get busyCount(): number;
|
|
38
|
+
protected pure_createBusyCount(): IValueModel<number>;
|
|
39
|
+
protected pure_createItemsCache(): IMapModel<string, T | null | undefined>;
|
|
40
|
+
protected pure_createItemsStatus(): IMapModel<string, boolean>;
|
|
41
|
+
protected pure_createFetchCache(): IMapModel<string, Promise<T | null>>;
|
|
37
42
|
private _pk;
|
|
38
43
|
useLogger(nameOrLogger?: string | ILogger): this;
|
|
39
44
|
/**
|
|
@@ -63,7 +68,9 @@ export declare class PromiseCache<T, K = string> {
|
|
|
63
68
|
invalidate(id: K): void;
|
|
64
69
|
updateValueDirectly(id: K, value: T | null): void;
|
|
65
70
|
hasKey(id: K): boolean;
|
|
71
|
+
keys(iterate: true): MapIterator<string>;
|
|
66
72
|
keys(): string[];
|
|
73
|
+
keysParsed(iterate: true): Generator<K> | null;
|
|
67
74
|
keysParsed(): K[] | null;
|
|
68
75
|
clear(): void;
|
|
69
76
|
protected _set(key: string, item: T | null | undefined, promise: Promise<T> | undefined, busy: boolean | undefined): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../src/lazy/singleton.ts"],"names":[],"mappings":";;;AAGA,MAAa,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,GAAG,CAAC,QAA2B,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEK,UAAU,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEM,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B;AA7ED,oBA6EC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../src/lazy/singleton.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,IAAI;IAMkB;IAJrB,SAAS,GAAkB,SAAS,CAAC;IACvC,cAAc,CAA6B;IAC3C,SAAS,CAAqB;IAEtC,YAA+B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAI,CAAC;IAEvD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAc,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,GAAG,CAAC,QAA2B,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEK,UAAU,GAAG,CAAC,OAAmC,EAAE,EAAE;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEM,cAAc;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAuB;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC9B"}
|