UNPKG

tggl-client

Version:

Tggl Typescript SDK for client and server

32 lines (31 loc) 1.35 kB
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>[]>; }