UNPKG

unleash-server

Version:

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

36 lines (35 loc) 1.32 kB
import { ClientFeaturesResponse, FeatureInterface } from '../feature'; import { BootstrapProvider } from './bootstrap-provider'; import { StorageProvider } from './storage-provider'; import { Segment } from '../strategy/strategy'; 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 { 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[]; }