UNPKG

@backtrace/sdk-core

Version:
42 lines (41 loc) 1.58 kB
import { BacktraceModule } from '../BacktraceModule.js'; import { FileSystem } from './FileSystem.js'; export interface SessionId { readonly id: string; readonly timestamp: number; } export declare class SessionFiles implements BacktraceModule { private readonly _fileSystem; private readonly _directory; readonly sessionId: SessionId; private readonly _maxPreviousLockedSessions; private readonly _lockable; readonly marker: string; private readonly _events; private readonly _escapedSessionId; private readonly _locks; private _previousSession?; private _cleared; constructor(_fileSystem: FileSystem, _directory: string, sessionId: SessionId, _maxPreviousLockedSessions?: number, _lockable?: boolean); initialize(): void; getPreviousSession(): SessionFiles | undefined; getSessionWithId(sessionId: SessionId): SessionFiles | undefined; getPreviousSessions(count?: number): SessionFiles[]; lockPreviousSessions(lockId?: string): string; unlockPreviousSessions(lockId: string): void; clearPreviousSessions(): void; getFileName(prefix: string): string; getSessionFiles(): string[]; clearSession(): void; lock(lockId?: string): string | undefined; unlock(lockId: string): void; private getFileSession; private readDirectoryFiles; private createSessionMarker; private escapeFileName; private unescapeFileName; private splitByOneChar; private throwIfCleared; private sessionIdEquals; static isValidSessionId(value: unknown): value is SessionId; }