unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
37 lines • 1.45 kB
TypeScript
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