UNPKG

@naturalcycles/nodejs-lib

Version:
22 lines (18 loc) 717 B
import { Mapper } from '@naturalcycles/js-lib' import { _pipeline } from './pipeline/pipeline' import { ReadableTyped } from './stream.model' import { transformMap, TransformMapOptions } from './transform/transformMap' import { writablePushToArray } from './writable/writablePushToArray' /** * Map stream items to array of results (in memory). * Warning! All results are stored in memory (no backpressure). */ export async function streamMapToArray<IN, OUT = IN>( stream: ReadableTyped<IN>, mapper: Mapper<IN, OUT> = item => item as any, opt?: TransformMapOptions, ): Promise<OUT[]> { const res: OUT[] = [] await _pipeline([stream, transformMap(mapper, opt), writablePushToArray(res)]) return res }