@coralogix/browser
Version:
Official Coralogix SDK for browsers
55 lines (54 loc) • 1.96 kB
TypeScript
import { SessionRecordingConfig } from './session.model';
import { SessionManager } from './sessionManager';
export declare class SessionRecorder {
private sessionWorker;
private readonly isAutoStartRecording;
private readonly maxMutations;
private readonly onlySessionWithErrorMode;
private readonly maxRecordTimeForSessionWithError;
private recordEvents;
private recordEventsForSessionWithError;
private recordRef;
private recordConfig;
private segmentIndexCounter;
private sessionManager;
private hasRecording;
private hasScreenshot;
private recordingStopped;
private batchingTimeInterval;
private batchTimeDelay;
private batchTimeout;
private isErrorOccurred;
private debugMode;
private _recordingStopDueToTimeout;
private mutationObserver;
private request;
private workerManager;
private isWorkerReady;
constructor(sessionManager: SessionManager, recordConfig: SessionRecordingConfig);
getSessionHasScreenshot(): boolean;
getSessionHasRecording(): boolean;
updateSegmentIndexCounter(segmentIndexCounter: Record<string, number>): void;
getIsAutoStartRecording(): boolean;
set recordingStopDueToTimeout(value: boolean);
get recordingStopDueToTimeout(): boolean;
startRecording(): Promise<void>;
screenshot(id: string): void;
stopRecording(): void;
private stopMutationObserver;
private startMutationObserver;
private clearIntervals;
private prepareRecordConfig;
private handleRecordEvent;
private handleRecordEventForSessionWithError;
private prepareRecordEventsBeforeSend;
private prepareRecordEventsForSessionWithError;
private compressRecordData;
private registerToWorkerMessages;
private resetBatching;
private getMetadata;
private sendRecordEvents;
private handleSessionRecordingResponse;
private startBatchingRecords;
private initializeSessionWorker;
}