@effijs/props-manager 2.0.14 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Builder/Common.d.ts +15 -4
- package/dist/cjs/Builder/Common.d.ts.map +1 -1
- package/dist/cjs/Builder/Common.js +34 -3
- package/dist/cjs/Builder/Common.js.map +1 -1
- package/dist/cjs/Builder/Parse.d.ts +1 -1
- package/dist/cjs/Builder/Parse.d.ts.map +1 -1
- package/dist/cjs/Builder/Parse.js +9 -9
- package/dist/cjs/Builder/Parse.js.map +1 -1
- package/dist/cjs/Builder/Pattern.d.ts +5 -4
- package/dist/cjs/Builder/Pattern.d.ts.map +1 -1
- package/dist/cjs/Builder/Pattern.js +50 -10
- package/dist/cjs/Builder/Pattern.js.map +1 -1
- package/dist/cjs/Builder/Prop.d.ts +1 -1
- package/dist/cjs/Builder/Prop.d.ts.map +1 -1
- package/dist/cjs/Builder/Prop.js +18 -7
- package/dist/cjs/Builder/Prop.js.map +1 -1
- package/dist/cjs/Builder/Static.d.ts.map +1 -1
- package/dist/cjs/Builder/Static.js +2 -1
- package/dist/cjs/Builder/Static.js.map +1 -1
- package/dist/cjs/Builder/index.d.ts +14 -11
- package/dist/cjs/Builder/index.d.ts.map +1 -1
- package/dist/cjs/Builder/index.js +7 -11
- package/dist/cjs/Builder/index.js.map +1 -1
- package/dist/cjs/Cache/CacheService.d.ts +21 -0
- package/dist/cjs/Cache/CacheService.d.ts.map +1 -0
- package/dist/cjs/Cache/CacheService.js +95 -0
- package/dist/cjs/Cache/CacheService.js.map +1 -0
- package/dist/cjs/Cache/FnRegistry.d.ts +26 -0
- package/dist/cjs/Cache/FnRegistry.d.ts.map +1 -0
- package/dist/cjs/Cache/FnRegistry.js +73 -0
- package/dist/cjs/Cache/FnRegistry.js.map +1 -0
- package/dist/cjs/Cache/KeyRegistry.d.ts +10 -0
- package/dist/cjs/Cache/KeyRegistry.d.ts.map +1 -0
- package/dist/cjs/Cache/KeyRegistry.js +30 -0
- package/dist/cjs/Cache/KeyRegistry.js.map +1 -0
- package/dist/cjs/Cache/utils.d.ts +7 -0
- package/dist/cjs/Cache/utils.d.ts.map +1 -0
- package/dist/cjs/Cache/utils.js +111 -0
- package/dist/cjs/Cache/utils.js.map +1 -0
- package/dist/cjs/PropertyManager/Manager.d.ts +16 -0
- package/dist/cjs/PropertyManager/Manager.d.ts.map +1 -0
- package/dist/cjs/PropertyManager/Manager.js +102 -0
- package/dist/cjs/PropertyManager/Manager.js.map +1 -0
- package/dist/cjs/PropertyManager/Node.d.ts +24 -0
- package/dist/cjs/PropertyManager/Node.d.ts.map +1 -0
- package/dist/cjs/PropertyManager/Node.js +159 -0
- package/dist/cjs/PropertyManager/Node.js.map +1 -0
- package/dist/cjs/Provider/Container.d.ts +10 -0
- package/dist/cjs/Provider/Container.d.ts.map +1 -0
- package/dist/cjs/Provider/Container.js +36 -0
- package/dist/cjs/Provider/Container.js.map +1 -0
- package/dist/cjs/Provider/Provider.d.ts +12 -0
- package/dist/cjs/Provider/Provider.d.ts.map +1 -0
- package/dist/cjs/Provider/Provider.js +30 -0
- package/dist/cjs/Provider/Provider.js.map +1 -0
- package/dist/cjs/Transformer/Base.d.ts +8 -0
- package/dist/cjs/Transformer/Base.d.ts.map +1 -0
- package/dist/cjs/Transformer/Base.js +15 -0
- package/dist/cjs/Transformer/Base.js.map +1 -0
- package/dist/cjs/Transformer/Container.d.ts +6 -0
- package/dist/cjs/Transformer/Container.d.ts.map +1 -0
- package/dist/cjs/Transformer/Container.js +41 -0
- package/dist/cjs/Transformer/Container.js.map +1 -0
- package/dist/cjs/Transformer/index.d.ts +3 -0
- package/dist/cjs/Transformer/index.d.ts.map +1 -0
- package/dist/cjs/Transformer/index.js +8 -0
- package/dist/cjs/Transformer/index.js.map +1 -0
- package/dist/cjs/global/Container.d.ts +13 -0
- package/dist/cjs/global/Container.d.ts.map +1 -0
- package/dist/cjs/global/Container.js +28 -0
- package/dist/cjs/global/Container.js.map +1 -0
- package/dist/cjs/global/store.d.ts +3 -0
- package/dist/cjs/global/store.d.ts.map +1 -0
- package/dist/cjs/global/store.js +13 -0
- package/dist/cjs/global/store.js.map +1 -0
- package/dist/cjs/index.d.ts +9 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +17 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types.d.ts +7 -4
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils/deepMerge.d.ts +2 -0
- package/dist/cjs/utils/deepMerge.d.ts.map +1 -0
- package/dist/cjs/utils/deepMerge.js +24 -0
- package/dist/cjs/utils/deepMerge.js.map +1 -0
- package/dist/esm/Builder/Common.d.ts +15 -4
- package/dist/esm/Builder/Common.d.ts.map +1 -1
- package/dist/esm/Builder/Common.js +34 -3
- package/dist/esm/Builder/Common.js.map +1 -1
- package/dist/esm/Builder/Parse.d.ts +1 -1
- package/dist/esm/Builder/Parse.d.ts.map +1 -1
- package/dist/esm/Builder/Parse.js +9 -9
- package/dist/esm/Builder/Parse.js.map +1 -1
- package/dist/esm/Builder/Pattern.d.ts +5 -4
- package/dist/esm/Builder/Pattern.d.ts.map +1 -1
- package/dist/esm/Builder/Pattern.js +50 -10
- package/dist/esm/Builder/Pattern.js.map +1 -1
- package/dist/esm/Builder/Prop.d.ts +1 -1
- package/dist/esm/Builder/Prop.d.ts.map +1 -1
- package/dist/esm/Builder/Prop.js +18 -7
- package/dist/esm/Builder/Prop.js.map +1 -1
- package/dist/esm/Builder/Static.d.ts.map +1 -1
- package/dist/esm/Builder/Static.js +2 -1
- package/dist/esm/Builder/Static.js.map +1 -1
- package/dist/esm/Builder/index.d.ts +14 -11
- package/dist/esm/Builder/index.d.ts.map +1 -1
- package/dist/esm/Builder/index.js +6 -10
- package/dist/esm/Builder/index.js.map +1 -1
- package/dist/esm/Cache/CacheService.d.ts +21 -0
- package/dist/esm/Cache/CacheService.d.ts.map +1 -0
- package/dist/esm/Cache/CacheService.js +91 -0
- package/dist/esm/Cache/CacheService.js.map +1 -0
- package/dist/esm/Cache/FnRegistry.d.ts +26 -0
- package/dist/esm/Cache/FnRegistry.d.ts.map +1 -0
- package/dist/esm/Cache/FnRegistry.js +69 -0
- package/dist/esm/Cache/FnRegistry.js.map +1 -0
- package/dist/esm/Cache/KeyRegistry.d.ts +10 -0
- package/dist/esm/Cache/KeyRegistry.d.ts.map +1 -0
- package/dist/esm/Cache/KeyRegistry.js +26 -0
- package/dist/esm/Cache/KeyRegistry.js.map +1 -0
- package/dist/esm/Cache/utils.d.ts +7 -0
- package/dist/esm/Cache/utils.d.ts.map +1 -0
- package/dist/esm/Cache/utils.js +105 -0
- package/dist/esm/Cache/utils.js.map +1 -0
- package/dist/esm/PropertyManager/Manager.d.ts +16 -0
- package/dist/esm/PropertyManager/Manager.d.ts.map +1 -0
- package/dist/esm/PropertyManager/Manager.js +98 -0
- package/dist/esm/PropertyManager/Manager.js.map +1 -0
- package/dist/esm/PropertyManager/Node.d.ts +24 -0
- package/dist/esm/PropertyManager/Node.d.ts.map +1 -0
- package/dist/esm/PropertyManager/Node.js +155 -0
- package/dist/esm/PropertyManager/Node.js.map +1 -0
- package/dist/esm/Provider/Container.d.ts +10 -0
- package/dist/esm/Provider/Container.d.ts.map +1 -0
- package/dist/esm/Provider/Container.js +32 -0
- package/dist/esm/Provider/Container.js.map +1 -0
- package/dist/esm/Provider/Provider.d.ts +12 -0
- package/dist/esm/Provider/Provider.d.ts.map +1 -0
- package/dist/esm/Provider/Provider.js +26 -0
- package/dist/esm/Provider/Provider.js.map +1 -0
- package/dist/esm/Transformer/Base.d.ts +8 -0
- package/dist/esm/Transformer/Base.d.ts.map +1 -0
- package/dist/esm/Transformer/Base.js +11 -0
- package/dist/esm/Transformer/Base.js.map +1 -0
- package/dist/esm/Transformer/Container.d.ts +6 -0
- package/dist/esm/Transformer/Container.d.ts.map +1 -0
- package/dist/esm/Transformer/Container.js +37 -0
- package/dist/esm/Transformer/Container.js.map +1 -0
- package/dist/esm/Transformer/index.d.ts +3 -0
- package/dist/esm/Transformer/index.d.ts.map +1 -0
- package/dist/esm/Transformer/index.js +3 -0
- package/dist/esm/Transformer/index.js.map +1 -0
- package/dist/esm/global/Container.d.ts +13 -0
- package/dist/esm/global/Container.d.ts.map +1 -0
- package/dist/esm/global/Container.js +24 -0
- package/dist/esm/global/Container.js.map +1 -0
- package/dist/esm/global/store.d.ts +3 -0
- package/dist/esm/global/store.d.ts.map +1 -0
- package/dist/esm/global/store.js +10 -0
- package/dist/esm/global/store.js.map +1 -0
- package/dist/esm/index.d.ts +9 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +16 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +7 -4
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils/deepMerge.d.ts +2 -0
- package/dist/esm/utils/deepMerge.d.ts.map +1 -0
- package/dist/esm/utils/deepMerge.js +21 -0
- package/dist/esm/utils/deepMerge.js.map +1 -0
- package/dist/types/Builder/Common.d.ts +15 -4
- package/dist/types/Builder/Common.d.ts.map +1 -1
- package/dist/types/Builder/Parse.d.ts +1 -1
- package/dist/types/Builder/Parse.d.ts.map +1 -1
- package/dist/types/Builder/Pattern.d.ts +5 -4
- package/dist/types/Builder/Pattern.d.ts.map +1 -1
- package/dist/types/Builder/Prop.d.ts +1 -1
- package/dist/types/Builder/Prop.d.ts.map +1 -1
- package/dist/types/Builder/Static.d.ts.map +1 -1
- package/dist/types/Builder/index.d.ts +14 -11
- package/dist/types/Builder/index.d.ts.map +1 -1
- package/dist/types/Cache/CacheService.d.ts +21 -0
- package/dist/types/Cache/CacheService.d.ts.map +1 -0
- package/dist/types/Cache/FnRegistry.d.ts +26 -0
- package/dist/types/Cache/FnRegistry.d.ts.map +1 -0
- package/dist/types/Cache/KeyRegistry.d.ts +10 -0
- package/dist/types/Cache/KeyRegistry.d.ts.map +1 -0
- package/dist/types/Cache/utils.d.ts +7 -0
- package/dist/types/Cache/utils.d.ts.map +1 -0
- package/dist/types/PropertyManager/Manager.d.ts +16 -0
- package/dist/types/PropertyManager/Manager.d.ts.map +1 -0
- package/dist/types/PropertyManager/Node.d.ts +24 -0
- package/dist/types/PropertyManager/Node.d.ts.map +1 -0
- package/dist/types/Provider/Container.d.ts +10 -0
- package/dist/types/Provider/Container.d.ts.map +1 -0
- package/dist/types/Provider/Provider.d.ts +12 -0
- package/dist/types/Provider/Provider.d.ts.map +1 -0
- package/dist/types/Transformer/Base.d.ts +8 -0
- package/dist/types/Transformer/Base.d.ts.map +1 -0
- package/dist/types/Transformer/Container.d.ts +6 -0
- package/dist/types/Transformer/Container.d.ts.map +1 -0
- package/dist/types/Transformer/index.d.ts +3 -0
- package/dist/types/Transformer/index.d.ts.map +1 -0
- package/dist/types/global/Container.d.ts +13 -0
- package/dist/types/global/Container.d.ts.map +1 -0
- package/dist/types/global/store.d.ts +3 -0
- package/dist/types/global/store.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +7 -4
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/deepMerge.d.ts +2 -0
- package/dist/types/utils/deepMerge.d.ts.map +1 -0
- package/package.json +16 -12
- package/README.md +0 -653
- package/dist/cjs/Builder/Provider.d.ts +0 -13
- package/dist/cjs/Builder/Provider.d.ts.map +0 -1
- package/dist/cjs/Builder/Provider.js +0 -34
- package/dist/cjs/Builder/Provider.js.map +0 -1
- package/dist/cjs/DataProvider.d.ts +0 -12
- package/dist/cjs/DataProvider.d.ts.map +0 -1
- package/dist/cjs/DataProvider.js +0 -40
- package/dist/cjs/DataProvider.js.map +0 -1
- package/dist/cjs/PropertyManager.d.ts +0 -32
- package/dist/cjs/PropertyManager.d.ts.map +0 -1
- package/dist/cjs/PropertyManager.js +0 -217
- package/dist/cjs/PropertyManager.js.map +0 -1
- package/dist/cjs/react/PMMemo.d.ts +0 -7
- package/dist/cjs/react/PMMemo.d.ts.map +0 -1
- package/dist/cjs/react/PMMemo.js +0 -11
- package/dist/cjs/react/PMMemo.js.map +0 -1
- package/dist/cjs/react/PMMemo.spec.d.ts +0 -2
- package/dist/cjs/react/PMMemo.spec.d.ts.map +0 -1
- package/dist/cjs/react/PMMemo.spec.js +0 -35
- package/dist/cjs/react/PMMemo.spec.js.map +0 -1
- package/dist/cjs/utils.d.ts +0 -8
- package/dist/cjs/utils.d.ts.map +0 -1
- package/dist/cjs/utils.js +0 -76
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/Builder/Provider.d.ts +0 -13
- package/dist/esm/Builder/Provider.d.ts.map +0 -1
- package/dist/esm/Builder/Provider.js +0 -30
- package/dist/esm/Builder/Provider.js.map +0 -1
- package/dist/esm/DataProvider.d.ts +0 -12
- package/dist/esm/DataProvider.d.ts.map +0 -1
- package/dist/esm/DataProvider.js +0 -36
- package/dist/esm/DataProvider.js.map +0 -1
- package/dist/esm/PropertyManager.d.ts +0 -32
- package/dist/esm/PropertyManager.d.ts.map +0 -1
- package/dist/esm/PropertyManager.js +0 -213
- package/dist/esm/PropertyManager.js.map +0 -1
- package/dist/esm/react/PMMemo.d.ts +0 -7
- package/dist/esm/react/PMMemo.d.ts.map +0 -1
- package/dist/esm/react/PMMemo.js +0 -9
- package/dist/esm/react/PMMemo.js.map +0 -1
- package/dist/esm/react/PMMemo.spec.d.ts +0 -2
- package/dist/esm/react/PMMemo.spec.d.ts.map +0 -1
- package/dist/esm/react/PMMemo.spec.js +0 -30
- package/dist/esm/react/PMMemo.spec.js.map +0 -1
- package/dist/esm/utils.d.ts +0 -8
- package/dist/esm/utils.d.ts.map +0 -1
- package/dist/esm/utils.js +0 -68
- package/dist/esm/utils.js.map +0 -1
- package/dist/types/Builder/Provider.d.ts +0 -13
- package/dist/types/Builder/Provider.d.ts.map +0 -1
- package/dist/types/DataProvider.d.ts +0 -12
- package/dist/types/DataProvider.d.ts.map +0 -1
- package/dist/types/PropertyManager.d.ts +0 -32
- package/dist/types/PropertyManager.d.ts.map +0 -1
- package/dist/types/react/PMMemo.d.ts +0 -7
- package/dist/types/react/PMMemo.d.ts.map +0 -1
- package/dist/types/react/PMMemo.spec.d.ts +0 -2
- package/dist/types/react/PMMemo.spec.d.ts.map +0 -1
- package/dist/types/utils.d.ts +0 -8
- package/dist/types/utils.d.ts.map +0 -1
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
import { TObject, TOptions, TProps } from '../types';
|
|
1
2
|
export declare abstract class Builder {
|
|
2
|
-
|
|
3
|
+
private static id;
|
|
4
|
+
protected options: TOptions | undefined;
|
|
5
|
+
protected readonly keys: string[];
|
|
6
|
+
group: string;
|
|
7
|
+
readonly id: number;
|
|
8
|
+
isReady: boolean;
|
|
9
|
+
protected onWillReadyHandler: Function | undefined;
|
|
3
10
|
protected constructor(keys: string[]);
|
|
4
|
-
|
|
5
|
-
|
|
11
|
+
onWillReady(handler: Function): void;
|
|
12
|
+
setGroup(name: string): void;
|
|
13
|
+
getKeys(): string[];
|
|
6
14
|
clean(): void;
|
|
7
|
-
abstract extract(props:
|
|
15
|
+
abstract extract(props: TProps, keys: string[]): TObject;
|
|
16
|
+
getUsedProviders(_props?: TProps): string[] | false;
|
|
17
|
+
protected isAllProvidersAccessible(): boolean | undefined;
|
|
18
|
+
protected getProvidersData: () => Record<string, any> | undefined;
|
|
8
19
|
}
|
|
9
20
|
//# sourceMappingURL=Common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../../src/Builder/Common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../../src/Builder/Common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGrD,8BAAsB,OAAO;IAC3B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAK;IAEtB,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAExC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEnD,SAAS,aAAa,IAAI,EAAE,MAAM,EAAE;IAMpC,WAAW,CAAC,OAAO,EAAE,QAAQ;IAI7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,OAAO;IAIP,KAAK;IAEL,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO;IAExD,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK;IAInD,SAAS,CAAC,wBAAwB;IAWlC,SAAS,CAAC,gBAAgB,wCAUxB;CACH"}
|
|
@@ -1,17 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Builder = void 0;
|
|
4
|
+
const Provider_1 = require("../Provider/Provider");
|
|
4
5
|
class Builder {
|
|
5
6
|
constructor(keys) {
|
|
6
|
-
this.
|
|
7
|
+
this.getProvidersData = () => {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.providers))
|
|
10
|
+
return undefined;
|
|
11
|
+
return this.options.providers.reduce((acc, provider) => {
|
|
12
|
+
var _a;
|
|
13
|
+
acc[provider] = (_a = Provider_1.Provider.getInstance(provider)) === null || _a === void 0 ? void 0 : _a.get();
|
|
14
|
+
return acc;
|
|
15
|
+
}, {});
|
|
16
|
+
};
|
|
17
|
+
this.id = Builder.id++;
|
|
18
|
+
this.keys = keys;
|
|
19
|
+
this.isReady = true;
|
|
20
|
+
}
|
|
21
|
+
onWillReady(handler) {
|
|
22
|
+
this.onWillReadyHandler = handler;
|
|
23
|
+
}
|
|
24
|
+
setGroup(name) {
|
|
25
|
+
this.group = name;
|
|
7
26
|
}
|
|
8
27
|
getKeys() {
|
|
9
28
|
return this.keys;
|
|
10
29
|
}
|
|
11
|
-
|
|
30
|
+
clean() { }
|
|
31
|
+
getUsedProviders(_props) {
|
|
12
32
|
return false;
|
|
13
33
|
}
|
|
14
|
-
|
|
34
|
+
isAllProvidersAccessible() {
|
|
35
|
+
var _a;
|
|
36
|
+
if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.providers))
|
|
37
|
+
return undefined;
|
|
38
|
+
for (const provider of this.options.providers) {
|
|
39
|
+
if (!Provider_1.Provider.getInstance(provider)) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
15
45
|
}
|
|
16
46
|
exports.Builder = Builder;
|
|
47
|
+
Builder.id = 1;
|
|
17
48
|
//# sourceMappingURL=Common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/Builder/Common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/Builder/Common.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAEhD,MAAsB,OAAO;IAY3B,YAAsB,IAAc;QAqC1B,qBAAgB,GAAG,GAAG,EAAE;;YAChC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAA;gBAAE,OAAO,SAAS,CAAC;YAE/C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;;gBAChB,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAA,mBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,0CAAE,GAAG,EAAE,CAAC;gBACtD,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC;QA9CA,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,OAAiB;QAC3B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,KAAI,CAAC;IAIV,gBAAgB,CAAC,MAAe;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAES,wBAAwB;;QAChC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAA;YAAE,OAAO,SAAS,CAAC;QAE/C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,mBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA/CH,0BA4DC;AA3DgB,UAAE,GAAG,CAAC,AAAJ,CAAK"}
|
|
@@ -5,6 +5,6 @@ export declare class Parser extends Builder {
|
|
|
5
5
|
private toData?;
|
|
6
6
|
private data;
|
|
7
7
|
constructor(pattern: TPattern, toData?: ((key: string, value: any) => Record<string, any>) | undefined);
|
|
8
|
-
extract(props: TProps): Record<string, unknown>;
|
|
8
|
+
extract(props: TProps, keys: string[]): Record<string, unknown>;
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=Parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parse.d.ts","sourceRoot":"","sources":["../../../src/Builder/Parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Parse.d.ts","sourceRoot":"","sources":["../../../src/Builder/Parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEjD,qBAAa,MAAO,SAAQ,OAAO;IAI/B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;IAJjB,OAAO,CAAC,IAAI,CAA0C;gBAG5C,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,aAAA;IASnE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAehE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Parser = void 0;
|
|
4
|
-
const ramda_1 = require("ramda");
|
|
5
4
|
const Common_1 = require("./Common");
|
|
5
|
+
const deepMerge_1 = require("../utils/deepMerge");
|
|
6
6
|
class Parser extends Common_1.Builder {
|
|
7
7
|
constructor(pattern, toData) {
|
|
8
8
|
if (!pattern.endsWith('-')) {
|
|
@@ -13,19 +13,19 @@ class Parser extends Common_1.Builder {
|
|
|
13
13
|
this.toData = toData;
|
|
14
14
|
this.data = new Map();
|
|
15
15
|
}
|
|
16
|
-
extract(props) {
|
|
16
|
+
extract(props, keys) {
|
|
17
17
|
var _a;
|
|
18
18
|
let res = {};
|
|
19
|
-
for (const
|
|
20
|
-
if (this.keys.
|
|
21
|
-
res = (0,
|
|
19
|
+
for (const patternKey of keys) {
|
|
20
|
+
if (this.keys.includes(patternKey)) {
|
|
21
|
+
res = (0, deepMerge_1.deepMerge)(res, this.data.get(patternKey));
|
|
22
22
|
}
|
|
23
|
-
else if (
|
|
23
|
+
else if (props[patternKey] && patternKey.startsWith(this.pattern)) {
|
|
24
24
|
const key = patternKey.replace(this.pattern, '');
|
|
25
|
-
const data = ((_a = this.toData) === null || _a === void 0 ? void 0 : _a.call(this, key,
|
|
26
|
-
this.keys.
|
|
25
|
+
const data = ((_a = this.toData) === null || _a === void 0 ? void 0 : _a.call(this, key, props[patternKey])) || { [key]: props[patternKey] };
|
|
26
|
+
this.keys.push(patternKey);
|
|
27
27
|
this.data.set(patternKey, data);
|
|
28
|
-
res = (0,
|
|
28
|
+
res = (0, deepMerge_1.deepMerge)(res, data);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
return res;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parse.js","sourceRoot":"","sources":["../../../src/Builder/Parse.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Parse.js","sourceRoot":"","sources":["../../../src/Builder/Parse.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,kDAA+C;AAG/C,MAAa,MAAO,SAAQ,gBAAO;IAGjC,YACU,OAAiB,EACjB,MAAyD;QAEjE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAPT,YAAO,GAAP,OAAO,CAAU;QACjB,WAAM,GAAN,MAAM,CAAmD;QAJ3D,SAAI,GAAG,IAAI,GAAG,EAA+B,CAAC;IAWtD,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,IAAc;;QACnC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,GAAG,GAAG,IAAA,qBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACjD,MAAM,IAAI,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,qDAAG,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,KAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAChC,GAAG,GAAG,IAAA,qBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA7BD,wBA6BC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Builder } from './Common';
|
|
2
|
-
import type { TPattern, TPatternValue, TPatternExtractor, TProps } from '../types';
|
|
2
|
+
import type { TPattern, TPatternValue, TPatternExtractor, TProps, TOptions } from '../types';
|
|
3
3
|
export declare class Pattern extends Builder {
|
|
4
4
|
private pattern;
|
|
5
5
|
private data;
|
|
6
6
|
private values;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
private patternExtractors;
|
|
8
|
+
constructor(pattern: TPattern, values: TPatternValue, options?: TOptions);
|
|
9
|
+
key(pattern: TPattern, extractor: TPatternExtractor, skipCache?: boolean): this;
|
|
10
|
+
extract(props: TProps, keys: string[]): Record<string, unknown>;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=Pattern.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../src/Builder/Pattern.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../src/Builder/Pattern.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE7F,qBAAa,OAAQ,SAAQ,OAAO;IAMhC,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,iBAAiB,CAA0C;gBAGzD,OAAO,EAAE,QAAQ,EACzB,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,QAAQ;IA+CpB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO;IAoBxE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAShE"}
|
|
@@ -1,19 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Pattern = void 0;
|
|
4
|
-
const
|
|
4
|
+
const store_1 = require("../global/store");
|
|
5
5
|
const Common_1 = require("./Common");
|
|
6
|
+
const deepMerge_1 = require("../utils/deepMerge");
|
|
6
7
|
class Pattern extends Common_1.Builder {
|
|
7
|
-
constructor(pattern, values) {
|
|
8
|
+
constructor(pattern, values, options) {
|
|
9
|
+
var _a, _b, _c, _d;
|
|
8
10
|
super([]);
|
|
9
11
|
this.pattern = pattern;
|
|
10
12
|
this.data = new Map();
|
|
11
|
-
this.
|
|
13
|
+
this.patternExtractors = new Map();
|
|
14
|
+
this.options = options;
|
|
15
|
+
if (typeof values === 'function') {
|
|
16
|
+
if (!((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.providers) === null || _b === void 0 ? void 0 : _b.length) || this.isAllProvidersAccessible()) {
|
|
17
|
+
this.values = Object.entries(values(this.getProvidersData() || {}) || {});
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.isReady = false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.values = Object.entries(values);
|
|
25
|
+
}
|
|
26
|
+
if (((_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.providers) === null || _d === void 0 ? void 0 : _d.length) && typeof values === 'function') {
|
|
27
|
+
const waitForAllProviders = new Set(this.options.providers);
|
|
28
|
+
const listener = (provider) => () => {
|
|
29
|
+
var _a;
|
|
30
|
+
waitForAllProviders.delete(provider);
|
|
31
|
+
if (waitForAllProviders.size) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.values = Object.entries(values(this.getProvidersData() || {}));
|
|
35
|
+
for (const [pattern, extractor] of this.patternExtractors) {
|
|
36
|
+
this.key(pattern, extractor, true);
|
|
37
|
+
}
|
|
38
|
+
if (!this.isReady) {
|
|
39
|
+
(_a = this.onWillReadyHandler) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
for (const provider of this.options.providers) {
|
|
43
|
+
(0, store_1.getGlobalCore)().providers.addListener(provider, listener(provider));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
12
46
|
}
|
|
13
|
-
key(pattern, extractor) {
|
|
14
|
-
|
|
47
|
+
key(pattern, extractor, skipCache) {
|
|
48
|
+
var _a;
|
|
49
|
+
if (!skipCache) {
|
|
50
|
+
this.patternExtractors.set(pattern, extractor);
|
|
51
|
+
}
|
|
52
|
+
(_a = this.values) === null || _a === void 0 ? void 0 : _a.forEach(([replacer, value]) => {
|
|
15
53
|
const key = pattern.replace(this.pattern, replacer);
|
|
16
|
-
this.keys.
|
|
54
|
+
if (!this.keys.includes(key)) {
|
|
55
|
+
this.keys.push(key);
|
|
56
|
+
}
|
|
17
57
|
if (typeof extractor === 'string') {
|
|
18
58
|
this.data.set(key, { [extractor]: value });
|
|
19
59
|
}
|
|
@@ -23,11 +63,11 @@ class Pattern extends Common_1.Builder {
|
|
|
23
63
|
});
|
|
24
64
|
return this;
|
|
25
65
|
}
|
|
26
|
-
extract(props) {
|
|
66
|
+
extract(props, keys) {
|
|
27
67
|
let res = {};
|
|
28
|
-
for (const
|
|
29
|
-
if (
|
|
30
|
-
res = (0,
|
|
68
|
+
for (const key of keys) {
|
|
69
|
+
if (props[key] && this.data.has(key)) {
|
|
70
|
+
res = (0, deepMerge_1.deepMerge)(res, this.data.get(key));
|
|
31
71
|
}
|
|
32
72
|
}
|
|
33
73
|
return res;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../src/Builder/Pattern.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../src/Builder/Pattern.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { THandle, TObject, TOptions, TProps } from '../types';
|
|
2
2
|
import { Builder } from './Common';
|
|
3
3
|
export declare class Prop extends Builder {
|
|
4
|
-
private readonly options;
|
|
5
4
|
private readonly obj?;
|
|
6
5
|
private readonly handle?;
|
|
7
6
|
private readonly key?;
|
|
8
7
|
constructor(keys: string[], extractor?: THandle | TObject | string | undefined, options?: TOptions);
|
|
9
8
|
extract(props: TProps): TObject;
|
|
9
|
+
getUsedProviders(props: TProps): string[] | false;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=Prop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prop.d.ts","sourceRoot":"","sources":["../../../src/Builder/Prop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Prop.d.ts","sourceRoot":"","sources":["../../../src/Builder/Prop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAOnC,qBAAa,IAAK,SAAQ,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAS;gBAG5B,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,EAClD,OAAO,CAAC,EAAE,QAAQ;IAapB,OAAO,CAAC,KAAK,EAAE,MAAM;IAyBrB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK;CAQlD"}
|
package/dist/cjs/Builder/Prop.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Prop = void 0;
|
|
4
4
|
const Common_1 = require("./Common");
|
|
5
|
+
const deepMerge_1 = require("../utils/deepMerge");
|
|
5
6
|
const OPTIONS = {
|
|
6
7
|
nullWhenFirstKeyNull: true,
|
|
7
8
|
};
|
|
@@ -20,28 +21,38 @@ class Prop extends Common_1.Builder {
|
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
extract(props) {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
var _a;
|
|
25
|
+
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.nullWhenFirstKeyNull) {
|
|
26
|
+
if (!(props === null || props === void 0 ? void 0 : props[this.keys[0]])) {
|
|
25
27
|
return {};
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
30
|
if (this.handle) {
|
|
29
|
-
return this.handle(
|
|
31
|
+
return this.handle(props, this.getProvidersData());
|
|
30
32
|
}
|
|
31
33
|
else if (this.obj) {
|
|
32
|
-
return this.obj;
|
|
34
|
+
return (0, deepMerge_1.deepMerge)({}, this.obj);
|
|
33
35
|
}
|
|
34
36
|
else if (this.key) {
|
|
35
|
-
return
|
|
37
|
+
return { [this.key]: props[this.keys[0]] };
|
|
36
38
|
}
|
|
37
39
|
const res = {};
|
|
38
40
|
for (const key of this.keys) {
|
|
39
|
-
if (
|
|
40
|
-
res[key] = props
|
|
41
|
+
if (Object.prototype.hasOwnProperty.call(props, key)) {
|
|
42
|
+
res[key] = props[key];
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
return res;
|
|
44
46
|
}
|
|
47
|
+
getUsedProviders(props) {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
return ((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.providers) === null || _b === void 0 ? void 0 : _b.length) &&
|
|
50
|
+
((this.options.nullWhenFirstKeyNull && (props === null || props === void 0 ? void 0 : props[this.keys[0]])) ||
|
|
51
|
+
!this.options.nullWhenFirstKeyNull) &&
|
|
52
|
+
this.handle
|
|
53
|
+
? this.options.providers
|
|
54
|
+
: false;
|
|
55
|
+
}
|
|
45
56
|
}
|
|
46
57
|
exports.Prop = Prop;
|
|
47
58
|
//# sourceMappingURL=Prop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prop.js","sourceRoot":"","sources":["../../../src/Builder/Prop.ts"],"names":[],"mappings":";;;AACA,qCAAmC;
|
|
1
|
+
{"version":3,"file":"Prop.js","sourceRoot":"","sources":["../../../src/Builder/Prop.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AACnC,kDAA+C;AAE/C,MAAM,OAAO,GAAa;IACxB,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAa,IAAK,SAAQ,gBAAO;IAK/B,YACE,IAAc,EACd,SAAkD,EAClD,OAAkB;QAElB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,SAAoB,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAa;;QACnB,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,oBAAoB,EAAE,CAAC;YACvC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,IAAA,qBAAS,EAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,GAAG,EAA6B,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gBAAgB,CAAC,KAAa;;QAC5B,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,0CAAE,MAAM;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;gBAC3D,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACrC,IAAI,CAAC,MAAM;YACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;YACxB,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;CACF;AAtDD,oBAsDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../../src/Builder/Static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../../src/Builder/Static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,qBAAa,MAAO,SAAQ,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAIlD,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGnC"}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Static = void 0;
|
|
4
4
|
const Common_1 = require("./Common");
|
|
5
|
+
const deepMerge_1 = require("../utils/deepMerge");
|
|
5
6
|
class Static extends Common_1.Builder {
|
|
6
7
|
constructor(data) {
|
|
7
8
|
super(['*']);
|
|
8
9
|
this.data = data;
|
|
9
10
|
}
|
|
10
11
|
extract() {
|
|
11
|
-
return this.data;
|
|
12
|
+
return (0, deepMerge_1.deepMerge)({}, this.data);
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
exports.Static = Static;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Static.js","sourceRoot":"","sources":["../../../src/Builder/Static.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;
|
|
1
|
+
{"version":3,"file":"Static.js","sourceRoot":"","sources":["../../../src/Builder/Static.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,kDAA+C;AAE/C,MAAa,MAAO,SAAQ,gBAAO;IACjC,YAAoB,IAA8B;QAChD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QADK,SAAI,GAAJ,IAAI,CAA0B;IAElD,CAAC;IAED,OAAO;QACL,OAAO,IAAA,qBAAS,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AARD,wBAQC"}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node as NodeManager } from '../PropertyManager/Node';
|
|
2
2
|
import { Prop as PropBuilder } from './Prop';
|
|
3
|
-
import type { THandle, TObject, TOptions, TChild, TPattern } from '../types';
|
|
4
3
|
import { Pattern as PatternBuilder } from './Pattern';
|
|
5
4
|
import { Static as StaticBuilder } from './Static';
|
|
6
|
-
import { PropertyManager } from '../PropertyManager';
|
|
7
|
-
import { Provider as ProviderBuilder } from './Provider';
|
|
8
5
|
import { Parser as ParseBuilder } from './Parse';
|
|
6
|
+
import type { TObject, TOptions, TPattern, TPatternValue } from '../types';
|
|
7
|
+
type AnyObject = Record<string, any>;
|
|
8
|
+
type Handle<TProps, TProviders, TResult = any> = (props: TProps, providers: TProviders) => TResult;
|
|
9
|
+
type Options<TProviders extends AnyObject> = {
|
|
10
|
+
nullWhenFirstKeyNull?: boolean;
|
|
11
|
+
providers?: (keyof TProviders)[];
|
|
12
|
+
};
|
|
9
13
|
declare class Builder {
|
|
10
|
-
static Prop(key: string, property
|
|
11
|
-
static Prop(key:
|
|
12
|
-
static Prop(key: string | string[],
|
|
13
|
-
static Pattern(pattern: string, values:
|
|
14
|
+
static Prop(key: string, property?: string): PropBuilder;
|
|
15
|
+
static Prop<TKey extends string, TProviders extends AnyObject = {}, TResult = any>(key: TKey | TKey[], extractor: Handle<Record<TKey, any>, TProviders, TResult>, options?: Options<TProviders>): PropBuilder;
|
|
16
|
+
static Prop<TObject extends AnyObject, TProviders extends AnyObject = {}>(key: string | string[], extractor?: TObject, options?: Options<TProviders>): PropBuilder;
|
|
17
|
+
static Pattern(pattern: string, values: TPatternValue, options?: TOptions): PatternBuilder;
|
|
14
18
|
static Static(data: TObject): StaticBuilder;
|
|
15
|
-
static
|
|
16
|
-
static Provider(name: string, handle: (data: any) => CommonBuilder): ProviderBuilder;
|
|
19
|
+
static Node(name: string): NodeManager;
|
|
17
20
|
static Parse(pattern: TPattern, toData: (value: string) => Record<string, any>): ParseBuilder;
|
|
18
21
|
}
|
|
19
|
-
export declare const Prop: typeof Builder.Prop, Pattern: typeof Builder.Pattern, Static: typeof Builder.Static,
|
|
22
|
+
export declare const Prop: typeof Builder.Prop, Pattern: typeof Builder.Pattern, Static: typeof Builder.Static, Node: typeof Builder.Node, Parse: typeof Builder.Parse;
|
|
20
23
|
export {};
|
|
21
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAW,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEpF,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC;AAEnG,KAAK,OAAO,CAAC,UAAU,SAAS,SAAS,IAAI;IAC3C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC;CAClC,CAAC;AAEF,cAAM,OAAO;IACX,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW;IAExD,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,UAAU,SAAS,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,EAC/E,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EACzD,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC5B,WAAW;IAEd,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,UAAU,SAAS,SAAS,GAAG,EAAE,EACtE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,SAAS,CAAC,EAAE,OAAO,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAC5B,WAAW;IAmBd,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,cAAc;IAI1F,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa;IAI3C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAItC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY;CAG9F;AAED,eAAO,MAAQ,IAAI,uBAAE,OAAO,0BAAE,MAAM,yBAAE,IAAI,uBAAE,KAAK,sBAAY,CAAC"}
|
|
@@ -1,32 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Parse = exports.
|
|
3
|
+
exports.Parse = exports.Node = exports.Static = exports.Pattern = exports.Prop = void 0;
|
|
4
|
+
const Node_1 = require("../PropertyManager/Node");
|
|
4
5
|
const Prop_1 = require("./Prop");
|
|
5
6
|
const Pattern_1 = require("./Pattern");
|
|
6
7
|
const Static_1 = require("./Static");
|
|
7
|
-
const PropertyManager_1 = require("../PropertyManager");
|
|
8
|
-
const Provider_1 = require("./Provider");
|
|
9
8
|
const Parse_1 = require("./Parse");
|
|
10
9
|
class Builder {
|
|
11
10
|
static Prop(key, extractor, options) {
|
|
12
11
|
const keys = Array.isArray(key) ? key : [key];
|
|
13
12
|
return new Prop_1.Prop(keys, extractor, options);
|
|
14
13
|
}
|
|
15
|
-
static Pattern(pattern, values) {
|
|
16
|
-
return new Pattern_1.Pattern(pattern, values);
|
|
14
|
+
static Pattern(pattern, values, options) {
|
|
15
|
+
return new Pattern_1.Pattern(pattern, values, options);
|
|
17
16
|
}
|
|
18
17
|
static Static(data) {
|
|
19
18
|
return new Static_1.Static(data);
|
|
20
19
|
}
|
|
21
|
-
static
|
|
22
|
-
return new
|
|
23
|
-
}
|
|
24
|
-
static Provider(name, handle) {
|
|
25
|
-
return new Provider_1.Provider(name, handle);
|
|
20
|
+
static Node(name) {
|
|
21
|
+
return new Node_1.Node(name);
|
|
26
22
|
}
|
|
27
23
|
static Parse(pattern, toData) {
|
|
28
24
|
return new Parse_1.Parser(pattern, toData);
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
|
-
exports.Prop = Builder.Prop, exports.Pattern = Builder.Pattern, exports.Static = Builder.Static, exports.
|
|
27
|
+
exports.Prop = Builder.Prop, exports.Pattern = Builder.Pattern, exports.Static = Builder.Static, exports.Node = Builder.Node, exports.Parse = Builder.Parse;
|
|
32
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":";;;AAAA,kDAA8D;AAC9D,iCAA6C;AAC7C,uCAAsD;AACtD,qCAAmD;AACnD,mCAAiD;AAajD,MAAM,OAAO;IAeX,MAAM,CAAC,IAAI,CAAC,GAAsB,EAAE,SAAe,EAAE,OAAa;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAcD,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAAqB,EAAE,OAAkB;QACvE,OAAO,IAAI,iBAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAa;QACzB,OAAO,IAAI,eAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB,EAAE,MAA8C;QAC5E,OAAO,IAAI,cAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAEc,YAAI,GAAmC,OAAO,OAAxC,eAAO,GAA0B,OAAO,UAA/B,cAAM,GAAkB,OAAO,SAAvB,YAAI,GAAY,OAAO,OAAjB,aAAK,GAAK,OAAO,OAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FnRegistry } from './FnRegistry';
|
|
2
|
+
export interface CacheResult<TResult> {
|
|
3
|
+
result?: TResult;
|
|
4
|
+
fnr: FnRegistry;
|
|
5
|
+
key: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class CacheService<TResult> {
|
|
8
|
+
private readonly store;
|
|
9
|
+
private keyRegistry;
|
|
10
|
+
getCacheKey(input: Record<string, any>): {
|
|
11
|
+
key: string;
|
|
12
|
+
fnr: FnRegistry;
|
|
13
|
+
};
|
|
14
|
+
get(input: Record<string, any>): CacheResult<TResult>;
|
|
15
|
+
set(key: string, result: TResult, fnr: FnRegistry): void;
|
|
16
|
+
delete(key: string): void;
|
|
17
|
+
has(key: string): boolean;
|
|
18
|
+
get size(): number;
|
|
19
|
+
clear(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=CacheService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheService.d.ts","sourceRoot":"","sources":["../../../src/Cache/CacheService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB1C,MAAM,WAAW,WAAW,CAAC,OAAO;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,YAAY,CAAC,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,WAAW,CAAqB;IAExC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;IAMtC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;IA8DrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAmBxD,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CacheService = void 0;
|
|
4
|
+
const KeyRegistry_1 = require("./KeyRegistry");
|
|
5
|
+
const FnRegistry_1 = require("./FnRegistry");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
class CacheService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.store = new Map();
|
|
10
|
+
this.keyRegistry = new KeyRegistry_1.KeyRegistry();
|
|
11
|
+
}
|
|
12
|
+
getCacheKey(input) {
|
|
13
|
+
const fnr = new FnRegistry_1.FnRegistry();
|
|
14
|
+
const key = (0, utils_1.getCacheKey)(input, fnr, this.keyRegistry);
|
|
15
|
+
return { key, fnr };
|
|
16
|
+
}
|
|
17
|
+
get(input) {
|
|
18
|
+
var _a;
|
|
19
|
+
const { key, fnr } = this.getCacheKey(input);
|
|
20
|
+
const entry = this.store.get(key);
|
|
21
|
+
if (!entry) {
|
|
22
|
+
return {
|
|
23
|
+
key,
|
|
24
|
+
fnr,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (!entry.fnr.equalTo(fnr)) {
|
|
28
|
+
if (((_a = entry.compare) === null || _a === void 0 ? void 0 : _a.hasAll) && !entry.compare.hasNew) {
|
|
29
|
+
for (const [fn, paths] of entry.compare.missing.fnPaths) {
|
|
30
|
+
for (const [input, output] of paths) {
|
|
31
|
+
const newFn = fnr.get(input);
|
|
32
|
+
const keys = output.split('.');
|
|
33
|
+
const lastKey = keys.pop();
|
|
34
|
+
let node = entry.result;
|
|
35
|
+
for (let i = 0; i < keys.length; i++) {
|
|
36
|
+
const id = this.keyRegistry.get(keys[i]);
|
|
37
|
+
node = node === null || node === void 0 ? void 0 : node[id];
|
|
38
|
+
}
|
|
39
|
+
if (node && lastKey) {
|
|
40
|
+
const id = this.keyRegistry.get(lastKey);
|
|
41
|
+
node[id] = newFn;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
entry.compare.missing.fnPaths.clear();
|
|
46
|
+
entry.compare.missing.notUses.clear();
|
|
47
|
+
entry.compare.newly.fnPaths.clear();
|
|
48
|
+
entry.compare.newly.notUses.clear();
|
|
49
|
+
this.set(key, entry.result, fnr);
|
|
50
|
+
return {
|
|
51
|
+
key,
|
|
52
|
+
fnr,
|
|
53
|
+
result: entry.result,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
key,
|
|
58
|
+
fnr,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
key,
|
|
63
|
+
fnr,
|
|
64
|
+
result: entry.result,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
set(key, result, fnr) {
|
|
68
|
+
if (this.store.has(key)) {
|
|
69
|
+
const entry = this.store.get(key);
|
|
70
|
+
entry.fnr.clear();
|
|
71
|
+
}
|
|
72
|
+
const ofnr = new FnRegistry_1.FnRegistry();
|
|
73
|
+
(0, utils_1.mapFunctions)(result, '', ofnr, this.keyRegistry);
|
|
74
|
+
const compare = fnr.compare(ofnr);
|
|
75
|
+
this.store.set(key, {
|
|
76
|
+
result,
|
|
77
|
+
fnr,
|
|
78
|
+
compare,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
delete(key) {
|
|
82
|
+
this.store.delete(key);
|
|
83
|
+
}
|
|
84
|
+
has(key) {
|
|
85
|
+
return this.store.has(key);
|
|
86
|
+
}
|
|
87
|
+
get size() {
|
|
88
|
+
return this.store.size;
|
|
89
|
+
}
|
|
90
|
+
clear() {
|
|
91
|
+
this.store.clear();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.CacheService = CacheService;
|
|
95
|
+
//# sourceMappingURL=CacheService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../../src/Cache/CacheService.ts"],"names":[],"mappings":"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"}
|