unleash-client
Version:
Unleash Client for Node
26 lines • 1.6 kB
TypeScript
import { EventEmitter } from 'events';
import { Strategy, StrategyTransportInterface } from './strategy';
import { FeatureInterface } from './feature';
import { RepositoryInterface } from './repository';
import { Variant, VariantWithFeatureStatus } from './variant';
import { Context } from './context';
import { Constraint, Segment, StrategyResult } from './strategy/strategy';
export default class UnleashClient extends EventEmitter {
private repository;
private strategies;
private warnedStrategies;
private warnedDependencies;
constructor(repository: RepositoryInterface, strategies: Strategy[]);
private getStrategy;
warnStrategyOnce(missingStrategy: string, name: string, strategies: StrategyTransportInterface[]): void;
warnDependencyOnce(missingDependency: string, name: string): void;
isParentDependencySatisfied(feature: FeatureInterface | undefined, context: Context): boolean;
isEnabled(name: string, context: Context, fallback: Function): boolean;
isFeatureEnabled(feature: FeatureInterface | undefined, context: Context, fallback: Function): StrategyResult;
yieldConstraintsFor(strategy: StrategyTransportInterface): IterableIterator<Constraint | undefined>;
yieldSegmentConstraints(segments: (Segment | undefined)[]): IterableIterator<Constraint | undefined>;
getVariant(name: string, context: Context, fallbackVariant?: Variant): VariantWithFeatureStatus;
forceGetVariant(name: string, context: Context, fallbackVariant?: Variant): VariantWithFeatureStatus;
private resolveVariant;
}
//# sourceMappingURL=client.d.ts.map