@easyflow/pixel
Version:
Easyflow client-side pixel SDK
43 lines (42 loc) • 1.45 kB
TypeScript
import { PixelEvent } from './pixel-event.enum';
import { AtLeastOne, EventsBufferRecord, TrackBy } from './@types/types';
export declare class EasyflowPixel {
private readonly ownerId;
private readonly fingerprintId;
private readonly urlBase;
private readonly minBufferSize;
private readonly minFlushIntervalMs;
private lastFlushTimestamp;
private isFlushing;
private STORE_KEY;
private SESSION_KEY;
private readonly sessionTtlMs;
private sessionId;
private payloadHashCache;
private readonly MAX_CACHE_SIZE;
private pixelMap;
private eventsBuffer;
private readonly trackBy;
private readonly debouncedFlush;
private readonly circuitBreaker;
private readonly retryBackoff;
constructor(ownerId: string, fingerprintId: string, trackBy: AtLeastOne<TrackBy>);
init(): Promise<void>;
private loadPixels;
private loadPixelsWithDedupe;
private loadLifeCycleEvents;
private getPlatformSender;
track(event: PixelEvent, payload?: Record<string, any>): void;
private generateCanonicalStr;
private getOptimizedPayloadHash;
private clearOldestCacheEntries;
private mapToApiRecord;
storeChunkEvents(events: EventsBufferRecord[]): void;
replayFallbackEvents(): void;
private flush;
private platformCaller;
private prepareDataToBeSent;
private hashedData;
private mapMetaTestCodeIfNeeded;
}
export { PixelEvent };