UNPKG

configuru

Version:

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

12 lines (11 loc) 746 B
import { LoadedValue } from './loader'; type LoadedToValue<X> = X extends LoadedValue<any, any> ? X['value'] extends Record<any, any> ? Values<X['value']> : X['value'] : X; type Values<C> = C extends (...args: any[]) => any ? C : C extends Record<any, any> ? { [K in keyof C]: C[K] extends LoadedValue<any, any> ? LoadedToValue<C[K]> : Values<C[K]>; } : C; type AnonymousValues<C> = C extends (...args: any[]) => any ? C : C extends Record<any, any> ? { [K in keyof C]: C[K] extends LoadedValue<any, any> ? string : AnonymousValues<C[K]>; } : C; export declare const values: <T extends Record<any, any>>(config: T) => Values<T>; export declare const maskedValues: <T extends Record<any, any>>(config: T) => AnonymousValues<T>; export {};