@calico/analytics
Version:
Analytics SDK for Calico Dashboard - Easy integration for tracking user interactions and configurations
52 lines (50 loc) • 1.83 kB
text/typescript
type AnalyticsEvent = 'VIEW' | 'INTERACT' | 'CONFIGURE' | 'SHARE' | 'EXPORT' | 'AR_VIEW' | 'ADD_TO_CART' | 'PURCHASE';
interface CalicoAnalyticsConfig {
apiKey: string;
endpoint?: string;
debug?: boolean;
autoTrack?: boolean;
batchSize?: number;
flushInterval?: number;
}
interface AnalyticsEventData {
event: AnalyticsEvent;
metadata?: Record<string, any>;
value?: number;
sessionId?: string;
}
declare class CalicoAnalytics {
private apiKey;
private endpoint;
private debug;
private sessionId;
private queue;
private batchSize;
private flushInterval;
private flushTimer?;
private initialized;
constructor(config: CalicoAnalyticsConfig);
private generateSessionId;
private setupAutoTracking;
private startFlushTimer;
track(event: AnalyticsEvent, metadata?: Record<string, any>, value?: number): void;
flush(sync?: boolean): Promise<void>;
identify(userId: string, traits?: Record<string, any>): void;
reset(): void;
destroy(): void;
}
declare function init(config: CalicoAnalyticsConfig): CalicoAnalytics;
declare function track(event: AnalyticsEvent, metadata?: Record<string, any>, value?: number): void;
declare function identify(userId: string, traits?: Record<string, any>): void;
declare function flush(): Promise<void>;
declare function reset(): void;
declare function autoRegister(appName: string, appUrl: string, endpoint?: string): Promise<string>;
declare const _default: {
init: typeof init;
track: typeof track;
identify: typeof identify;
flush: typeof flush;
reset: typeof reset;
autoRegister: typeof autoRegister;
};
export { type AnalyticsEvent, type AnalyticsEventData, type CalicoAnalyticsConfig, autoRegister, _default as default, flush, identify, init, reset, track };