UNPKG

@open3cl/engine

Version:

Open Source 3CL-DPE engine

21 lines (19 loc) 588 B
import { parse } from 'fast-csv'; export default class CsvParserStore { /** * @param stream {ReadStream} * @param opts {import('fast-csv').ParserOptionsArgs} * @param transform {import('fast-csv').RowTransformFunction} * @return Promise<object[]> */ parseFromStream(stream, opts, transform) { const rows = []; return new Promise((resolve, reject) => { stream .pipe(parse(opts).transform(transform)) .on('error', (error) => reject(error)) .on('data', (row) => rows.push(row)) .on('end', () => resolve(rows)); }); } }