| declare function fastq<C, T = any, R = any>(context: C, worker: fastq.worker<C, T, R>, concurrency: number): fastq.queue<T, R> |
| declare function fastq<C, T = any, R = any>(worker: fastq.worker<C, T, R>, concurrency: number): fastq.queue<T, R> |
| |
| declare namespace fastq { |
| type worker<C, T = any, R = any> = (this: C, task: T, cb: fastq.done<R>) => void |
| type asyncWorker<C, T = any, R = any> = (this: C, task: T) => Promise<R> |
| type done<R = any> = (err: Error | null, result?: R) => void |
| type errorHandler<T = any> = (err: Error, task: T) => void |
| |
| interface queue<T = any, R = any> { |
| push(task: T, done?: done<R>): void |
| unshift(task: T, done?: done<R>): void |
| pause(): any |
| resume(): any |
| idle(): boolean |
| length(): number |
| getQueue(): T[] |
| kill(): any |
| killAndDrain(): any |
| error(handler: errorHandler): void |
| concurrency: number |
| drain(): any |
| empty: () => void |
| saturated: () => void |
| } |
| |
| interface queueAsPromised<T = any, R = any> extends queue<T, R> { |
| push(task: T): Promise<R> |
| unshift(task: T): Promise<R> |
| drained(): Promise<void> |
| } |
| |
| function promise<C, T = any, R = any>(context: C, worker: fastq.asyncWorker<C, T, R>, concurrency: number): fastq.queueAsPromised<T, R> |
| function promise<C, T = any, R = any>(worker: fastq.asyncWorker<C, T, R>, concurrency: number): fastq.queueAsPromised<T, R> |
| } |
| |
| export = fastq |