UNPKG

@apiratorjs/locking

Version:

A lightweight library providing both local and distributed locking primitives (mutexes and semaphores) for managing concurrency in Node.js.

17 lines 673 B
import { AcquireToken, AcquireParams, IReleaser, ISemaphore } from "./types"; export declare class Semaphore implements ISemaphore { readonly maxCount: number; private _freeCount; private _queue; constructor(maxCount: number); runExclusive<T>(fn: () => Promise<T> | T): Promise<T>; runExclusive<T>(params: AcquireParams, fn: () => Promise<T> | T): Promise<T>; freeCount(): Promise<number>; acquire(params?: { timeoutMs?: number; }, acquireToken?: AcquireToken): Promise<IReleaser>; cancelAll(errMessage?: string): Promise<void>; isLocked(): Promise<boolean>; private release; } //# sourceMappingURL=semaphore.d.ts.map