UNPKG

@krauters/environment

Version:

A TypeScript utility library that provides a fluent, type-safe API for defining, transforming, and managing environment variable configurations in applications.

26 lines 1.17 kB
import type { MapNamesToKeys } from './structures'; export declare class EnvironmentBuilder<E = unknown, O = unknown> { private readonly info; private constructor(); static create<S extends string[]>(...requiredKeys: S): EnvironmentBuilder<{ [K in keyof MapNamesToKeys<S>]: MapNamesToKeys<S>[K]; }, {}>; defaults(defaultValues?: Partial<E>): EnvironmentBuilder<E, O>; environment(keys?: Record<string, string | undefined>): { [K in keyof (E & O)]: (E & O)[K]; }; optionals<S extends string[]>(...vars: S): EnvironmentBuilder<E, { [K in keyof MapNamesToKeys<S>]?: MapNamesToKeys<S>[K]; } & O>; transform<S extends (keyof (E & O))[], R>(transform: (value: string) => R, ...vars: S): EnvironmentBuilder<{ [K in keyof Pick<E, Exclude<S[number], keyof O>>]: R; } & Omit<E, S[number]>, { [K in keyof Pick<O, Exclude<S[number], keyof E>>]: R; } & Omit<O, S[number]>>; withPrefix(prefix: string): EnvironmentBuilder<E, O>; private applyTransform; private prefixedKey; private processOptionalKeys; private processRequiredKeys; } //# sourceMappingURL=environment.d.ts.map