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
TypeScript
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[];
}