You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
653 B
28 lines
653 B
3 years ago
|
import Ajv, { KeywordDefinition } from "ajv";
|
||
|
import { DotenvConfigOptions } from "dotenv";
|
||
|
|
||
|
export type EnvSchemaData = {
|
||
|
[key: string]: unknown;
|
||
|
};
|
||
|
|
||
|
export type EnvSchemaOpt = {
|
||
|
schema?: object;
|
||
|
data?: [EnvSchemaData, ...EnvSchemaData[]] | EnvSchemaData;
|
||
|
env?: boolean;
|
||
|
dotenv?: boolean | DotenvConfigOptions;
|
||
|
expandEnv?: boolean
|
||
|
ajv?: Ajv | {
|
||
|
customOptions(ajvInstance: Ajv): Ajv;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
declare const loadAndValidateEnvironment: {
|
||
|
<T = EnvSchemaData>(_opts?: EnvSchemaOpt): T;
|
||
|
keywords: {
|
||
|
separator: KeywordDefinition;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default loadAndValidateEnvironment;
|
||
|
export { loadAndValidateEnvironment as envSchema };
|