@strattadb/environment
Version:
Environment variable configuration for Node.js made easy.
22 lines • 785 B
TypeScript
/// <reference types="node" />
import { Parser } from './parsers';
export declare type Env<TSchemaData> = {
[TKey in keyof TSchemaData]: TSchemaData[TKey];
};
export declare type Schema<TSchemaData> = {
[TKey in keyof TSchemaData]: SchemaEntry<TSchemaData[TKey]>;
};
export declare type SchemaEntry<TType> = {
parser: Parser<TType>;
envVarName: string;
description?: string;
} & SchemaEntryRequiredInfo<TType>;
export declare type SchemaEntryRequiredInfo<TType> = {
required: true;
defaultValue?: undefined;
} | {
required: false;
defaultValue: TType;
};
export declare function makeEnv<TSchemaData extends Record<string, any>>(schema: Schema<TSchemaData>, processEnv?: NodeJS.ProcessEnv): Env<TSchemaData>;
//# sourceMappingURL=environment.d.ts.map