mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
// Type definitions for tiny-async-pool 1.0
|
|
// Project: https://github.com/rxaviers/async-pool#readme
|
|
// Definitions by: Karl-Philipp Wulfert <https://github.com/krlwlfrt>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
/**
|
|
* This declaration specifies that the function is the exported object from the file
|
|
*/
|
|
export = asyncPool;
|
|
|
|
/**
|
|
* Runs multiple promise-returning & async functions in a limited concurrency pool.
|
|
* It rejects immediately as soon as one of the promises rejects.
|
|
* It resolves when all the promises completes.
|
|
* It calls the iterator function as soon as possible (under concurrency limit).
|
|
*
|
|
* @param poolLimit The pool limit number (>= 1).
|
|
* @param array Input array.
|
|
* @param iteratorFn Iterator function that takes two arguments (array item and the array itself).
|
|
* The iterator function should either return a promise or be an async function.
|
|
*
|
|
* @template IN Type of the input array
|
|
* @template OUT Type of the resolves of the promises
|
|
*/
|
|
declare function asyncPool<IN, OUT>(
|
|
poolLimit: number,
|
|
array: ReadonlyArray<IN>,
|
|
iteratorFn: (generator: IN) => Promise<OUT>
|
|
): Promise<OUT[]>;
|