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;