UNPKG

@re-shell/cli

Version:

Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja

77 lines (76 loc) 2.18 kB
import { EventEmitter } from 'events'; export interface AnalyticsEvent { event: string; properties?: Record<string, any>; timestamp: Date; sessionId: string; userId?: string; version: string; platform: string; nodeVersion: string; } export interface AnalyticsMetric { name: string; value: number; timestamp: Date; tags?: Record<string, string>; } export interface AnalyticsTiming { label: string; startTime: number; endTime?: number; duration?: number; } export interface AnalyticsOptions { enabled?: boolean; debug?: boolean; batchSize?: number; flushInterval?: number; endpoint?: string; storageDir?: string; anonymize?: boolean; customProperties?: Record<string, any>; } export declare class Analytics extends EventEmitter { private enabled; private debug; private batchSize; private flushInterval; private endpoint?; private storageDir; private anonymize; private customProperties; private sessionId; private userId?; private events; private metrics; private timings; private flushTimer?; constructor(options?: AnalyticsOptions); private initialize; private isAnalyticsEnabled; private generateSessionId; private generateUserId; private getMachineId; private startFlushTimer; track(event: string, properties?: Record<string, any>): void; timeStart(label: string): void; timeEnd(label: string): void; increment(metric: string, value?: number, tags?: Record<string, string>): void; flush(): void; private saveToDisk; private cleanupOldFiles; private sendToEndpoint; private loadPendingEvents; private getVersion; disable(): void; enable(): void; isEnabled(): boolean; setUserId(userId: string): void; setCustomProperties(properties: Record<string, any>): void; getSessionId(): string; getUserId(): string | undefined; } export declare function createAnalytics(options?: AnalyticsOptions): Analytics; export declare function getGlobalAnalytics(): Analytics; export declare function setGlobalAnalytics(analytics: Analytics): void;