UNPKG

@2l/ewa-analytics-web-sdk

Version:

A lightweight TypeScript SDK for tracking user events and analytics data in web applications. Provides real-time event tracking with support for both WebSocket and HTTP transport methods.

46 lines 1.62 kB
import { EwaAnalyticsConfig } from '../sdk/types'; import { EwaAnalyticsEvent, Session } from './types'; export type EventType = 'session' | 'event'; export interface EventTrackerConfig { sessionId: number; connection?: any; apiInstance?: any; globalConfig: EwaAnalyticsConfig; } export interface EwaAnalyticsContext { [key: string]: any; } export declare class EventTracker { private config; private userAgent; private sessionLocated; private initialEventSent; constructor(config: EventTrackerConfig); private createMergedPayload; private updateSessionState; private canTrackAnalyticsEvents; trackEvent(eventType: EventType, payload: Record<string, any>, context?: EwaAnalyticsContext): Promise<void>; private trackSession; private trackAnalyticsEvent; private sendToTransport; private postToHttp; private publishToWebSocket; trackSessionTyped(sessionData: Session, context?: EwaAnalyticsContext): Promise<void>; trackEventTyped(eventData: EwaAnalyticsEvent, context?: EwaAnalyticsContext): Promise<void>; getTransport(): 'http' | 'websocket'; getApiUrl(): string; isWebSocketTransport(): boolean; isHttpTransport(): boolean; isSessionLocated(): boolean; areInitialEventsSent(): boolean; getSessionState(): { located: boolean; initialEventSent: boolean; }; setSessionLocated(located?: boolean): void; setInitialEventsSent(sent?: boolean): void; resetSessionState(): void; private validateEventType; private validatePayload; } //# sourceMappingURL=tracker.d.ts.map