tggl-client
Version:
Tggl Typescript SDK for client and server
32 lines (31 loc) • 1.35 kB
TypeScript
import { TgglClientOptions, TgglContext, TgglFlags } from './types';
import { TgglResponse } from './TgglResponse';
export declare class TgglClient<TFlags extends TgglFlags = TgglFlags, TContext extends TgglContext = TgglContext> extends TgglResponse<TFlags> {
private apiKey?;
private context;
private url;
private loader;
private pollingInterval;
private timeoutID?;
private fetchID;
private fetchPromise?;
private lastSuccessfulFetchID;
private lastSuccessfulFetchResponse;
private onResultChangeCallbacks;
private onFetchSuccessfulCallbacks;
private onFetchFailCallbacks;
private log;
constructor(apiKey?: string | null | undefined, options?: TgglClientOptions<TFlags>);
onResultChange(callback: (flags: Partial<TFlags>) => void): () => void;
onFetchSuccessful(callback: () => void): () => void;
onFetchFail(callback: (error: Error) => void): () => void;
startPolling(pollingInterval: number): void;
stopPolling(): void;
private planNextPolling;
private cancelNextPolling;
private waitForLastFetchToFinish;
setContext(context: Partial<TContext>): Promise<void>;
private setRawFlags;
evalContext(context: Partial<TContext>): Promise<TgglResponse<TFlags>>;
evalContexts(contexts: Partial<TContext>[]): Promise<TgglResponse<TFlags>[]>;
}