UNPKG

feature-toggle-package

Version:

A lightweight and flexible feature toggle (feature flag) implementation for JavaScript/TypeScript applications

46 lines (36 loc) 985 B
export interface FeatureConfig { [featureName: string]: boolean; } export interface SubmoduleConfig { enabled: boolean; features?: FeatureConfig; } export interface ModuleConfig { enabled: boolean; submodules?: { [submoduleName: string]: SubmoduleConfig; }; } export interface AppConfig { modules: { [moduleName: string]: ModuleConfig; }; } export class ConfigurationError extends Error { constructor(message: string, cause?: unknown); } export class FeatureToggleError extends Error { constructor(message: string); } export class ModuleError extends Error { constructor(message: string); } export class SubmoduleError extends Error { constructor(message: string); } export function getConfig(configPath?: string): Promise<AppConfig>; export function isFeatureEnabled( moduleName: string, submoduleName?: string, featureName?: string ): Promise<boolean>;