From 7efa6bbca5b63c153592fd0b9819cf6c2716ac08 Mon Sep 17 00:00:00 2001 From: Duncan Mak Date: Thu, 20 Jun 2013 00:06:27 -0400 Subject: [PATCH] Differentiate between single-result and multiple-results callbacks. --- async/async.d.ts | 88 ++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/async/async.d.ts b/async/async.d.ts index a1e1f12b9..ec92487fc 100644 --- a/async/async.d.ts +++ b/async/async.d.ts @@ -3,65 +3,65 @@ // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped - -interface AsyncCallback { (err: string, results: T[]): any; } -interface AsyncIterator { (item: T, callback: AsyncCallback): void; } -interface AsyncMemoIterator { (memo: T, item: T, callback: AsyncCallback): void; } +interface AsyncMultipleResultsCallback { (err: string, results: T[]): any; } +interface AsyncSingleResultCallback { (err: string, result: T): any; } +interface AsyncIterator { (item: T, callback: AsyncMultipleResultsCallback): void; } +interface AsyncMemoIterator { (memo: T, item: T, callback: AsyncSingleResultCallback): void; } interface AsyncWorker { (task: T, callback: Function): void; } interface AsyncQueue { length(): number; concurrency: number; - push(task: T, callback: AsyncCallback): void; - saturated: AsyncCallback; - empty: AsyncCallback; - drain: AsyncCallback; + push(task: T, callback: AsyncMultipleResultsCallback): void; + saturated: AsyncMultipleResultsCallback; + empty: AsyncMultipleResultsCallback; + drain: AsyncMultipleResultsCallback; } interface Async { // Collections - forEach(arr: T[], iterator: AsyncIterator, callback: AsyncCallback): void; - forEachSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback): void; - forEachLimit(arr: T[], limit: number, iterator: AsyncIterator, callback: AsyncCallback): void; - map(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - mapSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - filter(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - select(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - filterSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - selectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - reject(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - rejectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - reduce(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncCallback); - inject(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncCallback); - foldl(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncCallback); - reduceRight(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncCallback); - foldr(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncCallback); - detect(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - detectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - sortBy(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - some(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - any(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - every(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - all(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - concat(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); - concatSeries(arr: T[], iterator: AsyncIterator, callback: AsyncCallback); + forEach(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): void; + forEachSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): void; + forEachLimit(arr: T[], limit: number, iterator: AsyncIterator, callback: AsyncMultipleResultsCallback): void; + map(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + mapSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + filter(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + select(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + filterSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + selectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + reject(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + rejectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + reduce(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback); + inject(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback); + foldl(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback); + reduceRight(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback); + foldr(arr: T[], memo: T, iterator: AsyncMemoIterator, callback: AsyncSingleResultCallback); + detect(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + detectSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + sortBy(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + some(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + any(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + every(arr: T[], iterator: AsyncIterator, callback: (result: boolean) => any); + all(arr: T[], iterator: AsyncIterator, callback: (result: boolean) => any); + concat(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); + concatSeries(arr: T[], iterator: AsyncIterator, callback: AsyncMultipleResultsCallback); // Control Flow - series(tasks: T[], callback?: AsyncCallback): void; - series(tasks: T, callback?: AsyncCallback): void; - parallel(tasks: T[], callback?: AsyncCallback): void; - parallel(tasks: T, callback?: AsyncCallback): void; - whilst(test: Function, fn: Function, callback: AsyncCallback): void; // TODO: generify - until(test: Function, fn: Function, callback: AsyncCallback): void; // TODO: generify - waterfall(tasks: T[], callback?: AsyncCallback): void; - waterfall(tasks: T, callback?: AsyncCallback): void; + series(tasks: T[], callback?: AsyncMultipleResultsCallback): void; + series(tasks: T, callback?: AsyncMultipleResultsCallback): void; + parallel(tasks: T[], callback?: AsyncMultipleResultsCallback): void; + parallel(tasks: T, callback?: AsyncMultipleResultsCallback): 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; queue(worker: AsyncWorker, concurrency: number): AsyncQueue; - //auto(tasks: any[], callback?: AsyncCallback): void; - auto(tasks: T, callback?: AsyncCallback): void; + //auto(tasks: any[], callback?: AsyncMultipleResultsCallback): void; + auto(tasks: T, callback?: AsyncMultipleResultsCallback): void; iterator(tasks): Function; apply(fn: Function, ...arguments: any[]): void; - nextTick(callback: AsyncCallback): void; + nextTick(callback: AsyncMultipleResultsCallback): void; // Utils memoize(fn: Function, hasher?: Function): Function;