takin
Version:
Front end engineering base toolchain and scaffold
71 lines (70 loc) • 2.02 kB
TypeScript
import dotenv from 'dotenv';
export declare type EnvironmentOptions = dotenv.DotenvConfigOptions & {
/**
* false 值配置,用于判断哪些值等同于 false,默认为 ['', 'none', 'false', '0', 'undefined', 'null']
*/
falsyValues?: string[];
/**
* 数组分隔符,用于将特定环境变量分割为字符串数组,默认为 [',', ' ']
*/
arraySeparators?: string[];
};
/**
* 环境变量支持,用于统一环境变量的获取、解析和值判断
*/
export declare class Environment {
options: EnvironmentOptions;
private parsedEnv;
/**
* 是否已开启 env 支持
*/
private enabled;
/**
* 开启 env 支持
*/
enable(): this;
/**
* 关闭 env 支持
*/
disable(): this;
/**
* 载入 .env 文件
*/
load(): this;
/**
* 是否包含某个环境变量
* @param name - 环境变量名称
* @returns 是否包含环境变量
*/
has(name: string): boolean;
/**
* 获取环境变量的值
* @param name - 环境变量名称
* @returns 环境变量的值
*/
get(name: string): string;
/**
* 判断环境变量是否为 false,基于 falsyValues 配置
* @param name - 环境变量名称
* @returns 返回 `true` 或 `false`
*/
isFalsy(name: string): boolean;
/**
* 判断环境变量是否为 true,基于 falsyValues 配置,当环境变量未配置时为 false
* @param name - 环境变量名称
* @returns 返回 `true` 或 `false`
*/
isTruthy(name: string): boolean;
/**
* 将环境变量的值解析为数组并返回,基于 arraySeparators 配置
* @param name - 环境变量名称
* @returns 解析后的数组
*/
array(name: string): string[];
/**
* 将值解析为数组,基于 arraySeparators 配置
* @param value - 需要解析的值
* @returns 解析后的数组
*/
arrayify(value?: string): string[];
}