@next-box/appsettings 0.0.0-stage → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +182 -2
- package/bin/appsettings.mjs +7 -0
- package/dist/cjs/cli/cli/command.cjs +2 -0
- package/dist/cjs/cli/cli/command.cjs.map +1 -0
- package/dist/cjs/cli/cli/handler.cjs +2 -0
- package/dist/cjs/cli/cli/handler.cjs.map +1 -0
- package/dist/cjs/cli/cli/index.cjs +2 -0
- package/dist/cjs/cli/cli/index.cjs.map +1 -0
- package/dist/cjs/components/AppSettingsProvider.cjs +3 -0
- package/dist/cjs/components/AppSettingsProvider.cjs.map +1 -0
- package/dist/cjs/components/Setting.cjs +3 -0
- package/dist/cjs/components/Setting.cjs.map +1 -0
- package/dist/cjs/config/AppSettingsImplementation.cjs +2 -0
- package/dist/cjs/config/AppSettingsImplementation.cjs.map +1 -0
- package/dist/cjs/config/ConfigReader.cjs +2 -0
- package/dist/cjs/config/ConfigReader.cjs.map +1 -0
- package/dist/cjs/config/ConfigStore.cjs +2 -0
- package/dist/cjs/config/ConfigStore.cjs.map +1 -0
- package/dist/cjs/config/ScopedSettingsImplementation.cjs +2 -0
- package/dist/cjs/config/ScopedSettingsImplementation.cjs.map +1 -0
- package/dist/cjs/config/helpers/freezeDeep.cjs +2 -0
- package/dist/cjs/config/helpers/freezeDeep.cjs.map +1 -0
- package/dist/cjs/hooks/useAppSetting.cjs +2 -0
- package/dist/cjs/hooks/useAppSetting.cjs.map +1 -0
- package/dist/cjs/hooks/useAppSettings.cjs +2 -0
- package/dist/cjs/hooks/useAppSettings.cjs.map +1 -0
- package/dist/cjs/hooks/useAppSettingsContext.cjs +2 -0
- package/dist/cjs/hooks/useAppSettingsContext.cjs.map +1 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/server/config/ConfigMerger.cjs +2 -0
- package/dist/cjs/server/config/ConfigMerger.cjs.map +1 -0
- package/dist/cjs/server/config/ConfigValidator.cjs +2 -0
- package/dist/cjs/server/config/ConfigValidator.cjs.map +1 -0
- package/dist/cjs/server/config/createAppSettings.cjs +2 -0
- package/dist/cjs/server/config/createAppSettings.cjs.map +1 -0
- package/dist/cjs/server/server.cjs +2 -0
- package/dist/cjs/server/server.cjs.map +1 -0
- package/dist/cjs/server/sources/AppSettingsSource.cjs +2 -0
- package/dist/cjs/server/sources/AppSettingsSource.cjs.map +1 -0
- package/dist/cjs/server/sources/EnvironmentSource.cjs +2 -0
- package/dist/cjs/server/sources/EnvironmentSource.cjs.map +1 -0
- package/dist/cjs/server/sources/MemorySource.cjs +2 -0
- package/dist/cjs/server/sources/MemorySource.cjs.map +1 -0
- package/dist/cjs/server/sources/RemoteSource.cjs +2 -0
- package/dist/cjs/server/sources/RemoteSource.cjs.map +1 -0
- package/dist/cjs/server/sources/helpers/loadJson.cjs +2 -0
- package/dist/cjs/server/sources/helpers/loadJson.cjs.map +1 -0
- package/dist/esm/cli/cli/command.mjs +2 -0
- package/dist/esm/cli/cli/command.mjs.map +1 -0
- package/dist/esm/cli/cli/handler.mjs +2 -0
- package/dist/esm/cli/cli/handler.mjs.map +1 -0
- package/dist/esm/cli/cli/index.mjs +2 -0
- package/dist/esm/cli/cli/index.mjs.map +1 -0
- package/dist/esm/components/AppSettingsProvider.mjs +3 -0
- package/dist/esm/components/AppSettingsProvider.mjs.map +1 -0
- package/dist/esm/components/Setting.mjs +3 -0
- package/dist/esm/components/Setting.mjs.map +1 -0
- package/dist/esm/config/AppSettingsImplementation.mjs +2 -0
- package/dist/esm/config/AppSettingsImplementation.mjs.map +1 -0
- package/dist/esm/config/ConfigReader.mjs +2 -0
- package/dist/esm/config/ConfigReader.mjs.map +1 -0
- package/dist/esm/config/ConfigStore.mjs +2 -0
- package/dist/esm/config/ConfigStore.mjs.map +1 -0
- package/dist/esm/config/ScopedSettingsImplementation.mjs +2 -0
- package/dist/esm/config/ScopedSettingsImplementation.mjs.map +1 -0
- package/dist/esm/config/helpers/freezeDeep.mjs +2 -0
- package/dist/esm/config/helpers/freezeDeep.mjs.map +1 -0
- package/dist/esm/hooks/useAppSetting.mjs +2 -0
- package/dist/esm/hooks/useAppSetting.mjs.map +1 -0
- package/dist/esm/hooks/useAppSettings.mjs +2 -0
- package/dist/esm/hooks/useAppSettings.mjs.map +1 -0
- package/dist/esm/hooks/useAppSettingsContext.mjs +2 -0
- package/dist/esm/hooks/useAppSettingsContext.mjs.map +1 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/server/config/ConfigMerger.mjs +2 -0
- package/dist/esm/server/config/ConfigMerger.mjs.map +1 -0
- package/dist/esm/server/config/ConfigValidator.mjs +2 -0
- package/dist/esm/server/config/ConfigValidator.mjs.map +1 -0
- package/dist/esm/server/config/createAppSettings.mjs +2 -0
- package/dist/esm/server/config/createAppSettings.mjs.map +1 -0
- package/dist/esm/server/server.mjs +2 -0
- package/dist/esm/server/server.mjs.map +1 -0
- package/dist/esm/server/sources/AppSettingsSource.mjs +2 -0
- package/dist/esm/server/sources/AppSettingsSource.mjs.map +1 -0
- package/dist/esm/server/sources/EnvironmentSource.mjs +2 -0
- package/dist/esm/server/sources/EnvironmentSource.mjs.map +1 -0
- package/dist/esm/server/sources/MemorySource.mjs +2 -0
- package/dist/esm/server/sources/MemorySource.mjs.map +1 -0
- package/dist/esm/server/sources/RemoteSource.mjs +2 -0
- package/dist/esm/server/sources/RemoteSource.mjs.map +1 -0
- package/dist/esm/server/sources/helpers/loadJson.mjs +2 -0
- package/dist/esm/server/sources/helpers/loadJson.mjs.map +1 -0
- package/dist/production.analysis.txt +89 -0
- package/dist/types/cjs/__testUtils__/components/ErrorBoundary.d.cts +14 -0
- package/dist/types/cjs/__testUtils__/components/ErrorBoundary.d.cts.map +1 -0
- package/dist/types/cjs/cli/command.d.cts +7 -0
- package/dist/types/cjs/cli/command.d.cts.map +1 -0
- package/dist/types/cjs/cli/handler.d.cts +7 -0
- package/dist/types/cjs/cli/handler.d.cts.map +1 -0
- package/dist/types/cjs/cli/index.d.cts +2 -0
- package/dist/types/cjs/cli/index.d.cts.map +1 -0
- package/dist/types/cjs/components/AppSettingsProvider.d.cts +7 -0
- package/dist/types/cjs/components/AppSettingsProvider.d.cts.map +1 -0
- package/dist/types/cjs/components/Setting.d.cts +20 -0
- package/dist/types/cjs/components/Setting.d.cts.map +1 -0
- package/dist/types/cjs/config/AppSettingsImplementation.d.cts +15 -0
- package/dist/types/cjs/config/AppSettingsImplementation.d.cts.map +1 -0
- package/dist/types/cjs/config/ConfigMerger.d.cts +4 -0
- package/dist/types/cjs/config/ConfigMerger.d.cts.map +1 -0
- package/dist/types/cjs/config/ConfigReader.d.cts +14 -0
- package/dist/types/cjs/config/ConfigReader.d.cts.map +1 -0
- package/dist/types/cjs/config/ConfigStore.d.cts +6 -0
- package/dist/types/cjs/config/ConfigStore.d.cts.map +1 -0
- package/dist/types/cjs/config/ConfigValidator.d.cts +7 -0
- package/dist/types/cjs/config/ConfigValidator.d.cts.map +1 -0
- package/dist/types/cjs/config/ScopedSettingsImplementation.d.cts +13 -0
- package/dist/types/cjs/config/ScopedSettingsImplementation.d.cts.map +1 -0
- package/dist/types/cjs/config/createAppSettings.d.cts +3 -0
- package/dist/types/cjs/config/createAppSettings.d.cts.map +1 -0
- package/dist/types/cjs/config/helpers/freezeDeep.d.cts +2 -0
- package/dist/types/cjs/config/helpers/freezeDeep.d.cts.map +1 -0
- package/dist/types/cjs/hooks/useAppSetting.d.cts +6 -0
- package/dist/types/cjs/hooks/useAppSetting.d.cts.map +1 -0
- package/dist/types/cjs/hooks/useAppSettings.d.cts +6 -0
- package/dist/types/cjs/hooks/useAppSettings.d.cts.map +1 -0
- package/dist/types/cjs/hooks/useAppSettingsContext.d.cts +5 -0
- package/dist/types/cjs/hooks/useAppSettingsContext.d.cts.map +1 -0
- package/dist/types/cjs/index.d.cts +10 -0
- package/dist/types/cjs/index.d.cts.map +1 -0
- package/dist/types/cjs/server.d.cts +8 -0
- package/dist/types/cjs/server.d.cts.map +1 -0
- package/dist/types/cjs/sources/AppSettingsSource.d.cts +14 -0
- package/dist/types/cjs/sources/AppSettingsSource.d.cts.map +1 -0
- package/dist/types/cjs/sources/EnvironmentSource.d.cts +16 -0
- package/dist/types/cjs/sources/EnvironmentSource.d.cts.map +1 -0
- package/dist/types/cjs/sources/MemorySource.d.cts +12 -0
- package/dist/types/cjs/sources/MemorySource.d.cts.map +1 -0
- package/dist/types/cjs/sources/RemoteSource.d.cts +16 -0
- package/dist/types/cjs/sources/RemoteSource.d.cts.map +1 -0
- package/dist/types/cjs/sources/helpers/loadJson.d.cts +3 -0
- package/dist/types/cjs/sources/helpers/loadJson.d.cts.map +1 -0
- package/dist/types/cjs/types/AppSettings.types.d.cts +26 -0
- package/dist/types/cjs/types/AppSettings.types.d.cts.map +1 -0
- package/dist/types/cjs/types/Config.types.d.cts +12 -0
- package/dist/types/cjs/types/Config.types.d.cts.map +1 -0
- package/dist/types/cjs/types/Source.types.d.cts +5 -0
- package/dist/types/cjs/types/Source.types.d.cts.map +1 -0
- package/dist/types/esm/__testUtils__/components/ErrorBoundary.d.ts +14 -0
- package/dist/types/esm/__testUtils__/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/types/esm/cli/command.d.ts +7 -0
- package/dist/types/esm/cli/command.d.ts.map +1 -0
- package/dist/types/esm/cli/handler.d.ts +7 -0
- package/dist/types/esm/cli/handler.d.ts.map +1 -0
- package/dist/types/esm/cli/index.d.ts +2 -0
- package/dist/types/esm/cli/index.d.ts.map +1 -0
- package/dist/types/esm/components/AppSettingsProvider.d.ts +7 -0
- package/dist/types/esm/components/AppSettingsProvider.d.ts.map +1 -0
- package/dist/types/esm/components/Setting.d.ts +20 -0
- package/dist/types/esm/components/Setting.d.ts.map +1 -0
- package/dist/types/esm/config/AppSettingsImplementation.d.ts +15 -0
- package/dist/types/esm/config/AppSettingsImplementation.d.ts.map +1 -0
- package/dist/types/esm/config/ConfigMerger.d.ts +4 -0
- package/dist/types/esm/config/ConfigMerger.d.ts.map +1 -0
- package/dist/types/esm/config/ConfigReader.d.ts +14 -0
- package/dist/types/esm/config/ConfigReader.d.ts.map +1 -0
- package/dist/types/esm/config/ConfigStore.d.ts +6 -0
- package/dist/types/esm/config/ConfigStore.d.ts.map +1 -0
- package/dist/types/esm/config/ConfigValidator.d.ts +7 -0
- package/dist/types/esm/config/ConfigValidator.d.ts.map +1 -0
- package/dist/types/esm/config/ScopedSettingsImplementation.d.ts +13 -0
- package/dist/types/esm/config/ScopedSettingsImplementation.d.ts.map +1 -0
- package/dist/types/esm/config/createAppSettings.d.ts +3 -0
- package/dist/types/esm/config/createAppSettings.d.ts.map +1 -0
- package/dist/types/esm/config/helpers/freezeDeep.d.ts +2 -0
- package/dist/types/esm/config/helpers/freezeDeep.d.ts.map +1 -0
- package/dist/types/esm/hooks/useAppSetting.d.ts +6 -0
- package/dist/types/esm/hooks/useAppSetting.d.ts.map +1 -0
- package/dist/types/esm/hooks/useAppSettings.d.ts +6 -0
- package/dist/types/esm/hooks/useAppSettings.d.ts.map +1 -0
- package/dist/types/esm/hooks/useAppSettingsContext.d.ts +5 -0
- package/dist/types/esm/hooks/useAppSettingsContext.d.ts.map +1 -0
- package/dist/types/esm/index.d.ts +10 -0
- package/dist/types/esm/index.d.ts.map +1 -0
- package/dist/types/esm/server.d.ts +8 -0
- package/dist/types/esm/server.d.ts.map +1 -0
- package/dist/types/esm/sources/AppSettingsSource.d.ts +14 -0
- package/dist/types/esm/sources/AppSettingsSource.d.ts.map +1 -0
- package/dist/types/esm/sources/EnvironmentSource.d.ts +16 -0
- package/dist/types/esm/sources/EnvironmentSource.d.ts.map +1 -0
- package/dist/types/esm/sources/MemorySource.d.ts +12 -0
- package/dist/types/esm/sources/MemorySource.d.ts.map +1 -0
- package/dist/types/esm/sources/RemoteSource.d.ts +16 -0
- package/dist/types/esm/sources/RemoteSource.d.ts.map +1 -0
- package/dist/types/esm/sources/helpers/loadJson.d.ts +3 -0
- package/dist/types/esm/sources/helpers/loadJson.d.ts.map +1 -0
- package/dist/types/esm/types/AppSettings.types.d.ts +26 -0
- package/dist/types/esm/types/AppSettings.types.d.ts.map +1 -0
- package/dist/types/esm/types/Config.types.d.ts +12 -0
- package/dist/types/esm/types/Config.types.d.ts.map +1 -0
- package/dist/types/esm/types/Source.types.d.ts +5 -0
- package/dist/types/esm/types/Source.types.d.ts.map +1 -0
- package/dist/types/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +85 -3
- package/rollup.config.mjs +25 -0
- package/src/__testUtils__/AppSettingsSchema.d.ts +9 -0
- package/src/__testUtils__/components/ErrorBoundary.tsx +25 -0
- package/src/cli/command.test.ts +36 -0
- package/src/cli/command.ts +33 -0
- package/src/cli/handler.test.ts +61 -0
- package/src/cli/handler.ts +58 -0
- package/src/cli/index.test.ts +45 -0
- package/src/cli/index.ts +13 -0
- package/src/components/AppSettingsProvider.test.tsx +25 -0
- package/src/components/AppSettingsProvider.tsx +18 -0
- package/src/components/Setting.test.tsx +59 -0
- package/src/components/Setting.tsx +43 -0
- package/src/config/AppSettingsImplementation.test.ts +65 -0
- package/src/config/AppSettingsImplementation.ts +61 -0
- package/src/config/ConfigMerger.test.ts +44 -0
- package/src/config/ConfigMerger.ts +9 -0
- package/src/config/ConfigReader.test.ts +56 -0
- package/src/config/ConfigReader.ts +45 -0
- package/src/config/ConfigStore.test.ts +32 -0
- package/src/config/ConfigStore.ts +12 -0
- package/src/config/ConfigValidator.test.ts +30 -0
- package/src/config/ConfigValidator.ts +13 -0
- package/src/config/ScopedSettingsImplementation.test.ts +31 -0
- package/src/config/ScopedSettingsImplementation.ts +36 -0
- package/src/config/createAppSettings.test.ts +84 -0
- package/src/config/createAppSettings.ts +18 -0
- package/src/config/helpers/freezeDeep.test.ts +41 -0
- package/src/config/helpers/freezeDeep.ts +15 -0
- package/src/hooks/useAppSetting.test.tsx +37 -0
- package/src/hooks/useAppSetting.ts +14 -0
- package/src/hooks/useAppSettings.test.tsx +37 -0
- package/src/hooks/useAppSettings.ts +17 -0
- package/src/hooks/useAppSettingsContext.test.tsx +45 -0
- package/src/hooks/useAppSettingsContext.ts +17 -0
- package/src/index.ts +11 -0
- package/src/server.ts +7 -0
- package/src/sources/AppSettingsSource.test.ts +61 -0
- package/src/sources/AppSettingsSource.ts +30 -0
- package/src/sources/EnvironmentSource.test.ts +45 -0
- package/src/sources/EnvironmentSource.ts +87 -0
- package/src/sources/MemorySource.test.ts +31 -0
- package/src/sources/MemorySource.ts +21 -0
- package/src/sources/RemoteSource.test.ts +80 -0
- package/src/sources/RemoteSource.ts +50 -0
- package/src/sources/helpers/loadJson.test.ts +74 -0
- package/src/sources/helpers/loadJson.ts +29 -0
- package/src/types/AppSettings.types.test.ts +61 -0
- package/src/types/AppSettings.types.ts +30 -0
- package/src/types/Config.types.test.ts +36 -0
- package/src/types/Config.types.ts +27 -0
- package/src/types/Source.types.ts +4 -0
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +10 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteSource.d.cts","sourceRoot":"","sources":["../../../../src/sources/RemoteSource.cts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,YAAa,YAAW,cAAc;IACjD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,GAAG,CAAS;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,EAAE,mBAAmB;IAOzC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CA0B/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadJson.d.cts","sourceRoot":"","sources":["../../../../../src/sources/helpers/loadJson.cts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type ZodType } from 'zod';
|
|
3
|
+
import { type SettingPath, type SettingSectionPath } from './Config.types.cts';
|
|
4
|
+
import { type SettingsSource } from './Source.types.cts';
|
|
5
|
+
export interface AppSettings<T extends object> {
|
|
6
|
+
get<P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
7
|
+
getAll(): Readonly<T>;
|
|
8
|
+
getOrThrow<P extends SettingPath<T>>(path: P): Get<T, P>;
|
|
9
|
+
getSection<P extends SettingSectionPath<T>>(path: P): Get<T, P> | undefined;
|
|
10
|
+
has(path: SettingPath<T> | SettingSectionPath<T>): boolean;
|
|
11
|
+
scope<P extends SettingSectionPath<T>>(path: P): ScopedSettings<Extract<Get<T, P>, object>>;
|
|
12
|
+
}
|
|
13
|
+
export interface InternalAppSettings<T extends object> extends AppSettings<T> {
|
|
14
|
+
read(path: string): unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface ScopedSettings<T extends object = Record<string, unknown>> {
|
|
17
|
+
get<P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
18
|
+
getAll(): Readonly<T>;
|
|
19
|
+
getOrThrow<P extends SettingPath<T>>(path: P): Get<T, P>;
|
|
20
|
+
}
|
|
21
|
+
export interface CreateAppSettingsOptions<T extends object> {
|
|
22
|
+
defaults: Partial<T>;
|
|
23
|
+
schema: ZodType<T>;
|
|
24
|
+
sources?: readonly SettingsSource[];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=AppSettings.types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSettings.types.d.cts","sourceRoot":"","sources":["../../../../src/types/AppSettings.types.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,UAAU,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5E,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC3D,KAAK,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7F;AAGD,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACxD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
3
|
+
type PreviousDepth = [never, 0, 1, 2, 3, 4, 5];
|
|
4
|
+
export type SettingPath<T extends object, Depth extends number = 5> = Depth extends 0 ? never : {
|
|
5
|
+
[K in Extract<keyof T, string>]: T[K] extends Primitive | readonly Primitive[] ? K : T[K] extends object ? `${K}.${SettingPath<T[K], PreviousDepth[Depth]>}` : K;
|
|
6
|
+
}[Extract<keyof T, string>];
|
|
7
|
+
export type SettingSectionPath<T extends object, Depth extends number = 5> = Depth extends 0 ? never : {
|
|
8
|
+
[K in Extract<keyof T, string>]: T[K] extends Primitive | readonly Primitive[] ? never : T[K] extends object ? K | `${K}.${SettingSectionPath<T[K], PreviousDepth[Depth]>}` : never;
|
|
9
|
+
}[Extract<keyof T, string>];
|
|
10
|
+
export type SettingValue<T extends object, P extends SettingPath<T>> = Get<T, P>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=Config.types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.types.d.cts","sourceRoot":"","sources":["../../../../src/types/Config.types.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhF,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GACjF,KAAK,GACL;KACG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,SAAS,EAAE,GAC1E,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GACjD,CAAC;CACR,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhC,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GACxF,KAAK,GACL;KACG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,SAAS,EAAE,GAC1E,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,CAAC,GAAG,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAC5D,KAAK;CACZ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Source.types.d.cts","sourceRoot":"","sources":["../../../../src/types/Source.types.cts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, type ReactNode } from 'react';
|
|
2
|
+
export type ErrorBoundaryProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
};
|
|
5
|
+
type ErrorBoundaryState = {
|
|
6
|
+
error: Error | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
9
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
10
|
+
state: ErrorBoundaryState;
|
|
11
|
+
render(): ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../../src/__testUtils__/components/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;WACpE,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAIxD,KAAK,EAAE,kBAAkB,CAAwB;IAEjD,MAAM,IAAI,SAAS;CAOpC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CommandBuilder } from 'yargs';
|
|
2
|
+
import { type GenerateTypesArguments } from '#cli/handler.ts';
|
|
3
|
+
export declare const builder: CommandBuilder<object, GenerateTypesArguments>;
|
|
4
|
+
export declare const command = "generate-types <schema> <output>";
|
|
5
|
+
export declare const describe = "Generate a declaration that types appsettings hooks from your schema.";
|
|
6
|
+
export { handler } from './handler.ts';
|
|
7
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,sBAAsB,CAuB7D,CAAC;AAEP,eAAO,MAAM,OAAO,qCAAqC,CAAC;AAE1D,eAAO,MAAM,QAAQ,0EAA0E,CAAC;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/handler.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,OAAO,GAAU,0BAA0B,sBAAsB,KAAG,OAAO,CAAC,IAAI,CAgC5F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,IAAI,CAQtD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
export interface AppSettingsProviderProps<T extends object = object> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
settings: Readonly<T>;
|
|
5
|
+
}
|
|
6
|
+
export declare const AppSettingsProvider: <T extends object>({ children, settings, }: AppSettingsProviderProps<T>) => ReactElement;
|
|
7
|
+
//# sourceMappingURL=AppSettingsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSettingsProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/AppSettingsProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAInE,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvB;AAED,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAAE,yBAGnD,wBAAwB,CAAC,CAAC,CAAC,KAAG,YAGhC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type Get } from 'type-fest';
|
|
3
|
+
import { type AppSettingsSchema } from '../index.ts';
|
|
4
|
+
import { type SettingPath } from '../types/Config.types.ts';
|
|
5
|
+
export interface SettingProps<T extends object, P extends SettingPath<T>> {
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
fallback?: ReactNode;
|
|
8
|
+
negate?: boolean;
|
|
9
|
+
path: P;
|
|
10
|
+
value: Get<T, P> | undefined | readonly (Get<T, P> | undefined)[];
|
|
11
|
+
}
|
|
12
|
+
export declare function Setting<P extends SettingPath<AppSettingsSchema>>(props: {
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
fallback?: ReactNode;
|
|
15
|
+
negate?: boolean;
|
|
16
|
+
path: P;
|
|
17
|
+
value: Get<AppSettingsSchema, P> | undefined | readonly (Get<AppSettingsSchema, P> | undefined)[];
|
|
18
|
+
}): ReactNode;
|
|
19
|
+
export declare function Setting<T extends object, P extends SettingPath<T>>(props: SettingProps<T, P>): ReactNode;
|
|
20
|
+
//# sourceMappingURL=Setting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Setting.d.ts","sourceRoot":"","sources":["../../../../src/components/Setting.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;IACtE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;CACnE;AAUD,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE;IACvE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;CACnG,GAAG,SAAS,CAAC;AAEd,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type InternalAppSettings, type ScopedSettings } from '#types/AppSettings.types.ts';
|
|
3
|
+
import { type SettingPath, type SettingSectionPath } from '#types/Config.types.ts';
|
|
4
|
+
export declare class AppSettingsImplementation<T extends object> implements InternalAppSettings<T> {
|
|
5
|
+
private readonly store;
|
|
6
|
+
constructor(settings: T);
|
|
7
|
+
get<P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
8
|
+
read(path: string): unknown;
|
|
9
|
+
getAll(): Readonly<T>;
|
|
10
|
+
getOrThrow<P extends SettingPath<T>>(path: P): Get<T, P>;
|
|
11
|
+
getSection<P extends SettingSectionPath<T>>(path: P): Get<T, P> | undefined;
|
|
12
|
+
has(path: SettingPath<T> | SettingSectionPath<T>): boolean;
|
|
13
|
+
scope<P extends SettingSectionPath<T>>(path: P): ScopedSettings<Extract<Get<T, P>, object>>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=AppSettingsImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSettingsImplementation.d.ts","sourceRoot":"","sources":["../../../../src/config/AppSettingsImplementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAInF,qBAAa,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,mBAAmB,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,QAAQ,EAAE,CAAC;IAIvB,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAK7D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3B,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC;IAIrB,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAWxD,UAAU,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAK3E,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO;IAK1D,KAAK,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CAW5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigMerger.d.ts","sourceRoot":"","sources":["../../../../src/config/ConfigMerger.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IACvB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC;CAK/D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type Path, type Scope, type ConfigReader as ZcbConfigReader } from 'zcb';
|
|
3
|
+
export declare class ConfigReader<T extends object> {
|
|
4
|
+
private reader;
|
|
5
|
+
private readonly config;
|
|
6
|
+
constructor(config: T);
|
|
7
|
+
private getAt;
|
|
8
|
+
get<P extends Path<T>>(path: P): Get<T, P>;
|
|
9
|
+
getSection<P extends Scope<T>>(path: P): Get<T, P>;
|
|
10
|
+
has(path: string): boolean;
|
|
11
|
+
read(path: string): unknown;
|
|
12
|
+
scope<P extends Scope<T>>(path: P): ZcbConfigReader<Get<T, P>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ConfigReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigReader.d.ts","sourceRoot":"","sources":["../../../../src/config/ConfigReader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,IAAI,eAAe,EAAsB,MAAM,KAAK,CAAC;AAEtG,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM;IACxC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAI;gBAEf,MAAM,EAAE,CAAC;IAKrB,OAAO,CAAC,KAAK;IAUN,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAI1C,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAMlD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3B,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAGtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigStore.d.ts","sourceRoot":"","sources":["../../../../src/config/ConfigStore.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAc;IAEvB,WAAW,QAAO,QAAQ,CAAC,CAAC,CAAC,CAAkB;gBAE1C,OAAO,EAAE,CAAC;CAGvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigValidator.d.ts","sourceRoot":"","sources":["../../../../src/config/ConfigValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,KAAK,CAAC;AAEhD,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAI;gBAEf,MAAM,EAAE,CAAC;IAIrB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;CAGpC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type ScopedSettings } from '#types/AppSettings.types.ts';
|
|
3
|
+
import { type SettingPath } from '#types/Config.types.ts';
|
|
4
|
+
export declare class ScopedSettingsImplementation<T extends object> implements ScopedSettings<T> {
|
|
5
|
+
private readonly reader;
|
|
6
|
+
private readonly section;
|
|
7
|
+
private readonly parentPath;
|
|
8
|
+
constructor(section: T, parentPath: string);
|
|
9
|
+
get<P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
10
|
+
getAll(): Readonly<T>;
|
|
11
|
+
getOrThrow<P extends SettingPath<T>>(path: P): Get<T, P>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ScopedSettingsImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopedSettingsImplementation.d.ts","sourceRoot":"","sources":["../../../../src/config/ScopedSettingsImplementation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,qBAAa,4BAA4B,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAI;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM;IAM1C,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAK7D,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC;IAIrB,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;CAUzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAppSettings.d.ts","sourceRoot":"","sources":["../../../../src/config/createAppSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAI5E,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,MAAM,EAAE,gCAIvD,wBAAwB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CASnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"freezeDeep.d.ts","sourceRoot":"","sources":["../../../../../src/config/helpers/freezeDeep.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAYxC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type AppSettingsSchema } from '../index.ts';
|
|
3
|
+
import { type SettingPath } from '../types/Config.types.ts';
|
|
4
|
+
export declare function useAppSetting<P extends SettingPath<AppSettingsSchema>>(path: P): Get<AppSettingsSchema, P> | undefined;
|
|
5
|
+
export declare function useAppSetting<T extends object, P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
6
|
+
//# sourceMappingURL=useAppSetting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppSetting.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppSetting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;AACxH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type SettingSectionPath } from '#types/Config.types.ts';
|
|
3
|
+
import { type AppSettingsSchema } from '../index.ts';
|
|
4
|
+
export declare function useAppSettings<P extends SettingSectionPath<AppSettingsSchema>>(path: P): Get<AppSettingsSchema, P> | undefined;
|
|
5
|
+
export declare function useAppSettings<T extends object, P extends SettingSectionPath<T>>(path: P): Get<T, P> | undefined;
|
|
6
|
+
//# sourceMappingURL=useAppSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppSettings.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,wBAAgB,cAAc,CAAC,CAAC,SAAS,kBAAkB,CAAC,iBAAiB,CAAC,EAC5E,IAAI,EAAE,CAAC,GACN,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;AAEzC,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type InternalAppSettings } from '#types/AppSettings.types.ts';
|
|
2
|
+
import { type AppSettingsSchema } from '../index.ts';
|
|
3
|
+
export declare const AppSettingsContext: import("react").Context<unknown>;
|
|
4
|
+
export declare const useAppSettingsContext: <T extends object = AppSettingsSchema>() => InternalAppSettings<T>;
|
|
5
|
+
//# sourceMappingURL=useAppSettingsContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppSettingsContext.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppSettingsContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,kBAAkB,kCAAoC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,GAAG,iBAAiB,OAAK,mBAAmB,CAAC,CAAC,CAUnG,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { AppSettingsProvider } from '#components/AppSettingsProvider.tsx';
|
|
2
|
+
export { Setting } from '#components/Setting.tsx';
|
|
3
|
+
export { useAppSetting } from '#hooks/useAppSetting.ts';
|
|
4
|
+
export { useAppSettings } from '#hooks/useAppSettings.ts';
|
|
5
|
+
export type { AppSettings, ScopedSettings } from '#types/AppSettings.types.ts';
|
|
6
|
+
export type { SettingPath, SettingSectionPath, SettingValue } from '#types/Config.types.ts';
|
|
7
|
+
export interface AppSettingsSchema {
|
|
8
|
+
readonly __appSettingsSchema?: never;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG5F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC;CACtC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { createAppSettings } from '#config/createAppSettings.ts';
|
|
2
|
+
export { AppSettingsSource, type AppSettingsSourceOptions } from '#sources/AppSettingsSource.ts';
|
|
3
|
+
export { EnvironmentSource, type EnvironmentSourceOptions } from '#sources/EnvironmentSource.ts';
|
|
4
|
+
export { RemoteSource, type RemoteSourceOptions } from '#sources/RemoteSource.ts';
|
|
5
|
+
export { MemorySource, type MemorySourceOptions } from '#sources/MemorySource.ts';
|
|
6
|
+
export { type CreateAppSettingsOptions } from '#types/AppSettings.types.ts';
|
|
7
|
+
export type { SettingsSource } from '#types/Source.types.ts';
|
|
8
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type SettingsSource } from '../types/Source.types.ts';
|
|
2
|
+
export interface AppSettingsSourceOptions {
|
|
3
|
+
directory?: string;
|
|
4
|
+
environment?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class AppSettingsSource implements SettingsSource {
|
|
8
|
+
private directory;
|
|
9
|
+
private environment;
|
|
10
|
+
name: string;
|
|
11
|
+
constructor(options: AppSettingsSourceOptions);
|
|
12
|
+
load(): Promise<Record<string, unknown>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=AppSettingsSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSettingsSource.d.ts","sourceRoot":"","sources":["../../../../src/sources/AppSettingsSource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IACrB,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,EAAE,wBAAwB;IAM9C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAO/C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SettingsSource } from '../types/Source.types.ts';
|
|
2
|
+
export interface EnvironmentSourceOptions {
|
|
3
|
+
envs: Record<string, string | undefined>;
|
|
4
|
+
name?: string;
|
|
5
|
+
prefix?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class EnvironmentSource implements SettingsSource {
|
|
8
|
+
private readonly envs;
|
|
9
|
+
private readonly prefix;
|
|
10
|
+
private normalizeSegment;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
constructor(options: EnvironmentSourceOptions);
|
|
13
|
+
private parseEnvironmentValue;
|
|
14
|
+
load(): Promise<Record<string, unknown>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=EnvironmentSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentSource.d.ts","sourceRoot":"","sources":["../../../../src/sources/EnvironmentSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,gBAAgB,CAMV;IAEd,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,wBAAwB;IAMpD,OAAO,CAAC,qBAAqB;IAgB7B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAyCzC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type SettingsSource } from '../types/Source.types.ts';
|
|
2
|
+
export interface MemorySourceOptions {
|
|
3
|
+
name?: string;
|
|
4
|
+
values: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export declare class MemorySource implements SettingsSource {
|
|
7
|
+
private readonly values;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
constructor(options: MemorySourceOptions);
|
|
10
|
+
load(): Promise<Record<string, unknown>>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=MemorySource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemorySource.d.ts","sourceRoot":"","sources":["../../../../src/sources/MemorySource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,YAAa,YAAW,cAAc;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,mBAAmB;IAK/C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGzC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SettingsSource } from '#types/Source.types.ts';
|
|
2
|
+
export interface RemoteSourceOptions {
|
|
3
|
+
fetch: typeof globalThis.fetch;
|
|
4
|
+
name?: string;
|
|
5
|
+
responsePath?: string;
|
|
6
|
+
url: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class RemoteSource implements SettingsSource {
|
|
9
|
+
private fetch;
|
|
10
|
+
private responsePath?;
|
|
11
|
+
private url;
|
|
12
|
+
name: string;
|
|
13
|
+
constructor(options: RemoteSourceOptions);
|
|
14
|
+
load(): Promise<Record<string, unknown>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=RemoteSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteSource.d.ts","sourceRoot":"","sources":["../../../../src/sources/RemoteSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,YAAa,YAAW,cAAc;IACjD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,GAAG,CAAS;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,EAAE,mBAAmB;IAOzC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CA0B/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadJson.d.ts","sourceRoot":"","sources":["../../../../../src/sources/helpers/loadJson.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
import { type ZodType } from 'zod';
|
|
3
|
+
import { type SettingPath, type SettingSectionPath } from './Config.types.ts';
|
|
4
|
+
import { type SettingsSource } from './Source.types.ts';
|
|
5
|
+
export interface AppSettings<T extends object> {
|
|
6
|
+
get<P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
7
|
+
getAll(): Readonly<T>;
|
|
8
|
+
getOrThrow<P extends SettingPath<T>>(path: P): Get<T, P>;
|
|
9
|
+
getSection<P extends SettingSectionPath<T>>(path: P): Get<T, P> | undefined;
|
|
10
|
+
has(path: SettingPath<T> | SettingSectionPath<T>): boolean;
|
|
11
|
+
scope<P extends SettingSectionPath<T>>(path: P): ScopedSettings<Extract<Get<T, P>, object>>;
|
|
12
|
+
}
|
|
13
|
+
export interface InternalAppSettings<T extends object> extends AppSettings<T> {
|
|
14
|
+
read(path: string): unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface ScopedSettings<T extends object = Record<string, unknown>> {
|
|
17
|
+
get<P extends SettingPath<T>>(path: P): Get<T, P> | undefined;
|
|
18
|
+
getAll(): Readonly<T>;
|
|
19
|
+
getOrThrow<P extends SettingPath<T>>(path: P): Get<T, P>;
|
|
20
|
+
}
|
|
21
|
+
export interface CreateAppSettingsOptions<T extends object> {
|
|
22
|
+
defaults: Partial<T>;
|
|
23
|
+
schema: ZodType<T>;
|
|
24
|
+
sources?: readonly SettingsSource[];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=AppSettings.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSettings.types.d.ts","sourceRoot":"","sources":["../../../../src/types/AppSettings.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,UAAU,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5E,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC3D,KAAK,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7F;AAGD,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,GAAG,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,UAAU,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACxD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Get } from 'type-fest';
|
|
2
|
+
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
3
|
+
type PreviousDepth = [never, 0, 1, 2, 3, 4, 5];
|
|
4
|
+
export type SettingPath<T extends object, Depth extends number = 5> = Depth extends 0 ? never : {
|
|
5
|
+
[K in Extract<keyof T, string>]: T[K] extends Primitive | readonly Primitive[] ? K : T[K] extends object ? `${K}.${SettingPath<T[K], PreviousDepth[Depth]>}` : K;
|
|
6
|
+
}[Extract<keyof T, string>];
|
|
7
|
+
export type SettingSectionPath<T extends object, Depth extends number = 5> = Depth extends 0 ? never : {
|
|
8
|
+
[K in Extract<keyof T, string>]: T[K] extends Primitive | readonly Primitive[] ? never : T[K] extends object ? K | `${K}.${SettingSectionPath<T[K], PreviousDepth[Depth]>}` : never;
|
|
9
|
+
}[Extract<keyof T, string>];
|
|
10
|
+
export type SettingValue<T extends object, P extends SettingPath<T>> = Get<T, P>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=Config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.types.d.ts","sourceRoot":"","sources":["../../../../src/types/Config.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhF,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GACjF,KAAK,GACL;KACG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,SAAS,EAAE,GAC1E,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GACjD,CAAC;CACR,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhC,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,GACxF,KAAK,GACL;KACG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,SAAS,EAAE,GAC1E,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,CAAC,GAAG,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAC5D,KAAK;CACZ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Source.types.d.ts","sourceRoot":"","sources":["../../../../src/types/Source.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
|