@apiratorjs/locking
Version:
A lightweight library providing both local and distributed locking primitives (mutexes, semaphores, and read-write locks) for managing concurrency in Node.js.
14 lines • 581 B
TypeScript
import { AcquireParams, IMutex, IReleaser, MutexToken } from "./types";
export declare class Mutex implements IMutex {
private readonly _semaphore;
constructor();
runExclusive<T>(fn: () => Promise<T> | T): Promise<T>;
runExclusive<T>(params: AcquireParams, fn: () => Promise<T> | T): Promise<T>;
acquire(params?: {
timeoutMs?: number;
}, acquireToken?: string): Promise<IReleaser<MutexToken>>;
cancel(errMessage?: string): Promise<void>;
isLocked(): Promise<boolean>;
waitForUnlock(): Promise<void>;
}
//# sourceMappingURL=mutex.d.ts.map