UNPKG

@naturalcycles/nodejs-lib

Version:
29 lines (28 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ndjsonStreamForEach = void 0; const fs = require("fs"); const zlib_1 = require("zlib"); const js_lib_1 = require("@naturalcycles/js-lib"); const __1 = require("../.."); /** * Convenience function to `forEach` through an ndjson file. */ async function ndjsonStreamForEach(mapper, opt) { (0, __1.requireFileToExist)(opt.inputFilePath); const transformUnzip = opt.inputFilePath.endsWith('.gz') ? [(0, zlib_1.createUnzip)()] : []; await (0, __1._pipeline)([ fs.createReadStream(opt.inputFilePath), ...transformUnzip, (0, __1.transformSplit)(), (0, __1.transformJsonParse)(), (0, __1.transformMap)(mapper, { errorMode: js_lib_1.ErrorMode.THROW_AGGREGATED, ...opt, predicate: () => true, // to log progress properly }), (0, __1.transformLogProgress)(opt), (0, __1.writableVoid)(), ]); } exports.ndjsonStreamForEach = ndjsonStreamForEach;