UNPKG

@aftership/web-pixels

Version:

AfterShip Web Pixels for data anaylsis

42 lines (41 loc) 1.2 kB
import { EventName, EventProperties } from '../../types/pixelEventsFormat'; export interface IQueueEventItem { id: string; name: EventName; properties: EventProperties; size: number; timestamp: number; } interface IEventQueueState { maxQueueCount: number; maxQueueSize: number; processInterval: number; } export declare class EventQueue { private static instance; private isDestroyed; private queues; private currentQueueIndex; private queueSizes; private state; private processTimer; private isFlushingLock; private readonly MAX_QUEUES; constructor(state?: IEventQueueState); private initializeEventListeners; private handleNetworkChange; private handleVisibilityChange; private startProcessTimer; private stopProcessTimer; private judgeCurrentQueueFull; enqueue: (eventName: EventName, eventProperties: EventProperties) => Promise<void>; private processQueues; private flush; private reEnqueueFailedEvents; destroy: () => Promise<void>; private ensureQueueConsistency; private validateState; private flushAll; } export declare const pixelEventQueue: EventQueue; export {};