UNPKG

@devcycle/js-client-sdk

Version:

The Javascript Client SDK for DevCycle

40 lines (39 loc) 1.42 kB
import { DevCycleClient } from './Client'; import { DevCycleEvent, DevCycleOptions, DVCCustomDataJSON } from './types'; import { VariableDefinitions } from '@devcycle/types'; export declare const EventTypes: { variableEvaluated: string; variableDefaulted: string; }; type AggregateEvent = DevCycleEvent & { target: string; }; export declare class EventQueue<Variables extends VariableDefinitions = VariableDefinitions, CustomData extends DVCCustomDataJSON = DVCCustomDataJSON> { private readonly sdkKey; private readonly options; private readonly client; private eventQueue; private aggregateEventMap; private flushInterval; private flushEventQueueSize; private maxEventQueueSize; private eventQueueBatchSize; constructor(sdkKey: string, dvcClient: DevCycleClient<Variables, CustomData>, options: DevCycleOptions); flushEvents(): Promise<void>; /** * Queue DVCAPIEvent for producing */ queueEvent(event: DevCycleEvent): void; /** * Queue DVCEvent that can be aggregated together, where multiple calls are aggregated * by incrementing the 'value' field. */ queueAggregateEvent(event: AggregateEvent): void; private checkEventQueueSize; /** * Turn the Aggregate Event Map into an Array of DVCAPIEvent objects for publishing. */ private eventsFromAggregateEventMap; close(): Promise<void>; } export {};