helene
Version:
Real-time Web Apps for Node.js
18 lines (17 loc) • 547 B
TypeScript
export type PromiseCallback = ConstructorParameters<typeof Promise>[0];
export type Resolve = Parameters<PromiseCallback>[0];
export type Reject = Parameters<PromiseCallback>[1];
export type QueueItem = {
method: string;
resolve: Resolve;
reject: Reject;
timeoutId: NodeJS.Timeout;
};
export type QueueMap = Map<string, QueueItem>;
export declare class PromiseQueue {
items: QueueMap;
get length(): number;
get isEmpty(): boolean;
enqueue(key: string, item: QueueItem): void;
dequeue(key: string): QueueItem;
}