@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
26 lines (25 loc) • 681 B
TypeScript
/**
* AsyncQueue - Ensures handlers are processed sequentially to prevent race conditions.
* Each queued task is executed only after the previous one completes.
*/
export declare class AsyncQueue {
private queue;
private processing;
/**
* Enqueue a task to be executed sequentially.
* @param task - An async function to be executed
*/
enqueue(task: () => Promise<void>): void;
/**
* Process the queue sequentially.
*/
private processQueue;
/**
* Check if the queue is currently empty and not processing.
*/
get isIdle(): boolean;
/**
* Get the current queue length.
*/
get length(): number;
}