From cc534e611972a126324f8af40dc026c80fdddb1d Mon Sep 17 00:00:00 2001 From: Christopher Brown Date: Mon, 10 Nov 2014 22:00:13 -0600 Subject: [PATCH] Fix async.d.ts each* signatures Add generic ErrorCallback type Rename AsyncIterator -> AsyncResultIterator Add AsyncIterator as resultless iterator type Rename AsyncMultipleResultsCallback -> AsyncResultsCallback Rename AsyncSingleResultCallback -> AsyncResultCallback --- async/async.d.ts | 95 +++++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 46 deletions(-) diff --git a/async/async.d.ts b/async/async.d.ts index 1efa5046bb..5f558c3846 100644 --- a/async/async.d.ts +++ b/async/async.d.ts @@ -3,12 +3,14 @@ // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped -interface AsyncMultipleResultsCallback { (err: Error, results: T[]): any; } -interface AsyncSingleResultCallback { (err: Error, result: T): void; } -interface AsyncTimesCallback { (n: number, callback: AsyncMultipleResultsCallback): void; } +interface ErrorCallback { (err?: Error): void; } +interface AsyncResultsCallback { (err: Error, results: T[]): void; } +interface AsyncResultCallback { (err: Error, result: T): void; } +interface AsyncTimesCallback { (n: number, callback: AsyncResultsCallback): void; } -interface AsyncIterator { (item: T, callback: AsyncSingleResultCallback): void; } -interface AsyncMemoIterator { (memo: R, item: T, callback: AsyncSingleResultCallback): void; } +interface AsyncIterator { (item: T, callback: ErrorCallback): void; } +interface AsyncResultIterator { (item: T, callback: AsyncResultCallback): void; } +interface AsyncMemoIterator { (memo: R, item: T, callback: AsyncResultCallback): void; } interface AsyncWorker { (task: T, callback: Function): void; } @@ -17,10 +19,10 @@ interface AsyncQueue { concurrency: number; started: boolean; paused: boolean; - push(task: T, callback?: AsyncMultipleResultsCallback): void; - push(task: T[], callback?: AsyncMultipleResultsCallback): void; - unshift(task: T, callback?: AsyncMultipleResultsCallback): void; - unshift(task: T[], callback?: AsyncMultipleResultsCallback): void; + push(task: T, callback?: AsyncResultsCallback): void; + push(task: T[], callback?: AsyncResultsCallback): void; + unshift(task: T, callback?: AsyncResultsCallback): void; + unshift(task: T[], callback?: AsyncResultsCallback): void; saturated: () => any; empty: () => any; drain: () => any; @@ -36,8 +38,8 @@ interface AsyncPriorityQueue { concurrency: number; started: boolean; paused: boolean; - push(task: T, priority: number, callback?: AsyncMultipleResultsCallback): void; - push(task: T[], priority: number, callback?: AsyncMultipleResultsCallback): void; + push(task: T, priority: number, callback?: AsyncResultsCallback): void; + push(task: T[], priority: number, callback?: AsyncResultsCallback): void; saturated: () => any; empty: () => any; drain: () => any; @@ -51,47 +53,48 @@ interface AsyncPriorityQueue { interface Async { // Collections - each(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): void; - eachSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): void; - eachLimit(arr: T[], limit: number, iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): void; - map(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - mapSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - filter(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - select(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - filterSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - selectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - reject(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - rejectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - reduce(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback): any; - inject(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback): any; - foldl(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback): any; - reduceRight(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback): any; - foldr(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback): any; - detect(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - detectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - sortBy(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - some(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - any(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - every(arr: T[], iterator: AsyncIterator, callback: (result: boolean) => any): any; - all(arr: T[], iterator: AsyncIterator, callback: (result: boolean) => any): any; - concat(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; - concatSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): any; + each(arr: T[], iterator: AsyncIterator, callback: ErrorCallback): void; + eachSeries(arr: T[], iterator: AsyncIterator, callback: ErrorCallback): void; + eachLimit(arr: T[], limit: number, iterator: AsyncIterator, callback: ErrorCallback): void; + map(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + mapSeries(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + mapLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + filter(arr: T[], iterator: AsyncResultIterator, callback: (results: T[]) => any): any; + select(arr: T[], iterator: AsyncResultIterator, callback: (results: T[]) => any): any; + filterSeries(arr: T[], iterator: AsyncResultIterator, callback: (results: T[]) => any): any; + selectSeries(arr: T[], iterator: AsyncResultIterator, callback: (results: T[]) => any): any; + reject(arr: T[], iterator: AsyncResultIterator, callback: (results: T[]) => any): any; + rejectSeries(arr: T[], iterator: AsyncResultIterator, callback: (results: T[]) => any): any; + reduce(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any; + inject(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any; + foldl(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any; + reduceRight(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any; + foldr(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any; + detect(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + detectSeries(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + sortBy(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + some(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + any(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + every(arr: T[], iterator: AsyncResultIterator, callback: (result: boolean) => any): any; + all(arr: T[], iterator: AsyncResultIterator, callback: (result: boolean) => any): any; + concat(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; + concatSeries(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultsCallback): any; // Control Flow - series(tasks: T[], callback?: AsyncMultipleResultsCallback): void; - series(tasks: T, callback?: AsyncMultipleResultsCallback): void; - parallel(tasks: T[], callback?: AsyncMultipleResultsCallback): void; - parallel(tasks: T, callback?: AsyncMultipleResultsCallback): void; - parallelLimit(tasks: T[], limit: number, callback?: AsyncMultipleResultsCallback): void; - parallelLimit(tasks: T, limit: number, callback?: AsyncMultipleResultsCallback): void; + series(tasks: T[], callback?: AsyncResultsCallback): void; + series(tasks: T, callback?: AsyncResultsCallback): void; + parallel(tasks: T[], callback?: AsyncResultsCallback): void; + parallel(tasks: T, callback?: AsyncResultsCallback): void; + parallelLimit(tasks: T[], limit: number, callback?: AsyncResultsCallback): void; + parallelLimit(tasks: T, limit: number, callback?: AsyncResultsCallback): void; whilst(test: Function, fn: Function, callback: Function): void; until(test: Function, fn: Function, callback: Function): void; - waterfall(tasks: T[], callback?: AsyncMultipleResultsCallback): void; - waterfall(tasks: T, callback?: AsyncMultipleResultsCallback): void; + waterfall(tasks: T[], callback?: AsyncResultsCallback): void; + waterfall(tasks: T, callback?: AsyncResultsCallback): void; queue(worker: AsyncWorker, concurrency: number): AsyncQueue; priorityQueue(worker: AsyncWorker, concurrency: number): AsyncPriorityQueue; - // auto(tasks: any[], callback?: AsyncMultipleResultsCallback): void; - auto(tasks: any, callback?: AsyncMultipleResultsCallback): void; + // auto(tasks: any[], callback?: AsyncResultsCallback): void; + auto(tasks: any, callback?: AsyncResultsCallback): void; iterator(tasks: Function[]): Function; apply(fn: Function, ...arguments: any[]): void; nextTick(callback: Function): void;