You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.4 KiB
37 lines
1.4 KiB
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
|
|
|