@simplito/privmx-webendpoint
Version:
PrivMX Web Endpoint library
20 lines (19 loc) • 524 B
TypeScript
export interface QueueTask<T> {
func(item: T): Promise<void>;
}
export declare class Queue<T> implements Iterable<T> {
private items;
private func;
private processing;
enqueue(item: T): void;
dequeue(): T | undefined;
peek(): T | undefined;
get size(): number;
isEmpty(): boolean;
clear(): void;
toArray(): T[];
assignProcessorFunc(func: (item: T) => Promise<void>): void;
processAll(): Promise<void>;
awaiter(): Promise<void>;
[Symbol.iterator](): Iterator<T>;
}