@backtrace/sdk-core
Version:
Backtrace-JavaScript SDK core library
42 lines (41 loc) • 1.58 kB
TypeScript
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;
}