unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
37 lines (36 loc) • 1.46 kB
TypeScript
/// <reference types="node" />
import EventEmitter from 'events';
import { RepositoryInterface } from 'unleash-client/lib/repository';
import { Segment } from 'unleash-client/lib/strategy/strategy';
import { FeatureInterface } from 'unleash-client/lib/feature';
import ApiUser from '../types/api-user';
import { IUnleashConfig, IUnleashServices, IUnleashStores } from '../types';
declare type Config = Pick<IUnleashConfig, 'getLogger' | 'frontendApi'>;
declare type Stores = Pick<IUnleashStores, 'projectStore' | 'eventStore'>;
declare type Services = Pick<IUnleashServices, 'featureToggleServiceV2' | 'segmentService'>;
export declare class ProxyRepository extends EventEmitter implements RepositoryInterface {
private readonly config;
private readonly logger;
private readonly stores;
private readonly services;
private readonly token;
private features;
private segments;
private interval;
private timer;
constructor(config: Config, stores: Stores, services: Services, token: ApiUser);
getSegment(id: number): Segment | undefined;
getToggle(name: string): FeatureInterface;
getToggles(): FeatureInterface[];
start(): Promise<void>;
stop(): void;
private dataPolling;
private loadDataForToken;
private randomizeDelay;
private onAnyEvent;
private featuresForToken;
private segmentsForToken;
private projectIdsForToken;
private environmentNameForToken;
}
export {};