From fd156f57315610eec03ff8f80901dc011f6e60cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Le=20Dorze?= Date: Wed, 12 Mar 2014 23:46:36 +0100 Subject: [PATCH] fix polymorphism in Async type signature (how the hell were people using it before??) --- async/async.d.ts | 60 +++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/async/async.d.ts b/async/async.d.ts index 12aa4123f3..b88083c27c 100644 --- a/async/async.d.ts +++ b/async/async.d.ts @@ -4,10 +4,12 @@ // Definitions: https://github.com/borisyankov/DefinitelyTyped interface AsyncMultipleResultsCallback { (err: string, results: T[]): any; } -interface AsyncSingleResultCallback { (err: string, result: T): any; } +interface AsyncSingleResultCallback { (err: string, result: T): void; } interface AsyncTimesCallback { (n: number, callback: AsyncMultipleResultsCallback): void; } -interface AsyncIterator { (item: T, callback: AsyncMultipleResultsCallback): void; } -interface AsyncMemoIterator { (memo: T, item: T, callback: AsyncSingleResultCallback): void; } + +interface AsyncIterator { (item: T, callback: AsyncSingleResultCallback): void; } +interface AsyncMemoIterator { (memo: R, item: T, callback: AsyncSingleResultCallback): void; } + interface AsyncWorker { (task: T, callback: Function): void; } interface AsyncQueue { @@ -22,31 +24,31 @@ interface AsyncQueue { interface Async { // Collections - 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); + 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?: AsyncMultipleResultsCallback): void; @@ -78,5 +80,5 @@ interface Async { declare var async: Async; declare module "async" { - export = async; + export = async; }