index.d.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. // Generated by typings
  2. // Source: https://raw.githubusercontent.com/types/npm-async/ff63908a70ec51b775d9a6b8afac9945b12fbe08/2/index.d.ts
  3. declare module 'async' {
  4. // Type definitions for Async 2.0.1
  5. // Project: https://github.com/caolan/async
  6. // Definitions by: Boris Yankov <https://github.com/borisyankov/>, Arseniy Maximov <https://github.com/kern0>, Joe Herman <https://github.com/Penryn>
  7. // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
  8. interface Dictionary<T> { [key: string]: T; }
  9. interface ErrorCallback { (err?: Error): void; }
  10. interface AsyncResultCallback<T> { (err: Error, result: T): void; }
  11. interface AsyncResultArrayCallback<T> { (err: Error, results: T[]): void; }
  12. interface AsyncResultObjectCallback<T> { (err: Error, results: Dictionary<T>): void; }
  13. interface AsyncFunction<T> { (callback: (err?: Error, result?: T) => void): void; }
  14. interface AsyncIterator<T> { (item: T, callback: ErrorCallback): void; }
  15. interface AsyncForEachOfIterator<T> { (item: T, key: number|string, callback: ErrorCallback): void; }
  16. interface AsyncResultIterator<T, R> { (item: T, callback: AsyncResultCallback<R>): void; }
  17. interface AsyncMemoIterator<T, R> { (memo: R, item: T, callback: AsyncResultCallback<R>): void; }
  18. interface AsyncBooleanIterator<T> { (item: T, callback: (err: string, truthValue: boolean) => void): void; }
  19. interface AsyncWorker<T> { (task: T, callback: ErrorCallback): void; }
  20. interface AsyncVoidFunction { (callback: ErrorCallback): void; }
  21. interface AsyncQueue<T> {
  22. length(): number;
  23. started: boolean;
  24. running(): number;
  25. idle(): boolean;
  26. concurrency: number;
  27. push(task: T, callback?: ErrorCallback): void;
  28. push(task: T[], callback?: ErrorCallback): void;
  29. unshift(task: T, callback?: ErrorCallback): void;
  30. unshift(task: T[], callback?: ErrorCallback): void;
  31. saturated: () => any;
  32. empty: () => any;
  33. drain: () => any;
  34. paused: boolean;
  35. pause(): void
  36. resume(): void;
  37. kill(): void;
  38. workersList(): {
  39. data: T,
  40. callback: Function
  41. }[];
  42. error(error: Error, data: any): void;
  43. unsaturated(): void;
  44. buffer: number;
  45. }
  46. interface AsyncPriorityQueue<T> {
  47. length(): number;
  48. concurrency: number;
  49. started: boolean;
  50. paused: boolean;
  51. push(task: T, priority: number, callback?: AsyncResultArrayCallback<T>): void;
  52. push(task: T[], priority: number, callback?: AsyncResultArrayCallback<T>): void;
  53. saturated: () => any;
  54. empty: () => any;
  55. drain: () => any;
  56. running(): number;
  57. idle(): boolean;
  58. pause(): void;
  59. resume(): void;
  60. kill(): void;
  61. workersList(): {
  62. data: T,
  63. priority: number,
  64. callback: Function
  65. }[];
  66. error(error: Error, data: any): void;
  67. unsaturated(): void;
  68. buffer: number;
  69. }
  70. interface AsyncCargo {
  71. length(): number;
  72. payload: number;
  73. push(task: any, callback? : Function): void;
  74. push(task: any[], callback? : Function): void;
  75. saturated(): void;
  76. empty(): void;
  77. drain(): void;
  78. idle(): boolean;
  79. pause(): void;
  80. resume(): void;
  81. kill(): void;
  82. }
  83. interface Async {
  84. // Collections
  85. each<T>(arr: T[], iterator: AsyncIterator<T>, callback?: ErrorCallback): void;
  86. eachSeries<T>(arr: T[], iterator: AsyncIterator<T>, callback?: ErrorCallback): void;
  87. eachLimit<T>(arr: T[], limit: number, iterator: AsyncIterator<T>, callback?: ErrorCallback): void;
  88. forEachOf(obj: any, iterator: (item: any, key: string|number, callback?: ErrorCallback) => void, callback: ErrorCallback): void;
  89. forEachOf<T>(obj: T[], iterator: AsyncForEachOfIterator<T>, callback?: ErrorCallback): void;
  90. forEachOfSeries(obj: any, iterator: (item: any, key: string|number, callback?: ErrorCallback) => void, callback: ErrorCallback): void;
  91. forEachOfSeries<T>(obj: T[], iterator: AsyncForEachOfIterator<T>, callback?: ErrorCallback): void;
  92. forEachOfLimit(obj: any, limit: number, iterator: (item: any, key: string|number, callback?: ErrorCallback) => void, callback: ErrorCallback): void;
  93. forEachOfLimit<T>(obj: T[], limit: number, iterator: AsyncForEachOfIterator<T>, callback?: ErrorCallback): void;
  94. map<T, R>(arr: T[], iterator: AsyncResultIterator<T, R>, callback?: AsyncResultArrayCallback<R>): any;
  95. mapSeries<T, R>(arr: T[], iterator: AsyncResultIterator<T, R>, callback?: AsyncResultArrayCallback<R>): any;
  96. mapLimit<T, R>(arr: T[], limit: number, iterator: AsyncResultIterator<T, R>, callback?: AsyncResultArrayCallback<R>): any;
  97. mapValuesLimit<T, R>(obj: {[name: string]: T}, limit: number, iteratee: (value: string, key: T, callback: AsyncResultCallback<R>) => void, callback: AsyncResultCallback<R[]>): void;
  98. mapValues<T, R>(obj: {[name: string]: T}, iteratee: (value: string, key: T, callback: AsyncResultCallback<R>) => void, callback: AsyncResultCallback<R[]>): void;
  99. mapValuesSeries: typeof async.mapValues;
  100. filter<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  101. select<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  102. filterSeries<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  103. selectSeries<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  104. filterLimit<T>(arr: T[], limit: number, iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  105. selectLimit<T>(arr: T[], limit: number, iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  106. reject<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  107. rejectSeries<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  108. rejectLimit<T>(arr: T[], limit: number, iterator: AsyncBooleanIterator<T>, callback?: AsyncResultArrayCallback<T>): any;
  109. reduce<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback?: AsyncResultCallback<R>): any;
  110. inject<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback?: AsyncResultCallback<R>): any;
  111. foldl<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback?: AsyncResultCallback<R>): any;
  112. reduceRight<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
  113. foldr<T, R>(arr: T[], memo: R, iterator: AsyncMemoIterator<T, R>, callback: AsyncResultCallback<R>): any;
  114. detect<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultCallback<T>): any;
  115. find: typeof async.detect;
  116. detectSeries<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: AsyncResultCallback<T>): any;
  117. findSeries: typeof async.detectSeries;
  118. detectLimit<T>(arr: T[], limit: number, iterator: AsyncBooleanIterator<T>, callback?: AsyncResultCallback<T>): any;
  119. findLimit: typeof async.detectLimit;
  120. sortBy<T, V>(arr: T[], iterator: AsyncResultIterator<T, V>, callback?: AsyncResultArrayCallback<T>): any;
  121. some<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => void): any;
  122. someLimit<T>(arr: T[], limit: number, iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => void): any;
  123. anyLimit: typeof async.someLimit;
  124. someSeries<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => void): any;
  125. anySeries: typeof async.someSeries;
  126. any<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => void): any;
  127. every<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => any): any;
  128. everyLimit<T>(arr: T[], limit: number, iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => any): any;
  129. all<T>(arr: T[], iterator: AsyncBooleanIterator<T>, callback?: (result: boolean) => any): any;
  130. concat<T, R>(arr: T[], iterator: AsyncResultIterator<T, R[]>, callback?: AsyncResultArrayCallback<R>): any;
  131. concatSeries<T, R>(arr: T[], iterator: AsyncResultIterator<T, R[]>, callback?: AsyncResultArrayCallback<R>): any;
  132. // Control Flow
  133. series<T>(tasks: AsyncFunction<T>[], callback?: AsyncResultArrayCallback<T>): void;
  134. series<T>(tasks: Dictionary<AsyncFunction<T>>, callback?: AsyncResultObjectCallback<T>): void;
  135. parallel<T>(tasks: Array<AsyncFunction<T>>, callback?: AsyncResultArrayCallback<T>): void;
  136. parallel<T>(tasks: Dictionary<AsyncFunction<T>>, callback?: AsyncResultObjectCallback<T>): void;
  137. parallelLimit<T>(tasks: Array<AsyncFunction<T>>, limit: number, callback?: AsyncResultArrayCallback<T>): void;
  138. parallelLimit<T>(tasks: Dictionary<AsyncFunction<T>>, limit: number, callback?: AsyncResultObjectCallback<T>): void;
  139. whilst(test: () => boolean, fn: AsyncVoidFunction, callback: (err: any) => void): void;
  140. doWhilst(fn: AsyncVoidFunction, test: () => boolean, callback: (err: any) => void): void;
  141. until(test: () => boolean, fn: AsyncVoidFunction, callback: (err: any) => void): void;
  142. doUntil(fn: AsyncVoidFunction, test: () => boolean, callback: (err: any) => void): void;
  143. during(test: (testCallback : (error: Error, truth: boolean) => void) => void, fn: AsyncVoidFunction, callback: (err: any) => void): void;
  144. doDuring(fn: AsyncVoidFunction, test: (testCallback: (error: Error, truth: boolean) => void) => void, callback: (err: any) => void): void;
  145. forever(next: (errCallback : (err: Error) => void) => void, errBack: (err: Error) => void) : void;
  146. waterfall(tasks: Function[], callback?: (err: Error, results?: any) => void): void;
  147. compose(...fns: Function[]): Function;
  148. seq(...fns: Function[]): Function;
  149. applyEach(fns: Function[], argsAndCallback: any[]): void; // applyEach(fns, args..., callback). TS does not support ... for a middle argument. Callback is optional.
  150. applyEachSeries(fns: Function[], argsAndCallback: any[]): void; // applyEachSeries(fns, args..., callback). TS does not support ... for a middle argument. Callback is optional.
  151. queue<T>(worker: AsyncWorker<T>, concurrency?: number): AsyncQueue<T>;
  152. priorityQueue<T>(worker: AsyncWorker<T>, concurrency: number): AsyncPriorityQueue<T>;
  153. cargo(worker : (tasks: any[], callback : ErrorCallback) => void, payload? : number) : AsyncCargo;
  154. auto(tasks: any, concurrency?: number, callback?: (error: Error, results: any) => void): void;
  155. autoInject(tasks: any, callback?: (error: Error, results: any) => void): void;
  156. retry<T>(opts: number, task: (callback : AsyncResultCallback<T>, results: any) => void, callback: (error: Error, results: any) => void): void;
  157. retry<T>(opts: { times: number, interval: number|((retryCount: number) => number) }, task: (callback: AsyncResultCallback<T>, results : any) => void, callback: (error: Error, results: any) => void): void;
  158. retryable<T>(opts: number | {times: number, interval: number}, task: AsyncFunction<T>): AsyncFunction<T>;
  159. apply(fn: Function, ...args: any[]): AsyncFunction<any>;
  160. nextTick(callback: Function, ...args: any[]): void;
  161. setImmediate: typeof async.nextTick;
  162. allLimit<T>(arr: T[], limit: number, iteratee: AsyncBooleanIterator<T>, cb?: (result: boolean) => any) : any;
  163. everySeries<T>(arr: T[], iteratee: AsyncBooleanIterator<T>, cb?: (result: boolean) => any) : any
  164. allSeries: typeof async.everySeries;
  165. reflect<T>(fn: AsyncFunction<T>) : (callback: (err: void, result: {error?: Error, value?: T}) => void) => void;
  166. reflectAll<T>(tasks: AsyncFunction<T>[]): ((callback: (err: void, result: {error?: Error, value?: T}) => void) => void)[];
  167. timeout<T>(fn: AsyncFunction<T>, milliseconds: number, info: any): AsyncFunction<T>;
  168. times<T> (n: number, iterator: AsyncResultIterator<number, T>, callback: AsyncResultArrayCallback<T>): void;
  169. timesSeries<T>(n: number, iterator: AsyncResultIterator<number, T>, callback: AsyncResultArrayCallback<T>): void;
  170. timesLimit<T>(n: number, limit: number, iterator: AsyncResultIterator<number, T>, callback: AsyncResultArrayCallback<T>): void;
  171. transform<T, R>(arr: T[], iteratee: (acc: R[], item: T, key: string, callback: (error?: Error) => void) => void): void;
  172. transform<T, R>(arr: T[], acc: R[], iteratee: (acc: R[], item: T, key: string, callback: (error?: Error) => void) => void): void;
  173. transform<T, R>(arr: {[key: string] : T}, iteratee: (acc: {[key: string] : R}, item: T, key: string, callback: (error?: Error) => void) => void): void;
  174. transform<T, R>(arr: {[key: string] : T}, acc: {[key: string] : R}, iteratee: (acc: {[key: string] : R}, item: T, key: string, callback: (error?: Error) => void) => void): void;
  175. race<T>(tasks: (AsyncFunction<T>)[], callback: AsyncResultCallback<T>) : void;
  176. // Utils
  177. memoize(fn: Function, hasher?: Function): Function;
  178. unmemoize(fn: Function): Function;
  179. ensureAsync(fn: (... argsAndCallback: any[]) => void): Function;
  180. constant(...values: any[]): Function;
  181. asyncify(fn: Function): Function;
  182. wrapSync(fn: Function): Function;
  183. log(fn: Function, ...args: any[]): void;
  184. dir(fn: Function, ...args: any[]): void;
  185. }
  186. var async: Async;
  187. export = async;
  188. }