UNPKG

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