unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
26 lines (25 loc) • 1.46 kB
TypeScript
import { Strategy } from './strategy';
import { FeatureInterface } from './feature';
import { RepositoryInterface } from './repository';
import { Variant } from './variant';
import { Context } from './context';
import { SegmentForEvaluation } from './strategy/strategy';
import { PlaygroundStrategySchema } from 'lib/openapi/spec/playground-strategy-schema';
import { playgroundStrategyEvaluation } from '../../openapi/spec/playground-strategy-schema';
export declare type StrategyEvaluationResult = Pick<PlaygroundStrategySchema, 'result' | 'segments' | 'constraints'>;
export declare type FeatureStrategiesEvaluationResult = {
result: boolean | typeof playgroundStrategyEvaluation.unknownResult;
strategies: PlaygroundStrategySchema[];
};
export default class UnleashClient {
private repository;
private strategies;
constructor(repository: RepositoryInterface, strategies: Strategy[]);
private getStrategy;
isEnabled(name: string, context: Context, fallback: Function): FeatureStrategiesEvaluationResult;
isFeatureEnabled(feature: FeatureInterface, context: Context, fallback: Function): FeatureStrategiesEvaluationResult;
getSegment(repo: RepositoryInterface): (segmentId: number) => SegmentForEvaluation | undefined;
getVariant(name: string, context: Context, fallbackVariant?: Variant): Variant;
forceGetVariant(name: string, context: Context, fallbackVariant?: Variant): Variant;
private resolveVariant;
}