@launchdarkly/js-sdk-common
Version:
LaunchDarkly SDK for JavaScript - common code
44 lines • 1.66 kB
TypeScript
import LDContextDeduplicator from '../../api/subsystem/LDContextDeduplicator';
import LDEventProcessor from '../../api/subsystem/LDEventProcessor';
import { ClientContext } from '../../options';
import { LDHeaders } from '../../utils';
import { DiagnosticsManager } from '../diagnostics';
import InputEvent from './InputEvent';
export interface EventProcessorOptions {
allAttributesPrivate: boolean;
privateAttributes: string[];
eventsCapacity: number;
flushInterval: number;
diagnosticRecordingInterval: number;
}
export default class EventProcessor implements LDEventProcessor {
private readonly _config;
private readonly _contextDeduplicator?;
private readonly _diagnosticsManager?;
private _eventSender;
private _summarizer;
private _queue;
private _lastKnownPastTime;
private _droppedEvents;
private _deduplicatedUsers;
private _exceededCapacity;
private _eventsInLastBatch;
private _shutdown;
private _capacity;
private _logger?;
private _contextFilter;
private _diagnosticsTimer;
private _flushTimer;
private _flushUsersTimer;
constructor(_config: EventProcessorOptions, clientContext: ClientContext, baseHeaders: LDHeaders, _contextDeduplicator?: LDContextDeduplicator | undefined, _diagnosticsManager?: DiagnosticsManager | undefined, start?: boolean);
start(): void;
private _postDiagnosticEvent;
close(): void;
flush(): Promise<void>;
sendEvent(inputEvent: InputEvent): void;
private _makeOutputEvent;
private _enqueue;
private _shouldDebugEvent;
private _tryPostingEvents;
}
//# sourceMappingURL=EventProcessor.d.ts.map