UNPKG

statsig-js

Version:

Statsig JavaScript client SDK for single user environments.

42 lines (41 loc) 2.31 kB
import LogEvent from './LogEvent'; import { IHasStatsigInternal } from './StatsigClient'; import { BootstrapMetadata, EvaluationDetails } from './StatsigStore'; import { StatsigUser } from './StatsigUser'; import { ContextType } from './utils/Diagnostics'; export default class StatsigLogger { private sdkInternal; private queue; private nonExposedChecks; private flushInterval; private loggedErrors; private failedLogEvents; private exposureDedupeKeys; private failedLogEventCount; private debugInfo; constructor(sdkInternal: IHasStatsigInternal); private init; log(event: LogEvent): void; resetDedupeKeys(): void; setDebugInfo(debugInfo: Record<string, string>): void; private shouldLogExposure; addNonExposedCheck(configName: string): void; logGateExposure(user: StatsigUser | null, gateName: string, gateValue: boolean, ruleID: string, secondaryExposures: Record<string, string>[], details: EvaluationDetails, isManualExposure: boolean, bootstrapMetadata: BootstrapMetadata | null): void; logConfigExposure(user: StatsigUser | null, configName: string, ruleID: string, secondaryExposures: Record<string, string>[], details: EvaluationDetails, isManualExposure: boolean, bootstrapMetadata: BootstrapMetadata | null): void; logLayerExposure(user: StatsigUser | null, configName: string, ruleID: string, secondaryExposures: Record<string, string>[], allocatedExperiment: string, parameterName: string, isExplicitParameter: boolean, details: EvaluationDetails, isManualExposure: boolean, bootstrapMetadata: BootstrapMetadata | null): void; logConfigDefaultValueFallback(user: StatsigUser | null, message: string, metadata: object): void; logAppError(user: StatsigUser | null, message: string, metadata: object): void; logDiagnostics(user: StatsigUser | null, context: ContextType): void; logAppMetrics(user: StatsigUser | null): void; private logGenericEvent; shutdown(): void; flush(isClosing?: boolean): void; private saveFailedRequests; sendSavedRequests(): Promise<void>; private addFailedRequest; private clearLocalStorageRequests; private makeDiagnosticsEvent; private addErrorBoundaryDiagnostics; private addNonExposedChecksEvent; private logDroppedLogEventsException; }