diff --git a/async/async.d.ts b/async/async.d.ts index adf6fe11be..56370c15dc 100644 --- a/async/async.d.ts +++ b/async/async.d.ts @@ -1,16 +1,23 @@ // Type definitions for Async 0.9.2 // Project: https://github.com/caolan/async -// Definitions by: Boris Yankov +// Definitions by: Boris Yankov , Arseniy Maximov // Definitions: https://github.com/borisyankov/DefinitelyTyped interface Dictionary { [key: string]: T; } +// Common interface between Arrays and Array-like objects +interface List { + [index: number]: T; + length: number; +} + interface ErrorCallback { (err?: Error): void; } interface AsyncResultCallback { (err: Error, result: T): void; } interface AsyncResultArrayCallback { (err: Error, results: T[]): void; } interface AsyncResultObjectCallback { (err: Error, results: Dictionary): void; } interface AsyncIterator { (item: T, callback: ErrorCallback): void; } +interface AsyncForEachOfIterator { (item: T, index: number, callback: ErrorCallback): void; } interface AsyncResultIterator { (item: T, callback: AsyncResultCallback): void; } interface AsyncMemoIterator { (memo: R, item: T, callback: AsyncResultCallback): void; } @@ -61,6 +68,9 @@ interface Async { 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; + forEachOf(obj: List, iterator: AsyncForEachOfIterator, callback: ErrorCallback): void; + forEachOfSeries(obj: List, iterator: AsyncForEachOfIterator, callback: ErrorCallback): void; + forEachOfLimit(obj: List, limit: number, iterator: AsyncForEachOfIterator, callback: ErrorCallback): void; map(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): any; mapSeries(arr: T[], iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): any; mapLimit(arr: T[], limit: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): any;