emigrate/packages/cli/src/array-from-async.ts
Joakim Carlstein 8cc43a8f83 refactor(cli): introduce the migration-runner helper for less code duplication and fewer return paths
Thanks to the migration-runner the "up" and "list" commands are now very similar code wise
2023-12-12 15:47:37 +01:00

14 lines
359 B
TypeScript

/**
* This is a simple polyfill for [Array.fromAsync()](https://github.com/tc39/proposal-array-from-async)
*
* It converts an async iterable to an array.
*/
export const arrayFromAsync = async <T>(iterable: AsyncIterable<T>): Promise<T[]> => {
const array: T[] = [];
for await (const item of iterable) {
array.push(item);
}
return array;
};