@x5e/gink
Version:
an eventually consistent database
16 lines (15 loc) • 555 B
TypeScript
/// <reference types="node" />
import { FileHandle } from "fs/promises";
export declare class LockableFile {
readonly filename: string;
readonly exclusive: boolean;
protected fileHandle: FileHandle;
protected fileLocked: boolean;
private lockableFileReady;
constructor(filename: string, exclusive?: boolean);
get ready(): Promise<void>;
private initializeLockableFile;
protected lockFile(block: boolean): Promise<boolean>;
protected unlockFile(): Promise<boolean>;
protected getFileLength(): Promise<number>;
}