@types/tiny-async-pool
Version:
TypeScript definitions for tiny-async-pool
25 lines (23 loc) • 944 B
TypeScript
/**
* 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: readonly IN[],
iteratorFn: (generator: IN) => Promise<OUT>,
): AsyncIterableIterator<OUT>;