@apiratorjs/locking
Version:
A lightweight library providing both local and distributed locking primitives (mutexes and semaphores) for managing concurrency in Node.js.
17 lines • 820 B
TypeScript
import { AcquireParams, AcquireToken, DistributedMutexConstructorProps, IDistributedMutex, IReleaser } from "../types";
export declare class InMemoryDistributedMutex implements IDistributedMutex {
private readonly _inMemoryDistributedSemaphore;
constructor(props: DistributedMutexConstructorProps);
get name(): string;
get isDestroyed(): boolean;
runExclusive<T>(fn: () => Promise<T> | T): Promise<T>;
runExclusive<T>(params: AcquireParams, fn: () => Promise<T> | T): Promise<T>;
readonly implementation: string;
destroy(): Promise<void>;
acquire(params?: {
timeoutMs?: number;
}, acquireToken?: AcquireToken): Promise<IReleaser>;
cancel(errMessage?: string): Promise<void>;
isLocked(): Promise<boolean>;
}
//# sourceMappingURL=in-memory-distributed-mutex.d.ts.map