UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

37 lines (36 loc) 1.64 kB
import { FeatureStrategiesEvaluationResult } from './client'; import { RepositoryInterface } from './repository'; import { Context } from './context'; import { Strategy } from './strategy'; import { ClientFeaturesResponse, FeatureInterface } from './feature'; import { Variant } from './variant'; import { FallbackFunction } from './helpers'; import { BootstrapOptions } from './repository/bootstrap-provider'; import { StorageProvider } from './repository/storage-provider'; export { Strategy }; export interface FeatureEvaluatorConfig { appName: string; environment?: string; strategies?: Strategy[]; repository?: RepositoryInterface; bootstrap?: BootstrapOptions; storageProvider?: StorageProvider<ClientFeaturesResponse>; } export interface StaticContext { appName: string; environment: string; } export declare class FeatureEvaluator { private repository; private client; private staticContext; constructor({ appName, environment, strategies, repository, bootstrap, storageProvider, }: FeatureEvaluatorConfig); start(): Promise<void>; destroy(): void; isEnabled(name: string, context?: Context, fallbackFunction?: FallbackFunction): FeatureStrategiesEvaluationResult; isEnabled(name: string, context?: Context, fallbackValue?: boolean): FeatureStrategiesEvaluationResult; getVariant(name: string, context?: Context, fallbackVariant?: Variant): Variant; forceGetVariant(name: string, context?: Context, fallbackVariant?: Variant): Variant; getFeatureToggleDefinition(toggleName: string): FeatureInterface; getFeatureToggleDefinitions(): FeatureInterface[]; }