UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

37 lines 1.45 kB
import type { ClientFeaturesResponse, FeatureInterface } from '../feature.js'; import type { BootstrapProvider } from './bootstrap-provider.js'; import type { StorageProvider } from './storage-provider.js'; import type { Segment } from '../strategy/strategy.js'; import EventEmitter from 'events'; export interface RepositoryInterface { getToggle(name: string): FeatureInterface; getToggles(): FeatureInterface[]; getSegment(id: number): Segment | undefined; stop(): void; start(): Promise<void>; } export interface RepositoryOptions { appName: string; bootstrapProvider: BootstrapProvider; storageProvider: StorageProvider<ClientFeaturesResponse>; } export default class Repository extends EventEmitter { private timer; private appName; private bootstrapProvider; private storageProvider; private data; private segments; constructor({ appName, bootstrapProvider, storageProvider, }: RepositoryOptions); start(): Promise<void>; createSegmentLookup(segments: Segment[] | undefined): Map<number, Segment>; save(response: ClientFeaturesResponse): Promise<void>; notEmpty(content: ClientFeaturesResponse): boolean; loadBootstrap(): Promise<void>; private convertToMap; stop(): void; getSegment(segmentId: number): Segment | undefined; getToggle(name: string): FeatureInterface; getToggles(): FeatureInterface[]; } //# sourceMappingURL=index.d.ts.map