UNPKG

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
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; }