UNPKG

nested-env-schema

Version:

Validate & extract your env variables using nested JSON schema, Ajv and dotenvx

38 lines (30 loc) 909 B
import Ajv, { KeywordDefinition, JSONSchemaType } from 'ajv'; import { AnySchema } from 'ajv/dist/core'; import { DotenvConfigOptions } from '@dotenvx/dotenvx'; type EnvSchema = typeof envSchema; declare namespace envSchema { export type { JSONSchemaType }; export type EnvSchemaData = { [key: string]: unknown; }; export type EnvSchemaOpt<T = EnvSchemaData> = { schema?: JSONSchemaType<T> | AnySchema; data?: [EnvSchemaData, ...EnvSchemaData[]] | EnvSchemaData; env?: boolean; dotenv?: boolean | DotenvConfigOptions; ajv?: | Ajv | { customOptions(ajvInstance: Ajv): Ajv; }; }; export const keywords: { separator: KeywordDefinition; }; export const envSchema: EnvSchema; export { envSchema as default }; } declare function envSchema<T = envSchema.EnvSchemaData>( _opts?: envSchema.EnvSchemaOpt<T>, ): T; export = envSchema;