UNPKG

configuru

Version:

Manage the configuration of your Nodejs application with multiple environments and custom preferences, utilizing Configuru in CI and development as well!

63 lines (62 loc) 2.86 kB
export interface ConfigLoaderOptions { defaultConfigPath?: string; userConfigPath?: string; envMode?: 'all' | 'default' | 'merged' | 'none'; } export interface LoadedValue<T, N extends boolean, R = N extends false ? T : T | null> { rawValue: any; value: R; hidden: boolean; nullable: boolean; __CONFIGURU_LEAF: true; } export declare const createAtomLoaderFactory: (storage: Record<any, any>) => <T>(transform: (x: any) => T) => ((key: string) => LoadedValue<T, false, T>) & { hidden: ((key: string) => LoadedValue<T, false, T>) & { nullable: (key: string) => LoadedValue<T, true, T | null>; }; nullable: ((key: string) => LoadedValue<T, true, T | null>) & { hidden: (key: string) => LoadedValue<T, true, T | null>; }; }; export declare const createLoader: (opts?: ConfigLoaderOptions) => { number: ((key: string) => LoadedValue<number, false, number>) & { hidden: ((key: string) => LoadedValue<number, false, number>) & { nullable: (key: string) => LoadedValue<number, true, number | null>; }; nullable: ((key: string) => LoadedValue<number, true, number | null>) & { hidden: (key: string) => LoadedValue<number, true, number | null>; }; }; string: ((key: string) => LoadedValue<string, false, string>) & { hidden: ((key: string) => LoadedValue<string, false, string>) & { nullable: (key: string) => LoadedValue<string, true, string | null>; }; nullable: ((key: string) => LoadedValue<string, true, string | null>) & { hidden: (key: string) => LoadedValue<string, true, string | null>; }; }; bool: ((key: string) => LoadedValue<boolean, false, boolean>) & { hidden: ((key: string) => LoadedValue<boolean, false, boolean>) & { nullable: (key: string) => LoadedValue<boolean, true, boolean | null>; }; nullable: ((key: string) => LoadedValue<boolean, true, boolean | null>) & { hidden: (key: string) => LoadedValue<boolean, true, boolean | null>; }; }; json: ((key: string) => LoadedValue<any, false, any>) & { hidden: ((key: string) => LoadedValue<any, false, any>) & { nullable: (key: string) => LoadedValue<any, true, any>; }; nullable: ((key: string) => LoadedValue<any, true, any>) & { hidden: (key: string) => LoadedValue<any, true, any>; }; }; custom: <T>(fn: (x: any) => T) => ((key: string) => LoadedValue<T, false, T>) & { hidden: ((key: string) => LoadedValue<T, false, T>) & { nullable: (key: string) => LoadedValue<T, true, T | null>; }; nullable: ((key: string) => LoadedValue<T, true, T | null>) & { hidden: (key: string) => LoadedValue<T, true, T | null>; }; }; };