1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | interface ErrorCallback { (err?: Error): void; }
|
7 | interface AsyncResultsCallback<T> { (err: Error, results: T[]): void; }
|
8 | interface AsyncResultCallback<T> { (err: Error, result: T): void; }
|
9 | interface AsyncTimesCallback<T> { (n: number, callback: AsyncResultsCallback<T>): void; }
|
10 |
|
11 | interface AsyncIterator<T> { (item: T, callback: ErrorCallback): void; }
|
12 | interface AsyncResultIterator<T, R> { (item: T, callback: AsyncResultCallback<R>): void; }
|
13 | interface AsyncMemoIterator<T, R> { (memo: R, item: T, callback: AsyncResultCallback<R>): void; }
|
14 |
|
15 | interface AsyncWorker<T> { (task: T, callback: Function): void; }
|
16 |
|
17 | interface AsyncQueue<T> {
|
18 | length(): number;
|
19 | concurrency: number;
|
20 | started: boolean;
|
21 | paused: boolean;
|
22 | push(task: T, callback?: AsyncResultsCallback<T>): void;
|
23 | push(task: T[], callback?: AsyncResultsCallback<T>): void;
|
24 | unshift(task: T, callback?: AsyncResultsCallback<T>): void;
|
25 | unshift(task: T[], callback?: AsyncResultsCallback<T>): void;
|
26 | saturated: () => any;
|
27 | empty: () => any;
|
28 | drain: () => any;
|
29 | running(): number;
|
30 | idle(): boolean;
|
31 | pause(): void;
|
32 | resume(): void;
|
33 | kill(): void;
|
34 | }
|
35 |
|
36 | interface AsyncPriorityQueue<T> {
|
37 | length(): number;
|
38 | concurrency: number;
|
39 | started: boolean;
|
40 | paused: boolean;
|
41 | push(task: T, priority: number, callback?: AsyncResultsCallback<T>): void;
|
42 | push(task: T[], priority: number, callback?: AsyncResultsCallback<T>): void;
|
43 | saturated: () => any;
|
44 | empty: () => any;
|
45 | drain: () => any;
|
46 | running(): number;
|
47 | idle(): boolean;
|
48 | pause(): void;
|
49 | resume(): void;
|
50 | kill(): void;
|
51 | }
|
52 |
|
53 | interface Async {
|
54 |
|
55 |
|
56 | each<T>(arr: T[], iterator: AsyncIterator<T>, callback: ErrorCallback): void;
|
57 | eachSeries<T>(arr: T[], iterator: AsyncIterator<T>, callback: ErrorCallback): void;
|
58 | eachLimit<T>(arr: T[], limit: number, iterator: AsyncIterator<T>, callback: ErrorCallback): void;
|
59 | map<T, R>(arr: T[], iterator: AsyncResultIterator<T, R>, callback: AsyncResultsCallback<R>): any;
|
60 | mapSeries<T, R>(arr: T[], iterator: AsyncResultIterator<T, R>, callback: AsyncResultsCallback<R>): any;
|
61 | mapLimit<T, R>(arr: T[], limit: number, iterator: AsyncResultIterator<T, R>, callback: AsyncResultsCallback<R>): any;
|
62 | filter<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (results: T[]) => any): any;
|
63 | select<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (results: T[]) => any): any;
|
64 | filterSeries<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (results: T[]) => any): any;
|
65 | selectSeries<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (results: T[]) => any): any;
|
66 | reject<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (results: T[]) => any): any;
|
67 | rejectSeries<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (results: T[]) => any): any;
|
68 | reduce<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
|
69 | inject<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
|
70 | foldl<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
|
71 | reduceRight<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
|
72 | foldr<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
|
73 | detect<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: AsyncResultsCallback<T>): any;
|
74 | detectSeries<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: AsyncResultsCallback<T>): any;
|
75 | sortBy<T, V>(arr: T[], iterator: AsyncResultIterator<T, V>, callback: AsyncResultsCallback<T>): any;
|
76 | some<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: AsyncResultsCallback<T>): any;
|
77 | any<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: AsyncResultsCallback<T>): any;
|
78 | every<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (result: boolean) => any): any;
|
79 | all<T>(arr: T[], iterator: AsyncResultIterator<T, boolean>, callback: (result: boolean) => any): any;
|
80 | concat<T, R>(arr: T[], iterator: AsyncResultIterator<T, R[]>, callback: AsyncResultsCallback<R>): any;
|
81 | concatSeries<T, R>(arr: T[], iterator: AsyncResultIterator<T, R[]>, callback: AsyncResultsCallback<R>): any;
|
82 |
|
83 | // Control Flow
|
84 | series<T>(tasks: T[], callback?: AsyncResultsCallback<T>): void;
|
85 | series<T>(tasks: T, callback?: AsyncResultsCallback<T>): void;
|
86 | parallel<T>(tasks: T[], callback?: AsyncResultsCallback<T>): void;
|
87 | parallel<T>(tasks: T, callback?: AsyncResultsCallback<T>): void;
|
88 | parallelLimit<T>(tasks: T[], limit: number, callback?: AsyncResultsCallback<T>): void;
|
89 | parallelLimit<T>(tasks: T, limit: number, callback?: AsyncResultsCallback<T>): void;
|
90 | whilst(test: Function, fn: Function, callback: Function): void;
|
91 | until(test: Function, fn: Function, callback: Function): void;
|
92 | waterfall<T>(tasks: T[], callback?: AsyncResultsCallback<T>): void;
|
93 | waterfall<T>(tasks: T, callback?: AsyncResultsCallback<T>): void;
|
94 | queue<T>(worker: AsyncWorker<T>, concurrency: number): AsyncQueue<T>;
|
95 | priorityQueue<T>(worker: AsyncWorker<T>, concurrency: number): AsyncPriorityQueue<T>;
|
96 | // auto(tasks: any[], callback?: AsyncResultsCallback<T>): void;
|
97 | auto(tasks: any, callback?: AsyncResultsCallback<any>): void;
|
98 | iterator(tasks: Function[]): Function;
|
99 | apply(fn: Function, ...arguments: any[]): void;
|
100 | nextTick<T>(callback: Function): void;
|
101 |
|
102 | times<T> (n: number, callback: AsyncTimesCallback<T>): void;
|
103 | timesSeries<T> (n: number, callback: AsyncTimesCallback<T>): void;
|
104 |
|
105 | // Utils
|
106 | memoize(fn: Function, hasher?: Function): Function;
|
107 | unmemoize(fn: Function): Function;
|
108 | log(fn: Function, ...arguments: any[]): void;
|
109 | dir(fn: Function, ...arguments: any[]): void;
|
110 | noConflict(): Async;
|
111 | }
|
112 |
|
113 | declare var async: Async;
|
114 |
|
115 | declare module "async" {
|
116 | export = async;
|
117 | }
|
118 |
|
\ | No newline at end of file |