@pawells/config 2.3.1 → 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/README.md +252 -149
- package/dist/errors.d.ts +24 -32
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +34 -37
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +265 -46
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +667 -137
- package/dist/manager.js.map +1 -1
- package/dist/provider.d.ts +280 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +108 -0
- package/dist/provider.js.map +1 -0
- package/dist/schema.factory.d.ts +30 -37
- package/dist/schema.factory.d.ts.map +1 -1
- package/dist/schema.factory.js +59 -92
- package/dist/schema.factory.js.map +1 -1
- package/dist/secret.d.ts +13 -2
- package/dist/secret.d.ts.map +1 -1
- package/dist/secret.js +31 -6
- package/dist/secret.js.map +1 -1
- package/package.json +63 -49
- package/CHANGELOG.md +0 -19
package/dist/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,mCAAmC,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACjJ,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,IAAI,EAAE;IACR,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,SAAS,EAAE;CACb,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEzB;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IACnD,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAWD;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,MAAoB;IAChD,IAAI,OAAO,GAA6B,MAAM,CAAC;IAE/C,OAAO,OAAO,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM;QACP,CAAC;QAED,OAAO,GAAI,OAAO,CAAC,IAA2C,EAAE,SAEpD,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,KAAwB;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IACjB,MAAM,CAAU,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IAExE,4BAA4B;IACpB,MAAM,CAAU,aAAa,GAAY,IAAI,GAAG,EAAE,CAAC;IAE3D,4CAA4C;IACpC,MAAM,CAAU,cAAc,GAAY,IAAI,GAAG,EAAE,CAAC;IAE5D,gBAAgB;IACR,MAAM,KAAK,KAAK;QACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK;QAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAkD,CAAC;IAEnD;;;;;;;;;OASG;IACI,MAAM,CAAC,QAAQ,CAAC,GAAW,EAAE,MAAoC,EAAE,YAAqB;QAC9F,8DAA8D;QAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;YAAE,MAAM,IAAI,mCAAmC,CAAC,GAAG,CAAC,CAAC;QACpH,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,oCAAoC,GAAG,uCAAuC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3K,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,GAAG,CAA8B,GAAW,EAAE,KAAQ,EAAE,SAAwB,UAAU;QACvG,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,+BAA+B,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;iBACI,CAAC;gBACL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAClJ,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,MAAsB;QACpD,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9I,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC;YACJ,2JAA2J;YAC3J,kNAAkN;YAClN,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAClJ,CAAC;IACF,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,SAAS,CAAC,GAAW;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,+BAA+B,CAAC,GAAG,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACI,MAAM,CAAC,WAAW,CAAC,OAAuD;QAChF,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC;QAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YAExC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACJ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,IACC,CAAC,YAAY,wBAAwB;wBACrC,CAAC,YAAY,+BAA+B;wBAC5C,CAAC,YAAY,kBAAkB,EAC9B,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,CAAC;oBACT,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,QAAQ,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACP,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3B,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration provider abstractions and validation schemas.
|
|
3
|
+
*
|
|
4
|
+
* Providers are data sources that supply raw key/value pairs to {@link ConfigManager}.
|
|
5
|
+
* They occupy the middle precedence tier — their values override registered defaults
|
|
6
|
+
* but are themselves overridden by explicit {@link ConfigManager.Set} calls.
|
|
7
|
+
*
|
|
8
|
+
* @module provider
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod/v4';
|
|
11
|
+
/**
|
|
12
|
+
* Zod schema validating configuration provider options.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* All providers must have at minimum a `name` string field for diagnostics.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const options = { name: 'my-provider' };
|
|
20
|
+
* CONFIG_PROVIDER_OPTIONS_SCHEMA.parse(options);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const CONFIG_PROVIDER_OPTIONS_SCHEMA: z.ZodObject<{
|
|
24
|
+
name: z.ZodString;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
/**
|
|
27
|
+
* Inferred type of {@link CONFIG_PROVIDER_OPTIONS_SCHEMA}.
|
|
28
|
+
*/
|
|
29
|
+
export type TConfigProviderOptions = z.infer<typeof CONFIG_PROVIDER_OPTIONS_SCHEMA>;
|
|
30
|
+
/**
|
|
31
|
+
* Asserts that a value conforms to {@link TConfigProviderOptions}.
|
|
32
|
+
*
|
|
33
|
+
* @param options - The value to assert
|
|
34
|
+
* @throws {ZodError} If options does not match the schema
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* AssertConfigProviderOptions({ name: 'my-provider' });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function AssertConfigProviderOptions(options: unknown): asserts options is TConfigProviderOptions;
|
|
41
|
+
/**
|
|
42
|
+
* Validates whether a value conforms to {@link TConfigProviderOptions}.
|
|
43
|
+
*
|
|
44
|
+
* @param options - The value to validate
|
|
45
|
+
* @returns `true` if options matches the schema, `false` otherwise
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* if (ValidateConfigProviderOptions(obj)) {
|
|
49
|
+
* // obj is now typed as TConfigProviderOptions
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function ValidateConfigProviderOptions(options: unknown): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Zod schema validating configuration provider save options.
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* Save options control how configuration is written to a provider's destination.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const saveOpts = { useCurrentValues: true };
|
|
63
|
+
* CONFIG_PROVIDER_SAVE_OPTIONS_SCHEMA.parse(saveOpts);
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare const CONFIG_PROVIDER_SAVE_OPTIONS_SCHEMA: z.ZodObject<{
|
|
67
|
+
useCurrentValues: z.ZodOptional<z.ZodBoolean>;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
/**
|
|
70
|
+
* Inferred type of {@link CONFIG_PROVIDER_SAVE_OPTIONS_SCHEMA}.
|
|
71
|
+
*/
|
|
72
|
+
export type TConfigProviderSaveOptions = z.infer<typeof CONFIG_PROVIDER_SAVE_OPTIONS_SCHEMA>;
|
|
73
|
+
/**
|
|
74
|
+
* Contract for configuration value providers.
|
|
75
|
+
*
|
|
76
|
+
* A provider is a synchronous data source that supplies raw key/value pairs to
|
|
77
|
+
* {@link ConfigManager}. Providers occupy the middle precedence tier — their values
|
|
78
|
+
* override registered defaults but are themselves overridden by explicit
|
|
79
|
+
* {@link ConfigManager.Set} calls.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* class MyProvider implements IConfigProvider {
|
|
84
|
+
* readonly name = 'my-provider';
|
|
85
|
+
* load(): Record<string, unknown> {
|
|
86
|
+
* return { MY_KEY: 'my-value' };
|
|
87
|
+
* }
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare abstract class ConfigProvider<TOptions extends TConfigProviderOptions = TConfigProviderOptions, TLoadOptions = unknown, TSaveOptions extends TConfigProviderSaveOptions = TConfigProviderSaveOptions> {
|
|
92
|
+
protected readonly options: TOptions;
|
|
93
|
+
/**
|
|
94
|
+
* Unique name identifying this provider instance.
|
|
95
|
+
* Used for diagnostics only.
|
|
96
|
+
*/
|
|
97
|
+
private readonly _Name;
|
|
98
|
+
get Name(): string;
|
|
99
|
+
constructor(options: TOptions);
|
|
100
|
+
/**
|
|
101
|
+
* Asynchronously load all configuration values from this provider's data source.
|
|
102
|
+
*
|
|
103
|
+
* Called once by {@link ConfigManager.RegisterProvider}. The returned record maps
|
|
104
|
+
* fully-qualified configuration key names to their raw values. Keys that are not
|
|
105
|
+
* registered with {@link ConfigManager} or whose values fail schema validation are
|
|
106
|
+
* silently skipped by the manager.
|
|
107
|
+
*
|
|
108
|
+
* @param options - Optional load options specific to this provider
|
|
109
|
+
* @returns - A promise resolving to a record of fully-qualified key names to raw (unvalidated) values
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const provider = new MyProvider();
|
|
113
|
+
* const data = await provider.Load({ timeout: 5000 });
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
abstract Load(options?: TLoadOptions): Promise<Record<string, unknown>>;
|
|
117
|
+
abstract Save(entries: readonly ConfigSaveEntry[], options?: TSaveOptions): Promise<void>;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* A single configuration entry passed to {@link IConfigProvider.Save}.
|
|
121
|
+
*
|
|
122
|
+
* ConfigManager builds one entry per registered key and passes the full list to
|
|
123
|
+
* the provider, which is responsible for formatting and writing the output.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const entry: ConfigSaveEntry = {
|
|
128
|
+
* key: 'KEYCLOAK_HOST',
|
|
129
|
+
* section: 'KEYCLOAK',
|
|
130
|
+
* field: 'HOST',
|
|
131
|
+
* value: 'https://auth.example.com',
|
|
132
|
+
* isSecret: false,
|
|
133
|
+
* description: 'Keycloak server address'
|
|
134
|
+
* };
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export interface IConfigSaveEntry {
|
|
138
|
+
/**
|
|
139
|
+
* Fully-qualified configuration key (e.g. `KEYCLOAK_HOST`).
|
|
140
|
+
*/
|
|
141
|
+
readonly key: string;
|
|
142
|
+
/**
|
|
143
|
+
* Namespace section name, derived from the prefix registered via
|
|
144
|
+
* {@link ConfigManager.RegisterNamespace} (e.g. `KEYCLOAK`).
|
|
145
|
+
* Empty string for keys that were not registered under any namespace.
|
|
146
|
+
*/
|
|
147
|
+
readonly section: string;
|
|
148
|
+
/**
|
|
149
|
+
* Field name within the section (e.g. `HOST`).
|
|
150
|
+
* Equal to {@link key} when {@link section} is empty.
|
|
151
|
+
*/
|
|
152
|
+
readonly field: string;
|
|
153
|
+
/**
|
|
154
|
+
* Resolved value for this entry — either the current live value
|
|
155
|
+
* (`useCurrentValues: true`) or the registered default (`false`).
|
|
156
|
+
* May be `undefined` if the key has no value in the selected mode.
|
|
157
|
+
*/
|
|
158
|
+
readonly value: unknown;
|
|
159
|
+
/**
|
|
160
|
+
* Whether this field was marked with {@link Secret}.
|
|
161
|
+
* Providers should redact or blank secrets in template mode.
|
|
162
|
+
*/
|
|
163
|
+
readonly isSecret: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Optional human-readable description from a Zod `.describe()` annotation.
|
|
166
|
+
* Providers typically emit this as a comment line.
|
|
167
|
+
*/
|
|
168
|
+
readonly description: string | undefined;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Options for saving configuration via {@link ConfigManager.Save} and {@link IConfigProvider.Save}.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const options: SaveOptions = {
|
|
176
|
+
* path: '.env.example',
|
|
177
|
+
* useCurrentValues: false
|
|
178
|
+
* };
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export interface SaveOptions {
|
|
182
|
+
/**
|
|
183
|
+
* Path where the provider should write the configuration file.
|
|
184
|
+
*/
|
|
185
|
+
path: string;
|
|
186
|
+
/**
|
|
187
|
+
* Whether to save current runtime values (`true`) or registered defaults (`false`).
|
|
188
|
+
* Default is `false`.
|
|
189
|
+
*/
|
|
190
|
+
useCurrentValues?: boolean;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Type alias for a single configuration save entry.
|
|
194
|
+
* @see {@link IConfigSaveEntry}
|
|
195
|
+
*/
|
|
196
|
+
export type ConfigSaveEntry = IConfigSaveEntry;
|
|
197
|
+
/**
|
|
198
|
+
* Configuration provider interface for both loading and saving configuration.
|
|
199
|
+
*
|
|
200
|
+
* A provider is a data source that supplies raw key/value pairs to {@link ConfigManager}.
|
|
201
|
+
* Providers occupy the middle precedence tier — their values override registered defaults
|
|
202
|
+
* but are themselves overridden by explicit {@link ConfigManager.Set} calls.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* class MyProvider implements IConfigProvider {
|
|
207
|
+
* readonly name = 'my-provider';
|
|
208
|
+
*
|
|
209
|
+
* async Load(): Promise<Record<string, unknown>> {
|
|
210
|
+
* return { MY_KEY: 'my-value' };
|
|
211
|
+
* }
|
|
212
|
+
*
|
|
213
|
+
* async Save(entries: readonly ConfigSaveEntry[], options?: SaveOptions): Promise<void> {
|
|
214
|
+
* // Write entries to file at options.path
|
|
215
|
+
* }
|
|
216
|
+
* }
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
export interface IConfigProvider {
|
|
220
|
+
/**
|
|
221
|
+
* Unique name identifying this provider instance.
|
|
222
|
+
* Used for diagnostics only.
|
|
223
|
+
*/
|
|
224
|
+
readonly Name: string;
|
|
225
|
+
/**
|
|
226
|
+
* Asynchronously load all configuration values from this provider's data source.
|
|
227
|
+
*
|
|
228
|
+
* Called once by {@link ConfigManager.RegisterProvider}. The returned record maps
|
|
229
|
+
* fully-qualified configuration key names to their raw values. Keys that are not
|
|
230
|
+
* registered with {@link ConfigManager} or whose values fail schema validation are
|
|
231
|
+
* silently skipped by the manager.
|
|
232
|
+
*
|
|
233
|
+
* @returns - A promise resolving to a record of fully-qualified key names to raw (unvalidated) values
|
|
234
|
+
*/
|
|
235
|
+
Load(): Promise<Record<string, unknown>>;
|
|
236
|
+
/**
|
|
237
|
+
* Save configuration entries to the provider's destination.
|
|
238
|
+
*
|
|
239
|
+
* Implementations should honor the {@link SaveOptions} for path and value selection.
|
|
240
|
+
* When entries contain fields marked as secret (`isSecret: true`), providers should
|
|
241
|
+
* typically redact or blank those values in template mode
|
|
242
|
+
* (`useCurrentValues: false`).
|
|
243
|
+
*
|
|
244
|
+
* @param entries - Configuration entries to save
|
|
245
|
+
* @param options - Save options including output path and whether to use current values
|
|
246
|
+
* @returns - A promise that resolves when the save operation completes
|
|
247
|
+
*/
|
|
248
|
+
Save(entries: readonly ConfigSaveEntry[], options?: SaveOptions): Promise<void>;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Synchronous configuration provider for read-only sources.
|
|
252
|
+
* Provides a synchronous escape hatch for contexts that cannot `await`.
|
|
253
|
+
*
|
|
254
|
+
* @remarks
|
|
255
|
+
* This interface supports synchronous loading only. For saving, use {@link IConfigProvider}
|
|
256
|
+
* or register the async provider and use `await ConfigManager.RegisterProvider()`.
|
|
257
|
+
* Most use cases should prefer the async {@link IConfigProvider}.
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```typescript
|
|
261
|
+
* class SyncMemoryProvider implements ISyncConfigProvider {
|
|
262
|
+
* readonly name = 'sync-memory';
|
|
263
|
+
* LoadSync() {
|
|
264
|
+
* return { MY_KEY: 'value' };
|
|
265
|
+
* }
|
|
266
|
+
* }
|
|
267
|
+
* ConfigManager.RegisterSyncProvider(new SyncMemoryProvider());
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
export interface ISyncConfigProvider {
|
|
271
|
+
readonly Name: string;
|
|
272
|
+
/**
|
|
273
|
+
* Synchronously load all configuration values from this provider's data source.
|
|
274
|
+
* Use this only in contexts that cannot `await`. Otherwise prefer {@link IConfigProvider.Load}.
|
|
275
|
+
*
|
|
276
|
+
* @returns - A record of fully-qualified key names to raw (unvalidated) values
|
|
277
|
+
*/
|
|
278
|
+
LoadSync(): Record<string, unknown>;
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B;;iBAEzC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEpF;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,sBAAsB,CAEvG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQvE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mCAAmC;;iBAE9C,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAE7F;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,cAAc,CACnC,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB,EAChE,YAAY,GAAG,OAAO,EACtB,YAAY,SAAS,0BAA0B,GAAG,0BAA0B;IAWhE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ;IAThD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,IAAW,IAAI,IAAI,MAAM,CAExB;gBAE8B,OAAO,EAAE,QAAQ;IAIhD;;;;;;;;;;;;;;;OAeG;aACa,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aAE9D,IAAI,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAChG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;OASG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzC;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
|
package/dist/provider.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration provider abstractions and validation schemas.
|
|
3
|
+
*
|
|
4
|
+
* Providers are data sources that supply raw key/value pairs to {@link ConfigManager}.
|
|
5
|
+
* They occupy the middle precedence tier — their values override registered defaults
|
|
6
|
+
* but are themselves overridden by explicit {@link ConfigManager.Set} calls.
|
|
7
|
+
*
|
|
8
|
+
* @module provider
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod/v4';
|
|
11
|
+
/**
|
|
12
|
+
* Zod schema validating configuration provider options.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* All providers must have at minimum a `name` string field for diagnostics.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const options = { name: 'my-provider' };
|
|
20
|
+
* CONFIG_PROVIDER_OPTIONS_SCHEMA.parse(options);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const CONFIG_PROVIDER_OPTIONS_SCHEMA = z.object({
|
|
24
|
+
name: z.string().min(1)
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Asserts that a value conforms to {@link TConfigProviderOptions}.
|
|
28
|
+
*
|
|
29
|
+
* @param options - The value to assert
|
|
30
|
+
* @throws {ZodError} If options does not match the schema
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* AssertConfigProviderOptions({ name: 'my-provider' });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function AssertConfigProviderOptions(options) {
|
|
37
|
+
CONFIG_PROVIDER_OPTIONS_SCHEMA.parse(options);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Validates whether a value conforms to {@link TConfigProviderOptions}.
|
|
41
|
+
*
|
|
42
|
+
* @param options - The value to validate
|
|
43
|
+
* @returns `true` if options matches the schema, `false` otherwise
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* if (ValidateConfigProviderOptions(obj)) {
|
|
47
|
+
* // obj is now typed as TConfigProviderOptions
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export function ValidateConfigProviderOptions(options) {
|
|
52
|
+
try {
|
|
53
|
+
AssertConfigProviderOptions(options);
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Zod schema validating configuration provider save options.
|
|
62
|
+
*
|
|
63
|
+
* @remarks
|
|
64
|
+
* Save options control how configuration is written to a provider's destination.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const saveOpts = { useCurrentValues: true };
|
|
69
|
+
* CONFIG_PROVIDER_SAVE_OPTIONS_SCHEMA.parse(saveOpts);
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export const CONFIG_PROVIDER_SAVE_OPTIONS_SCHEMA = z.object({
|
|
73
|
+
useCurrentValues: z.boolean().optional()
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Contract for configuration value providers.
|
|
77
|
+
*
|
|
78
|
+
* A provider is a synchronous data source that supplies raw key/value pairs to
|
|
79
|
+
* {@link ConfigManager}. Providers occupy the middle precedence tier — their values
|
|
80
|
+
* override registered defaults but are themselves overridden by explicit
|
|
81
|
+
* {@link ConfigManager.Set} calls.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* class MyProvider implements IConfigProvider {
|
|
86
|
+
* readonly name = 'my-provider';
|
|
87
|
+
* load(): Record<string, unknown> {
|
|
88
|
+
* return { MY_KEY: 'my-value' };
|
|
89
|
+
* }
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export class ConfigProvider {
|
|
94
|
+
options;
|
|
95
|
+
/**
|
|
96
|
+
* Unique name identifying this provider instance.
|
|
97
|
+
* Used for diagnostics only.
|
|
98
|
+
*/
|
|
99
|
+
_Name;
|
|
100
|
+
get Name() {
|
|
101
|
+
return this._Name;
|
|
102
|
+
}
|
|
103
|
+
constructor(options) {
|
|
104
|
+
this.options = options;
|
|
105
|
+
this._Name = options.name;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvB,CAAC,CAAC;AAOH;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC3D,8BAA8B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC7D,IAAI,CAAC;QACJ,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAOH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAgB,cAAc;IAcJ;IAT/B;;;OAGG;IACc,KAAK,CAAS;IAC/B,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,YAA+B,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAC/C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CAqBD"}
|
package/dist/schema.factory.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type z } from 'zod/v4';
|
|
2
2
|
import { type TConfigSource } from './manager.js';
|
|
3
3
|
/**
|
|
4
4
|
* Configuration schema object with static-like methods for managing config values.
|
|
5
|
-
* Provides
|
|
5
|
+
* Provides Get, Set, Validate, IsSecret, GetSecretKeys, and Redact methods
|
|
6
|
+
* for a specific config namespace. The schema is auto-registered with ConfigManager at
|
|
7
|
+
* call time; no explicit Register() call is needed.
|
|
6
8
|
*
|
|
7
9
|
* @template TConfig - The inferred type of the Zod schema
|
|
8
10
|
* @template TKeys - Union of config keys from the schema shape
|
|
9
11
|
*/
|
|
10
12
|
export interface IConfigSchemaObject<TConfig extends Record<string, unknown>, TKeys extends keyof TConfig = keyof TConfig> {
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
+
* Human-readable namespace name used to derive the environment variable prefix.
|
|
15
|
+
* For example, 'Keycloak' derives the prefix 'KEYCLOAK_'.
|
|
14
16
|
*/
|
|
15
|
-
|
|
17
|
+
readonly name: string;
|
|
16
18
|
/**
|
|
17
19
|
* Get a typed config value by key.
|
|
18
20
|
*
|
|
@@ -32,7 +34,7 @@ export interface IConfigSchemaObject<TConfig extends Record<string, unknown>, TK
|
|
|
32
34
|
* @param value - Typed value matching the key
|
|
33
35
|
* @param source - Override source ('DEFAULT' or 'OVERRIDE'), defaults to 'OVERRIDE'
|
|
34
36
|
* @template K - Specific config key type
|
|
35
|
-
* @throws
|
|
37
|
+
* @throws {ConfigValidationError} If the value fails schema validation
|
|
36
38
|
*
|
|
37
39
|
* @example
|
|
38
40
|
* MongoDBConfig.Set('HOST', 'localhost:27017', 'OVERRIDE');
|
|
@@ -46,25 +48,14 @@ export interface IConfigSchemaObject<TConfig extends Record<string, unknown>, TK
|
|
|
46
48
|
* @returns true if the value is valid for this key, false otherwise
|
|
47
49
|
* @template K - Specific config key type
|
|
48
50
|
*
|
|
51
|
+
* @remarks Unlike `ParseENV()`, this method does not apply `ParseEnvVarValue` pre-processing. It expects a pre-typed value, not a raw environment variable string. For example, pass the number `3000`, not the string `"3000"`, when validating against a `z.number()` schema.
|
|
52
|
+
*
|
|
49
53
|
* @example
|
|
50
54
|
* if (MongoDBConfig.Validate('PORT', '27017')) {
|
|
51
55
|
* // value is valid for PORT
|
|
52
56
|
* }
|
|
53
57
|
*/
|
|
54
58
|
Validate<K extends TKeys>(key: K, value: unknown): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Parse environment variables matching the prefix and set them as overrides.
|
|
57
|
-
* Logs warnings for invalid values but continues processing remaining vars.
|
|
58
|
-
*
|
|
59
|
-
* @remarks
|
|
60
|
-
* The concrete implementation also accepts an optional `throwOnError` boolean parameter
|
|
61
|
-
* (defaulting to `false`) that is not exposed in this interface.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* MongoDBConfig.ParseENV();
|
|
65
|
-
* // Reads MONGODB_HOST, MONGODB_PORT, etc. from process.env
|
|
66
|
-
*/
|
|
67
|
-
ParseENV(): void;
|
|
68
59
|
/**
|
|
69
60
|
* Returns whether the given key was marked as a secret field using Secret().
|
|
70
61
|
*
|
|
@@ -89,31 +80,33 @@ export interface IConfigSchemaObject<TConfig extends Record<string, unknown>, TK
|
|
|
89
80
|
Redact(): Record<string, unknown>;
|
|
90
81
|
}
|
|
91
82
|
/**
|
|
92
|
-
*
|
|
83
|
+
* Registers a configuration schema with {@link ConfigManager} and returns a typed
|
|
84
|
+
* accessor object for the namespace.
|
|
85
|
+
*
|
|
86
|
+
* All schema fields are registered with {@link ConfigManager} immediately when this
|
|
87
|
+
* function is called. The name is used to derive the environment variable prefix:
|
|
88
|
+
* `name.toUpperCase() + '_'` (e.g. `'Keycloak'` → `KEYCLOAK_`).
|
|
93
89
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
90
|
+
* **Important:** Call {@link ConfigManager.RegisterProvider} for all providers before
|
|
91
|
+
* importing any module that calls `RegisterConfigSchema` so that provider values are
|
|
92
|
+
* available when schemas are registered.
|
|
97
93
|
*
|
|
98
|
-
* @param
|
|
99
|
-
* @param
|
|
100
|
-
* @returns
|
|
101
|
-
* @
|
|
94
|
+
* @param name - Human-readable namespace name; used to derive the env var prefix
|
|
95
|
+
* @param schema - Zod object schema defining the config shape and validation rules
|
|
96
|
+
* @returns {@link IConfigSchemaObject} with typed accessor methods
|
|
97
|
+
* @throws {ConfigurationError} If any field's default value does not satisfy its schema
|
|
102
98
|
*
|
|
103
99
|
* @example
|
|
104
100
|
* ```typescript
|
|
105
|
-
* const
|
|
106
|
-
*
|
|
107
|
-
*
|
|
101
|
+
* const KEYCLOAK_SCHEMA = z.object({
|
|
102
|
+
* AUTH_SERVER_URL: z.string().url().default('http://localhost:8080/auth'),
|
|
103
|
+
* REALM: z.string().min(1).default('master'),
|
|
108
104
|
* });
|
|
109
105
|
*
|
|
110
|
-
* export const
|
|
111
|
-
* //
|
|
112
|
-
* //
|
|
113
|
-
* // const host = MongoDBConfig.Get('HOST');
|
|
114
|
-
* // MongoDBConfig.Set('PORT', 27018);
|
|
115
|
-
* // MongoDBConfig.ParseENV();
|
|
106
|
+
* export const KeycloakConfig = RegisterConfigSchema('Keycloak', KEYCLOAK_SCHEMA);
|
|
107
|
+
* // → prefix is 'KEYCLOAK_'; fields registered immediately
|
|
108
|
+
* // → KeycloakConfig.Get('AUTH_SERVER_URL') returns the resolved value
|
|
116
109
|
* ```
|
|
117
110
|
*/
|
|
118
|
-
export declare function
|
|
111
|
+
export declare function RegisterConfigSchema<TSchema extends z.ZodRawShape>(name: string, schema: z.ZodObject<TSchema>): IConfigSchemaObject<z.infer<typeof schema>>;
|
|
119
112
|
//# sourceMappingURL=schema.factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.factory.d.ts","sourceRoot":"","sources":["../src/schema.factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schema.factory.d.ts","sourceRoot":"","sources":["../src/schema.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAiB,KAAK,aAAa,EAA0B,MAAM,cAAc,CAAC;AAIzF;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB,CACnC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,OAAO;IAE3C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEzC;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAE9E;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3D;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9B;;;;;;OAMG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC,CA6E3J"}
|