diff --git a/async/async-tests.ts b/async/async-tests.ts
index e7af9120a1..63640cecf6 100644
--- a/async/async-tests.ts
+++ b/async/async-tests.ts
@@ -392,13 +392,6 @@ function (results) {
]);
});
-var sys;
-var iterator = async.iterator([
- function () { sys.p('one'); },
- function () { sys.p('two'); },
- function () { sys.p('three'); }
-]);
-
async.parallel([
async.apply(fs.writeFile, 'testfile1', 'test1'),
async.apply(fs.writeFile, 'testfile2', 'test2'),
diff --git a/async/async.d.ts b/async/async.d.ts
index 6288a269a1..96da35c1ea 100644
--- a/async/async.d.ts
+++ b/async/async.d.ts
@@ -1,4 +1,4 @@
-// Type definitions for Async 1.4.2
+// Type definitions for Async 2.0.1
// Project: https://github.com/caolan/async
// Definitions by: Boris Yankov , Arseniy Maximov , Joe Herman
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -37,6 +37,13 @@ interface AsyncQueue {
pause(): void
resume(): void;
kill(): void;
+ workersList(): {
+ data: T,
+ callback: Function
+ }[];
+ error(error: Error, data: any): void;
+ unsaturated(): void;
+ buffer: number;
}
interface AsyncPriorityQueue {
@@ -54,6 +61,14 @@ interface AsyncPriorityQueue {
pause(): void;
resume(): void;
kill(): void;
+ workersList(): {
+ data: T,
+ priority: number,
+ callback: Function
+ }[];
+ error(error: Error, data: any): void;
+ unsaturated(): void;
+ buffer: number;
}
interface AsyncCargo {
@@ -85,6 +100,9 @@ interface Async {
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;
+ mapValuesLimit(obj: {[name: string]: T}, limit: number, iteratee: (value: string, key: T, callback: AsyncResultCallback) => void, callback: AsyncResultCallback): void;
+ mapValues(obj: {[name: string]: T}, iteratee: (value: string, key: T, callback: AsyncResultCallback) => void, callback: AsyncResultCallback): void;
+ mapValuesSeries: typeof async.mapValues;
filter(arr: T[], iterator: AsyncBooleanIterator, callback?: AsyncResultArrayCallback): any;
select(arr: T[], iterator: AsyncBooleanIterator, callback?: AsyncResultArrayCallback): any;
filterSeries(arr: T[], iterator: AsyncBooleanIterator, callback?: AsyncResultArrayCallback): any;
@@ -100,11 +118,17 @@ interface Async {
reduceRight(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any;
foldr(arr: T[], memo: R, iterator: AsyncMemoIterator, callback: AsyncResultCallback): any;
detect(arr: T[], iterator: AsyncBooleanIterator, callback?: AsyncResultCallback): any;
+ find: typeof async.detect;
detectSeries(arr: T[], iterator: AsyncBooleanIterator, callback?: AsyncResultCallback): any;
+ findSeries: typeof async.detectSeries;
detectLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: AsyncResultCallback): any;
+ findLimit: typeof async.detectLimit;
sortBy(arr: T[], iterator: AsyncResultIterator, callback?: AsyncResultArrayCallback): any;
some(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
someLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
+ anyLimit: typeof async.someLimit;
+ someSeries(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
+ anySeries: typeof async.someSeries;
any(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => void): any;
every(arr: T[], iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
everyLimit(arr: T[], limit: number, iterator: AsyncBooleanIterator, callback?: (result: boolean) => any): any;
@@ -134,18 +158,35 @@ interface Async {
queue(worker: AsyncWorker, concurrency?: number): AsyncQueue;
priorityQueue(worker: AsyncWorker, concurrency: number): AsyncPriorityQueue;
cargo(worker : (tasks: any[], callback : ErrorCallback) => void, payload? : number) : AsyncCargo;
- auto(tasks: any, callback?: (error: Error, results: any) => void): void;
+ auto(tasks: any, concurrency?: number, callback?: (error: Error, results: any) => void): void;
+ autoInject(tasks: any, callback?: (error: Error, results: any) => void): void;
retry(opts: number, task: (callback : AsyncResultCallback, results: any) => void, callback: (error: Error, results: any) => void): void;
retry(opts: { times: number, interval: number|((retryCount: number) => number) }, task: (callback: AsyncResultCallback, results : any) => void, callback: (error: Error, results: any) => void): void;
- iterator(tasks: Function[]): Function;
+ retryable(opts: number | {times: number, interval: number}, task: AsyncFunction): AsyncFunction;
apply(fn: Function, ...arguments: any[]): AsyncFunction;
- nextTick(callback: Function): void;
- setImmediate(callback: Function): void;
+ nextTick(callback: Function, ...args: any[]): void;
+ setImmediate: typeof async.nextTick;
+
+ allLimit(arr: T[], limit: number, iteratee: AsyncBooleanIterator, cb?: (result: boolean) => any) : any;
+ everySeries(arr: T[], iteratee: AsyncBooleanIterator, cb?: (result: boolean) => any) : any
+ allSeries: typeof async.everySeries;
+
+ reflect(fn: AsyncFunction) : (callback: (err: void, result: {error?: Error, value?: T}) => void) => void;
+ reflectAll(tasks: AsyncFunction[]): ((callback: (err: void, result: {error?: Error, value?: T}) => void) => void)[];
+
+ timeout(fn: AsyncFunction, milliseconds: number, info: any): AsyncFunction;
times (n: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): void;
timesSeries(n: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): void;
timesLimit(n: number, limit: number, iterator: AsyncResultIterator, callback: AsyncResultArrayCallback): void;
+ transform(arr: T[], iteratee: (acc: R[], item: T, key: string, callback: (error?: Error) => void) => void): void;
+ transform(arr: T[], acc: R[], iteratee: (acc: R[], item: T, key: string, callback: (error?: Error) => void) => void): void;
+ transform(arr: {[key: string] : T}, iteratee: (acc: {[key: string] : R}, item: T, key: string, callback: (error?: Error) => void) => void): void;
+ transform(arr: {[key: string] : T}, acc: {[key: string] : R}, iteratee: (acc: {[key: string] : R}, item: T, key: string, callback: (error?: Error) => void) => void): void;
+
+ race(tasks: (AsyncFunction)[], callback: AsyncResultCallback) : void;
+
// Utils
memoize(fn: Function, hasher?: Function): Function;
unmemoize(fn: Function): Function;
@@ -155,7 +196,6 @@ interface Async {
wrapSync(fn: Function): Function;
log(fn: Function, ...arguments: any[]): void;
dir(fn: Function, ...arguments: any[]): void;
- noConflict(): Async;
}
declare var async: Async;