UNPKG

cosmic-analytics

Version:

Lightweight analytics for Cosmic projects

70 lines (68 loc) 1.56 kB
interface AnalyticsConfig { apiEndpoint?: string; debug?: boolean; enabled?: boolean; respectDoNotTrack?: boolean; projectId?: string; sendInDevelopment?: boolean; isDevelopment?: boolean; } interface PageViewEvent { event: 'pageview'; projectId: string; sessionId: string; url: string; title: string; referrer: string; timestamp: number; screenResolution?: string; viewport?: string; language?: string; userAgent?: string; } interface PageExitEvent { event: 'pageexit'; projectId: string; sessionId: string; url: string; duration: number; timestamp: number; } type AnalyticsEvent = PageViewEvent | PageExitEvent; interface DeviceInfo { type: 'desktop' | 'mobile' | 'tablet'; os: string; browser: string; browserVersion: string; } interface AnalyticsMetrics { visitors: number; pageViews: number; bounceRate: number; pages: Array<{ path: string; views: number; }>; referrers: Array<{ source: string; count: number; }>; countries: Array<{ code: string; name: string; count: number; }>; devices: Array<{ type: string; count: number; }>; browsers: Array<{ name: string; count: number; }>; operatingSystems: Array<{ name: string; count: number; }>; } export type { AnalyticsConfig as A, DeviceInfo as D, PageViewEvent as P, AnalyticsEvent as a, PageExitEvent as b, AnalyticsMetrics as c };