@hg-ts/config-loader 0.1.88 → 0.1.93
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/config-loader.d.ts +2 -18
- package/dist/config-loader.d.ts.map +1 -1
- package/dist/config-loader.js +0 -68
- package/dist/config-loader.js.map +1 -1
- package/dist/file.config-loader.d.ts +22 -0
- package/dist/file.config-loader.d.ts.map +1 -0
- package/dist/file.config-loader.js +75 -0
- package/dist/file.config-loader.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mock.config-loader.d.ts +8 -0
- package/dist/mock.config-loader.d.ts.map +1 -0
- package/dist/mock.config-loader.js +15 -0
- package/dist/mock.config-loader.js.map +1 -0
- package/dist/tests/config-loader.test.d.ts.map +1 -1
- package/dist/tests/config-loader.test.js +5 -5
- package/dist/tests/config-loader.test.js.map +1 -1
- package/package.json +14 -12
- package/dist/tests/config-loader.test-suite.d.ts +0 -7
- package/dist/tests/config-loader.test-suite.d.ts.map +0 -1
- package/dist/tests/config-loader.test-suite.js +0 -88
- package/dist/tests/config-loader.test-suite.js.map +0 -1
- package/dist/tests/path-builder.test-suite.d.ts +0 -15
- package/dist/tests/path-builder.test-suite.d.ts.map +0 -1
- package/dist/tests/path-builder.test-suite.js +0 -155
- package/dist/tests/path-builder.test-suite.js.map +0 -1
package/dist/config-loader.d.ts
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
import { ZodType } from '@hg-ts/validation';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
recursive?: boolean;
|
|
5
|
-
cache?: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare class ConfigLoader {
|
|
8
|
-
private readonly pathBuilder;
|
|
9
|
-
private readonly options;
|
|
10
|
-
private readonly cacheMap;
|
|
11
|
-
constructor(options?: ConfigLoaderOptions);
|
|
12
|
-
load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
|
|
13
|
-
private loadRawConfig;
|
|
14
|
-
private loadConfigFile;
|
|
15
|
-
private mergeConfigs;
|
|
16
|
-
private validate;
|
|
17
|
-
private get cacheEnabled();
|
|
18
|
-
private get isRecursive();
|
|
19
|
-
private get recursiveRootKey();
|
|
2
|
+
export declare abstract class ConfigLoader {
|
|
3
|
+
abstract load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
|
|
20
4
|
}
|
|
21
5
|
//# sourceMappingURL=config-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,8BAAsB,YAAY;aACjB,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAC/G"}
|
package/dist/config-loader.js
CHANGED
|
@@ -1,75 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigLoader = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
|
|
6
|
-
const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
|
|
7
|
-
const exceptions_1 = require("./exceptions");
|
|
8
|
-
const path_builder_1 = require("./path-builder");
|
|
9
4
|
class ConfigLoader {
|
|
10
|
-
pathBuilder;
|
|
11
|
-
options;
|
|
12
|
-
cacheMap = new Map();
|
|
13
|
-
constructor(options = {}) {
|
|
14
|
-
this.pathBuilder = new path_builder_1.PathBuilder(options);
|
|
15
|
-
this.options = this.pathBuilder.options;
|
|
16
|
-
}
|
|
17
|
-
async load(schema, name) {
|
|
18
|
-
if (this.cacheMap.has(name)) {
|
|
19
|
-
const cacheItem = this.cacheMap.get(name);
|
|
20
|
-
strict_1.default.ok(cacheItem.schema === schema, `cached instance of config "${name}" has another schema`);
|
|
21
|
-
return cacheItem.config;
|
|
22
|
-
}
|
|
23
|
-
const rawConfig = await this.loadRawConfig(name);
|
|
24
|
-
const config = await this.validate(schema, rawConfig);
|
|
25
|
-
if (this.cacheEnabled) {
|
|
26
|
-
this.cacheMap.set(name, { schema, config });
|
|
27
|
-
}
|
|
28
|
-
return config;
|
|
29
|
-
}
|
|
30
|
-
async loadRawConfig(name) {
|
|
31
|
-
const paths = this.pathBuilder.build(name);
|
|
32
|
-
const configs = await Promise.all(paths.map(async (path) => this.loadConfigFile(path)));
|
|
33
|
-
if (!configs[0]) {
|
|
34
|
-
throw new exceptions_1.NoBaseConfigException(name);
|
|
35
|
-
}
|
|
36
|
-
return this.mergeConfigs(configs);
|
|
37
|
-
}
|
|
38
|
-
async loadConfigFile(path) {
|
|
39
|
-
try {
|
|
40
|
-
const content = await promises_1.default.readFile(path, { encoding: 'utf-8' });
|
|
41
|
-
return JSON.parse(content);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
mergeConfigs(configs) {
|
|
48
|
-
return configs
|
|
49
|
-
.filter(config => config !== null)
|
|
50
|
-
.filter((config) => typeof config === 'object')
|
|
51
|
-
.reduce((merged, next) => {
|
|
52
|
-
if (this.isRecursive && merged[this.recursiveRootKey] === true) {
|
|
53
|
-
return merged;
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
...merged,
|
|
57
|
-
...next,
|
|
58
|
-
};
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
async validate(schema, config) {
|
|
62
|
-
return schema.parseAsync(config);
|
|
63
|
-
}
|
|
64
|
-
get cacheEnabled() {
|
|
65
|
-
return this.options.cache ?? false;
|
|
66
|
-
}
|
|
67
|
-
get isRecursive() {
|
|
68
|
-
return this.options.recursive ?? false;
|
|
69
|
-
}
|
|
70
|
-
get recursiveRootKey() {
|
|
71
|
-
return 'root';
|
|
72
|
-
}
|
|
73
5
|
}
|
|
74
6
|
exports.ConfigLoader = ConfigLoader;
|
|
75
7
|
//# sourceMappingURL=config-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;CAEjC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ZodType } from '@hg-ts/validation';
|
|
2
|
+
import { ConfigLoader } from './config-loader';
|
|
3
|
+
import { PathBuilderOptions } from './path-builder';
|
|
4
|
+
export type ConfigLoaderOptions = PathBuilderOptions & {
|
|
5
|
+
recursive?: boolean;
|
|
6
|
+
cache?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare class FileConfigLoader implements ConfigLoader {
|
|
9
|
+
private readonly pathBuilder;
|
|
10
|
+
private readonly options;
|
|
11
|
+
private readonly cacheMap;
|
|
12
|
+
constructor(options?: ConfigLoaderOptions);
|
|
13
|
+
load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
|
|
14
|
+
private loadRawConfig;
|
|
15
|
+
private loadConfigFile;
|
|
16
|
+
private mergeConfigs;
|
|
17
|
+
private validate;
|
|
18
|
+
private get cacheEnabled();
|
|
19
|
+
private get isRecursive();
|
|
20
|
+
private get recursiveRootKey();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=file.config-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.config-loader.d.ts","sourceRoot":"","sources":["../src/file.config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAEP,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAEN,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAOF,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAEtC,OAAO,GAAE,mBAAwB;IAKvC,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAoB9F,aAAa;YAkBb,cAAc;IAU5B,OAAO,CAAC,YAAY;YAeN,QAAQ;IAOtB,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,WAAW,GAEtB;IAID,OAAO,KAAK,gBAAgB,GAE3B;CACD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileConfigLoader = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
|
|
6
|
+
const promises_1 = tslib_1.__importDefault(require("node:fs/promises"));
|
|
7
|
+
const exceptions_1 = require("./exceptions");
|
|
8
|
+
const path_builder_1 = require("./path-builder");
|
|
9
|
+
class FileConfigLoader {
|
|
10
|
+
pathBuilder;
|
|
11
|
+
options;
|
|
12
|
+
cacheMap = new Map();
|
|
13
|
+
constructor(options = {}) {
|
|
14
|
+
this.pathBuilder = new path_builder_1.PathBuilder(options);
|
|
15
|
+
this.options = this.pathBuilder.options;
|
|
16
|
+
}
|
|
17
|
+
async load(schema, name) {
|
|
18
|
+
if (this.cacheMap.has(name)) {
|
|
19
|
+
const cacheItem = this.cacheMap.get(name);
|
|
20
|
+
strict_1.default.ok(cacheItem.schema === schema, `cached instance of config "${name}" has another schema`);
|
|
21
|
+
return cacheItem.config;
|
|
22
|
+
}
|
|
23
|
+
const rawConfig = await this.loadRawConfig(name);
|
|
24
|
+
const config = await this.validate(schema, rawConfig);
|
|
25
|
+
if (this.cacheEnabled) {
|
|
26
|
+
this.cacheMap.set(name, { schema, config });
|
|
27
|
+
}
|
|
28
|
+
return config;
|
|
29
|
+
}
|
|
30
|
+
async loadRawConfig(name) {
|
|
31
|
+
const paths = this.pathBuilder.build(name);
|
|
32
|
+
const configs = await Promise.all(paths.map(async (path) => this.loadConfigFile(path)));
|
|
33
|
+
if (!configs[0]) {
|
|
34
|
+
throw new exceptions_1.NoBaseConfigException(name);
|
|
35
|
+
}
|
|
36
|
+
return this.mergeConfigs(configs);
|
|
37
|
+
}
|
|
38
|
+
async loadConfigFile(path) {
|
|
39
|
+
try {
|
|
40
|
+
const content = await promises_1.default.readFile(path, { encoding: 'utf-8' });
|
|
41
|
+
return JSON.parse(content);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
mergeConfigs(configs) {
|
|
48
|
+
return configs
|
|
49
|
+
.filter(config => config !== null)
|
|
50
|
+
.filter((config) => typeof config === 'object')
|
|
51
|
+
.reduce((merged, next) => {
|
|
52
|
+
if (this.isRecursive && merged[this.recursiveRootKey] === true) {
|
|
53
|
+
return merged;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
...merged,
|
|
57
|
+
...next,
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async validate(schema, config) {
|
|
62
|
+
return schema.parseAsync(config);
|
|
63
|
+
}
|
|
64
|
+
get cacheEnabled() {
|
|
65
|
+
return this.options.cache ?? false;
|
|
66
|
+
}
|
|
67
|
+
get isRecursive() {
|
|
68
|
+
return this.options.recursive ?? false;
|
|
69
|
+
}
|
|
70
|
+
get recursiveRootKey() {
|
|
71
|
+
return 'root';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.FileConfigLoader = FileConfigLoader;
|
|
75
|
+
//# sourceMappingURL=file.config-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.config-loader.js","sourceRoot":"","sources":["../src/file.config-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./config-loader"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./file.config-loader"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./mock.config-loader"), exports);
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,+DAAqC;AACrC,+DAAqC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ZodType } from '@hg-ts/validation';
|
|
2
|
+
import { ConfigLoader } from './config-loader';
|
|
3
|
+
export declare class MockConfigLoader implements ConfigLoader {
|
|
4
|
+
private readonly configMap;
|
|
5
|
+
constructor(configMap: Map<string, unknown>);
|
|
6
|
+
load<ConfigType extends object>(schema: ZodType<ConfigType>, name: string): Promise<ConfigType>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=mock.config-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.config-loader.d.ts","sourceRoot":"","sources":["../src/mock.config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;gBAE9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAIrC,IAAI,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAK5G"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockConfigLoader = void 0;
|
|
4
|
+
class MockConfigLoader {
|
|
5
|
+
configMap;
|
|
6
|
+
constructor(configMap) {
|
|
7
|
+
this.configMap = configMap;
|
|
8
|
+
}
|
|
9
|
+
async load(schema, name) {
|
|
10
|
+
const config = this.configMap.get(name);
|
|
11
|
+
return schema.parse(config);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.MockConfigLoader = MockConfigLoader;
|
|
15
|
+
//# sourceMappingURL=mock.config-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.config-loader.js","sourceRoot":"","sources":["../src/mock.config-loader.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAgB;IACX,SAAS,CAAuB;IAEjD,YAAmB,SAA+B;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,IAAI,CAA4B,MAA2B,EAAE,IAAY;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACD;AAZD,4CAYC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.test.d.ts","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-loader.test.d.ts","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,EAEL,MAAM,cAAc,CAAC;AAKtB,qBACa,gBAAiB,SAAQ,KAAK;IAE7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBxC"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigLoaderTest = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const validation_1 = tslib_1.__importDefault(require("@hg-ts/validation"));
|
|
6
5
|
const tests_1 = require("@hg-ts/tests");
|
|
7
|
-
const
|
|
6
|
+
const validation_1 = tslib_1.__importDefault(require("@hg-ts/validation"));
|
|
7
|
+
const file_config_loader_1 = require("../file.config-loader");
|
|
8
8
|
let ConfigLoaderTest = class ConfigLoaderTest extends tests_1.Suite {
|
|
9
9
|
async simple() {
|
|
10
|
-
const loader = new
|
|
10
|
+
const loader = new file_config_loader_1.FileConfigLoader();
|
|
11
11
|
const merged = loader['mergeConfigs']([
|
|
12
12
|
{
|
|
13
13
|
a: 'a',
|
|
@@ -23,7 +23,7 @@ let ConfigLoaderTest = class ConfigLoaderTest extends tests_1.Suite {
|
|
|
23
23
|
(0, tests_1.expect)(merged['c']).toBe('c');
|
|
24
24
|
}
|
|
25
25
|
async recursive() {
|
|
26
|
-
const loader = new
|
|
26
|
+
const loader = new file_config_loader_1.FileConfigLoader({ recursive: true });
|
|
27
27
|
const merged = loader['mergeConfigs']([
|
|
28
28
|
{
|
|
29
29
|
a: 'a',
|
|
@@ -45,7 +45,7 @@ let ConfigLoaderTest = class ConfigLoaderTest extends tests_1.Suite {
|
|
|
45
45
|
(0, tests_1.expect)(merged['c']).toBe('c');
|
|
46
46
|
}
|
|
47
47
|
async enforceEnv() {
|
|
48
|
-
const loader = new
|
|
48
|
+
const loader = new file_config_loader_1.FileConfigLoader();
|
|
49
49
|
const configSchema = validation_1.default.object({
|
|
50
50
|
number: validation_1.default.union([validation_1.default.number(), validation_1.default.string()])
|
|
51
51
|
.enforceEnv('SOME_NUMERIC_ENV')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.test.js","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":";;;;AAAA,2EAAoC;AAEpC,
|
|
1
|
+
{"version":3,"file":"config-loader.test.js","sourceRoot":"","sources":["../../src/tests/config-loader.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hg-ts/config-loader",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.93",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dist/index.js"
|
|
7
7
|
},
|
|
8
8
|
"repository": "git@gitlab.com:hyper-graph/framework.git",
|
|
9
9
|
"scripts": {
|
|
10
|
-
"
|
|
10
|
+
"publishPackage": "npm publish",
|
|
11
|
+
"prepack": "yarn clear && yarn build && yarn lint:ts && yarn test",
|
|
12
|
+
"clear": "rm -rf dist",
|
|
11
13
|
"build": "tsc",
|
|
12
14
|
"build:dev": "tsc-watch",
|
|
13
15
|
"lint:ts": "lint-ts",
|
|
@@ -16,12 +18,12 @@
|
|
|
16
18
|
"test:dev": "yarn build:dev --onSuccess \"yarn test\""
|
|
17
19
|
},
|
|
18
20
|
"devDependencies": {
|
|
19
|
-
"@hg-ts-config/typescript": "
|
|
20
|
-
"@hg-ts/exception": "
|
|
21
|
-
"@hg-ts/execution-mode": "
|
|
22
|
-
"@hg-ts/linter": "
|
|
23
|
-
"@hg-ts/tests": "
|
|
24
|
-
"@hg-ts/types": "
|
|
21
|
+
"@hg-ts-config/typescript": "workspace:*",
|
|
22
|
+
"@hg-ts/exception": "workspace:*",
|
|
23
|
+
"@hg-ts/execution-mode": "workspace:*",
|
|
24
|
+
"@hg-ts/linter": "workspace:*",
|
|
25
|
+
"@hg-ts/tests": "workspace:*",
|
|
26
|
+
"@hg-ts/types": "workspace:*",
|
|
25
27
|
"@types/node": "22.10.6",
|
|
26
28
|
"eslint": "9.18.0",
|
|
27
29
|
"reflect-metadata": "0.2.2",
|
|
@@ -30,12 +32,12 @@
|
|
|
30
32
|
"typescript": "5.7.3"
|
|
31
33
|
},
|
|
32
34
|
"peerDependencies": {
|
|
33
|
-
"@hg-ts/exception": "
|
|
34
|
-
"@hg-ts/execution-mode": "
|
|
35
|
+
"@hg-ts/exception": "workspace:*",
|
|
36
|
+
"@hg-ts/execution-mode": "workspace:*",
|
|
35
37
|
"reflect-metadata": "*",
|
|
36
38
|
"tslib": "*"
|
|
37
39
|
},
|
|
38
40
|
"dependencies": {
|
|
39
|
-
"@hg-ts/validation": "
|
|
41
|
+
"@hg-ts/validation": "workspace:*"
|
|
40
42
|
}
|
|
41
|
-
}
|
|
43
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/config-loader.test-suite.ts"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,EACL,MAAM,cAAc,CAAC;AAItB,qBACa,qBAAsB,SAAQ,KAAK;IAElC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBxC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConfigLoaderTestSuite = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const validation_1 = tslib_1.__importDefault(require("@hg-ts/validation"));
|
|
6
|
-
const tests_1 = require("@hg-ts/tests");
|
|
7
|
-
const config_loader_1 = require("../config-loader");
|
|
8
|
-
let ConfigLoaderTestSuite = class ConfigLoaderTestSuite extends tests_1.Suite {
|
|
9
|
-
async simple() {
|
|
10
|
-
const loader = new config_loader_1.ConfigLoader();
|
|
11
|
-
const merged = loader['mergeConfigs']([
|
|
12
|
-
{
|
|
13
|
-
a: 'a',
|
|
14
|
-
b: 'b',
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
a: 'aa',
|
|
18
|
-
c: 'c',
|
|
19
|
-
},
|
|
20
|
-
]);
|
|
21
|
-
(0, tests_1.expect)(merged['a']).toBe('aa');
|
|
22
|
-
(0, tests_1.expect)(merged['b']).toBe('b');
|
|
23
|
-
(0, tests_1.expect)(merged['c']).toBe('c');
|
|
24
|
-
}
|
|
25
|
-
async recursive() {
|
|
26
|
-
const loader = new config_loader_1.ConfigLoader({ recursive: true });
|
|
27
|
-
const merged = loader['mergeConfigs']([
|
|
28
|
-
{
|
|
29
|
-
a: 'a',
|
|
30
|
-
b: 'b',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
a: 'aa',
|
|
34
|
-
c: 'c',
|
|
35
|
-
root: true,
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
a: 'aaa',
|
|
39
|
-
b: 'bbb',
|
|
40
|
-
c: 'ccc',
|
|
41
|
-
},
|
|
42
|
-
]);
|
|
43
|
-
(0, tests_1.expect)(merged['a']).toBe('aa');
|
|
44
|
-
(0, tests_1.expect)(merged['b']).toBe('b');
|
|
45
|
-
(0, tests_1.expect)(merged['c']).toBe('c');
|
|
46
|
-
}
|
|
47
|
-
async enforceEnv() {
|
|
48
|
-
const loader = new config_loader_1.ConfigLoader();
|
|
49
|
-
const configSchema = validation_1.default.object({
|
|
50
|
-
number: validation_1.default.union([validation_1.default.number(), validation_1.default.string()])
|
|
51
|
-
.enforceEnv('SOME_NUMERIC_ENV')
|
|
52
|
-
.transform(value => Number(value))
|
|
53
|
-
.pipe(validation_1.default.number()),
|
|
54
|
-
bool: validation_1.default.union([validation_1.default.string(), validation_1.default.boolean()])
|
|
55
|
-
.enforceEnv('SOME_BOOLEAN_ENV')
|
|
56
|
-
.transformBooleanString(),
|
|
57
|
-
});
|
|
58
|
-
process.env['SOME_NUMERIC_ENV'] = '10';
|
|
59
|
-
process.env['SOME_BOOLEAN_ENV'] = 'false';
|
|
60
|
-
const config = { number: 1, bool: true };
|
|
61
|
-
const transformed = await loader['validate'](configSchema, config);
|
|
62
|
-
(0, tests_1.expect)(transformed.number).toBe(10);
|
|
63
|
-
(0, tests_1.expect)(transformed.bool).toBe(false);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
exports.ConfigLoaderTestSuite = ConfigLoaderTestSuite;
|
|
67
|
-
tslib_1.__decorate([
|
|
68
|
-
(0, tests_1.Test)(),
|
|
69
|
-
tslib_1.__metadata("design:type", Function),
|
|
70
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
71
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
72
|
-
], ConfigLoaderTestSuite.prototype, "simple", null);
|
|
73
|
-
tslib_1.__decorate([
|
|
74
|
-
(0, tests_1.Test)(),
|
|
75
|
-
tslib_1.__metadata("design:type", Function),
|
|
76
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
77
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
78
|
-
], ConfigLoaderTestSuite.prototype, "recursive", null);
|
|
79
|
-
tslib_1.__decorate([
|
|
80
|
-
(0, tests_1.Test)(),
|
|
81
|
-
tslib_1.__metadata("design:type", Function),
|
|
82
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
83
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
84
|
-
], ConfigLoaderTestSuite.prototype, "enforceEnv", null);
|
|
85
|
-
exports.ConfigLoaderTestSuite = ConfigLoaderTestSuite = tslib_1.__decorate([
|
|
86
|
-
(0, tests_1.Describe)()
|
|
87
|
-
], ConfigLoaderTestSuite);
|
|
88
|
-
//# sourceMappingURL=config-loader.test-suite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.test-suite.js","sourceRoot":"","sources":["../../src/tests/config-loader.test-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Suite } from '@hg-ts/tests';
|
|
2
|
-
export declare class PathBuilderTestSuite extends Suite {
|
|
3
|
-
simple(): Promise<void>;
|
|
4
|
-
recursive(): Promise<void>;
|
|
5
|
-
full(): Promise<void>;
|
|
6
|
-
configDir(): Promise<void>;
|
|
7
|
-
envBuilder(): Promise<void>;
|
|
8
|
-
envBuilderWithOverrideProd(): Promise<void>;
|
|
9
|
-
envBuilderWithOverrideDev(): Promise<void>;
|
|
10
|
-
basePostfix(): Promise<void>;
|
|
11
|
-
basePostfixWithOverridePostfix(): Promise<void>;
|
|
12
|
-
overridePostfix(): Promise<void>;
|
|
13
|
-
private getPaths;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=path-builder.test-suite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path-builder.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/path-builder.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,EACL,MAAM,cAAc,CAAC;AAWtB,qBACa,oBAAqB,SAAQ,KAAK;IAEjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3C,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/C,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,CAAC,QAAQ;CAKhB"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PathBuilderTestSuite = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const tests_1 = require("@hg-ts/tests");
|
|
6
|
-
const execution_mode_1 = require("@hg-ts/execution-mode");
|
|
7
|
-
const path_builder_1 = require("../path-builder");
|
|
8
|
-
let PathBuilderTestSuite = class PathBuilderTestSuite extends tests_1.Suite {
|
|
9
|
-
async simple() {
|
|
10
|
-
const paths = this.getPaths();
|
|
11
|
-
(0, tests_1.expect)(paths).toHaveLength(1);
|
|
12
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/example.json');
|
|
13
|
-
}
|
|
14
|
-
async recursive() {
|
|
15
|
-
const paths = this.getPaths({ recursive: true });
|
|
16
|
-
(0, tests_1.expect)(paths).toHaveLength(2);
|
|
17
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/example.json');
|
|
18
|
-
(0, tests_1.expect)(paths[1]).toBe('/example.json');
|
|
19
|
-
}
|
|
20
|
-
async full() {
|
|
21
|
-
const paths = this.getPaths({
|
|
22
|
-
recursive: true,
|
|
23
|
-
overridePostfix: 'override',
|
|
24
|
-
basePostfix: 'config',
|
|
25
|
-
envBuilder: true,
|
|
26
|
-
overrideEnv: new execution_mode_1.MockExecutionMode(execution_mode_1.ExecutionModeVariants.DEMO),
|
|
27
|
-
configDir: 'config',
|
|
28
|
-
});
|
|
29
|
-
let index = 0;
|
|
30
|
-
(0, tests_1.expect)(paths).toHaveLength(12);
|
|
31
|
-
(0, tests_1.expect)(paths[index++]).toBe('/tmp/config/base/example.config.json');
|
|
32
|
-
(0, tests_1.expect)(paths[index++]).toBe('/tmp/config/base/example.override.json');
|
|
33
|
-
(0, tests_1.expect)(paths[index++]).toBe('/tmp/config/demo/example.config.json');
|
|
34
|
-
(0, tests_1.expect)(paths[index++]).toBe('/tmp/config/demo/example.override.json');
|
|
35
|
-
(0, tests_1.expect)(paths[index++]).toBe('/tmp/config/local/example.config.json');
|
|
36
|
-
(0, tests_1.expect)(paths[index++]).toBe('/tmp/config/local/example.override.json');
|
|
37
|
-
(0, tests_1.expect)(paths[index++]).toBe('/config/base/example.config.json');
|
|
38
|
-
(0, tests_1.expect)(paths[index++]).toBe('/config/base/example.override.json');
|
|
39
|
-
(0, tests_1.expect)(paths[index++]).toBe('/config/demo/example.config.json');
|
|
40
|
-
(0, tests_1.expect)(paths[index++]).toBe('/config/demo/example.override.json');
|
|
41
|
-
(0, tests_1.expect)(paths[index++]).toBe('/config/local/example.config.json');
|
|
42
|
-
(0, tests_1.expect)(paths[index++]).toBe('/config/local/example.override.json');
|
|
43
|
-
}
|
|
44
|
-
async configDir() {
|
|
45
|
-
const paths = this.getPaths({ configDir: 'config' });
|
|
46
|
-
(0, tests_1.expect)(paths).toHaveLength(1);
|
|
47
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/config/example.json');
|
|
48
|
-
}
|
|
49
|
-
async envBuilder() {
|
|
50
|
-
const paths = this.getPaths({ envBuilder: true });
|
|
51
|
-
(0, tests_1.expect)(paths).toHaveLength(2);
|
|
52
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/base/example.json');
|
|
53
|
-
(0, tests_1.expect)(paths[1]).toBe('/tmp/local/example.json');
|
|
54
|
-
}
|
|
55
|
-
async envBuilderWithOverrideProd() {
|
|
56
|
-
const paths = this.getPaths({ envBuilder: true, overrideEnv: new execution_mode_1.MockExecutionMode(execution_mode_1.ExecutionModeVariants.PROD) });
|
|
57
|
-
(0, tests_1.expect)(paths).toHaveLength(3);
|
|
58
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/base/example.json');
|
|
59
|
-
(0, tests_1.expect)(paths[1]).toBe('/tmp/prod/example.json');
|
|
60
|
-
(0, tests_1.expect)(paths[2]).toBe('/tmp/local/example.json');
|
|
61
|
-
}
|
|
62
|
-
async envBuilderWithOverrideDev() {
|
|
63
|
-
const paths = this.getPaths({ envBuilder: true, overrideEnv: new execution_mode_1.MockExecutionMode(execution_mode_1.ExecutionModeVariants.DEV) });
|
|
64
|
-
(0, tests_1.expect)(paths).toHaveLength(3);
|
|
65
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/base/example.json');
|
|
66
|
-
(0, tests_1.expect)(paths[1]).toBe('/tmp/dev/example.json');
|
|
67
|
-
(0, tests_1.expect)(paths[2]).toBe('/tmp/local/example.json');
|
|
68
|
-
}
|
|
69
|
-
async basePostfix() {
|
|
70
|
-
const paths = this.getPaths({ basePostfix: 'config' });
|
|
71
|
-
(0, tests_1.expect)(paths).toHaveLength(1);
|
|
72
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/example.config.json');
|
|
73
|
-
}
|
|
74
|
-
async basePostfixWithOverridePostfix() {
|
|
75
|
-
const paths = this.getPaths({ basePostfix: 'config', overridePostfix: 'override' });
|
|
76
|
-
(0, tests_1.expect)(paths).toHaveLength(2);
|
|
77
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/example.config.json');
|
|
78
|
-
(0, tests_1.expect)(paths[1]).toBe('/tmp/example.override.json');
|
|
79
|
-
}
|
|
80
|
-
async overridePostfix() {
|
|
81
|
-
const paths = this.getPaths({ overridePostfix: 'override' });
|
|
82
|
-
(0, tests_1.expect)(paths).toHaveLength(2);
|
|
83
|
-
(0, tests_1.expect)(paths[0]).toBe('/tmp/example.json');
|
|
84
|
-
(0, tests_1.expect)(paths[1]).toBe('/tmp/example.override.json');
|
|
85
|
-
}
|
|
86
|
-
getPaths(options = {}) {
|
|
87
|
-
const builder = new path_builder_1.PathBuilder({ appPath: '/tmp', ...options });
|
|
88
|
-
return builder.build('example');
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
exports.PathBuilderTestSuite = PathBuilderTestSuite;
|
|
92
|
-
tslib_1.__decorate([
|
|
93
|
-
(0, tests_1.Test)(),
|
|
94
|
-
tslib_1.__metadata("design:type", Function),
|
|
95
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
96
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
97
|
-
], PathBuilderTestSuite.prototype, "simple", null);
|
|
98
|
-
tslib_1.__decorate([
|
|
99
|
-
(0, tests_1.Test)(),
|
|
100
|
-
tslib_1.__metadata("design:type", Function),
|
|
101
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
102
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
103
|
-
], PathBuilderTestSuite.prototype, "recursive", null);
|
|
104
|
-
tslib_1.__decorate([
|
|
105
|
-
(0, tests_1.Test)(),
|
|
106
|
-
tslib_1.__metadata("design:type", Function),
|
|
107
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
108
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
109
|
-
], PathBuilderTestSuite.prototype, "full", null);
|
|
110
|
-
tslib_1.__decorate([
|
|
111
|
-
(0, tests_1.Test)(),
|
|
112
|
-
tslib_1.__metadata("design:type", Function),
|
|
113
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
114
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
115
|
-
], PathBuilderTestSuite.prototype, "configDir", null);
|
|
116
|
-
tslib_1.__decorate([
|
|
117
|
-
(0, tests_1.Test)(),
|
|
118
|
-
tslib_1.__metadata("design:type", Function),
|
|
119
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
120
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
121
|
-
], PathBuilderTestSuite.prototype, "envBuilder", null);
|
|
122
|
-
tslib_1.__decorate([
|
|
123
|
-
(0, tests_1.Test)(),
|
|
124
|
-
tslib_1.__metadata("design:type", Function),
|
|
125
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
126
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
127
|
-
], PathBuilderTestSuite.prototype, "envBuilderWithOverrideProd", null);
|
|
128
|
-
tslib_1.__decorate([
|
|
129
|
-
(0, tests_1.Test)(),
|
|
130
|
-
tslib_1.__metadata("design:type", Function),
|
|
131
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
132
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
133
|
-
], PathBuilderTestSuite.prototype, "envBuilderWithOverrideDev", null);
|
|
134
|
-
tslib_1.__decorate([
|
|
135
|
-
(0, tests_1.Test)(),
|
|
136
|
-
tslib_1.__metadata("design:type", Function),
|
|
137
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
138
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
139
|
-
], PathBuilderTestSuite.prototype, "basePostfix", null);
|
|
140
|
-
tslib_1.__decorate([
|
|
141
|
-
(0, tests_1.Test)(),
|
|
142
|
-
tslib_1.__metadata("design:type", Function),
|
|
143
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
144
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
145
|
-
], PathBuilderTestSuite.prototype, "basePostfixWithOverridePostfix", null);
|
|
146
|
-
tslib_1.__decorate([
|
|
147
|
-
(0, tests_1.Test)(),
|
|
148
|
-
tslib_1.__metadata("design:type", Function),
|
|
149
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
150
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
151
|
-
], PathBuilderTestSuite.prototype, "overridePostfix", null);
|
|
152
|
-
exports.PathBuilderTestSuite = PathBuilderTestSuite = tslib_1.__decorate([
|
|
153
|
-
(0, tests_1.Describe)()
|
|
154
|
-
], PathBuilderTestSuite);
|
|
155
|
-
//# sourceMappingURL=path-builder.test-suite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path-builder.test-suite.js","sourceRoot":"","sources":["../../src/tests/path-builder.test-suite.ts"],"names":[],"mappings":";;;;AAAA,wCAKsB;AACtB,0DAG+B;AAE/B,kDAGyB;AAGlB,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,aAAK;IAEjC,AAAN,KAAK,CAAC,MAAM;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5C,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3C,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAGY,AAAN,KAAK,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI,kCAAiB,CAAC,sCAAqB,CAAC,IAAI,CAAC;YAC9D,SAAS,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEvE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjE,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACpE,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAErD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACnD,CAAC;IAGY,AAAN,KAAK,CAAC,UAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;IAGY,AAAN,KAAK,CAAC,0BAA0B;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,kCAAiB,CAAC,sCAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElH,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;IAGY,AAAN,KAAK,CAAC,yBAAyB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,kCAAiB,CAAC,sCAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEjH,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/C,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;IAGY,AAAN,KAAK,CAAC,WAAW;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACnD,CAAC;IAGY,AAAN,KAAK,CAAC,8BAA8B;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;QAEpF,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAClD,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACrD,CAAC;IAGY,AAAN,KAAK,CAAC,eAAe;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;QAE7D,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3C,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACrD,CAAC;IAEO,QAAQ,CAAC,UAA+C,EAAE;QACjE,MAAM,OAAO,GAAG,IAAI,0BAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACD,CAAA;AAnHY,oDAAoB;AAEnB;IADZ,IAAA,YAAI,GAAE;;;;kDAMN;AAGY;IADZ,IAAA,YAAI,GAAE;;;;qDAON;AAGY;IADZ,IAAA,YAAI,GAAE;;;;gDA2BN;AAGY;IADZ,IAAA,YAAI,GAAE;;;;qDAMN;AAGY;IADZ,IAAA,YAAI,GAAE;;;;sDAON;AAGY;IADZ,IAAA,YAAI,GAAE;;;;sEAQN;AAGY;IADZ,IAAA,YAAI,GAAE;;;;qEAQN;AAGY;IADZ,IAAA,YAAI,GAAE;;;;uDAMN;AAGY;IADZ,IAAA,YAAI,GAAE;;;;0EAON;AAGY;IADZ,IAAA,YAAI,GAAE;;;;2DAON;+BA5GW,oBAAoB;IADhC,IAAA,gBAAQ,GAAE;GACE,oBAAoB,CAmHhC"}
|