123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- // Type definitions for Queue 4.5.1
- // Project: https://github.com/jessetane/queue
- // Definitions by: Alex Miller <https://github.com/codex->
- import { EventEmitter } from "events";
- export interface Options {
- /**
- * Max number of jobs the queue should process concurrently.
- *
- * @default Infinity
- */
- concurrency?: number;
- /**
- * Milliseconds to wait for a job to execute its callback.
- *
- * @default 0
- */
- timeout?: number;
- /**
- * Ensures the queue is always running if jobs are available. Useful in situations where you are using a queue only for concurrency control.
- *
- * @default false
- */
- autostart?: boolean;
- /**
- * An array to set job callback arguments on.
- *
- * @default null
- */
- results?: any[];
- }
- interface Queue extends EventEmitter {
- /**
- * Max number of jobs the queue should process concurrently.
- */
- concurrency: number;
- /**
- * Milliseconds to wait for a job to execute its callback.
- */
- timeout: number;
- /**
- * Ensures the queue is always running if jobs are available.
- */
- autostart: boolean;
- /**
- * An array to set job callback arguments on.
- */
- results: any[] | null;
- /**
- * Jobs pending + jobs to process.
- */
- readonly length: number;
- /**
- * Adds one or more elements to the end of the Queue and returns the new length of the Queue.
- *
- * @param workers New workers of the Queue.
- */
- push(...workers: QueueWorker[]): number;
- /**
- * Adds one or more elements to the front of the Queue and returns the new length of the Queue.
- *
- * @param workers Workers to insert at the start of the Queue.
- */
- unshift(...workers: QueueWorker[]): number;
- /**
- * Adds and/or removes elements from the queue.
- *
- * @param start The zero-based location in the Queue from which to start removing elements.
- * @param deleteCount The number of elements to remove.
- */
- splice(start: number, deleteCount?: number): Queue;
- /**
- * Adds and/or removes elements from the queue.
- *
- * @param start The zero-based location in the Queue from which to start removing elements.
- * @param deleteCount The number of elements to remove.
- * @param workers Workers to insert into the Queue in place of the deleted elements.
- */
- splice(start: number, deleteCount: number, ...workers: QueueWorker[]): Queue;
- /**
- * Removes the last element from the Queue and returns that element.
- */
- pop(): QueueWorker | undefined;
- /**
- * Removes the first element from the Queue and returns that element.
- */
- shift(): QueueWorker | undefined;
- /**
- * Extracts a section of the Queue and returns Queue.
- *
- * @param start The beginning of the specified portion of the Queue.
- * @param end The end of the specified portion of the Queue.
- */
- slice(start?: number, end?: number): Queue;
- /**
- * Reverses the order of the elements of the Queue in place.
- */
- reverse(): Queue;
- /**
- * Returns the first (least) index of an element within the Queue equal to the specified value, or -1 if none is found.
- *
- * @param searchElement The value to locate in the Queue.
- * @param fromIndex The Queue index at which to begin the search. If omitted, the search starts at index 0.
- */
- indexOf(searchElement: QueueWorker, fromIndex?: number): number;
- /**
- * Returns the last (greatest) index of an element within the Queue equal to the specified value, or -1 if none is found.
- *
- * @param searchElement The value to locate in the Queue.
- * @param fromIndex The Queue index at which to begin the search. If omitted, the search starts at the last index in the Queue.
- */
- lastIndexOf(searchElement: QueueWorker, fromIndex?: number): number;
- /**
- * Starts the queue.
- *
- * @param callback Callback to be called when the queue empties or when an error occurs.
- */
- start(callback?: (error?: Error) => void): void;
- /**
- * Stops the queue.
- */
- stop(): void;
- /**
- * Stop and empty the queue immediately.
- *
- * @param error error of why the stop has occurred, to be passed to start callback if supplied.
- */
- end(error?: Error): void;
- }
- interface QueueConstructor {
- (options?: Options): Queue;
- new (options?: Options): Queue;
- }
- declare const Queue: QueueConstructor;
- export default Queue;
- export interface QueueWorker {
- (callback?: QueueWorkerCallback): void;
- /**
- * Override queue timeout.
- */
- timeout?: number;
- }
- export interface QueueWorkerCallback {
- (error?: Error, data?: Object): void;
- }
|