@push.rocks/lik
Version:
Provides a collection of lightweight helpers and utilities for Node.js projects.
10 lines (9 loc) • 409 B
TypeScript
export declare class AsyncExecutionStack {
private executionSlots;
private isProcessing;
getExclusiveExecutionSlot<T = any>(funcArg: () => Promise<T>, timeoutArg?: number): Promise<T>;
getNonExclusiveExecutionSlot<T = any>(funcArg: () => Promise<T>, timeoutArg?: number): Promise<T>;
private processExecutionSlots;
private executeExclusiveSlot;
private executeNonExclusiveSlots;
}