1234567891011121314151617181920212223242526272829303132333435 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- var node_stream = require('node:stream');
- /* eslint-disable no-underscore-dangle */
- class JSONParser extends node_stream.Transform {
- constructor(options = {}) {
- super({ readableObjectMode: true });
- this.chunks = [];
- this.globalOptions = { ...options };
- }
- _transform(chunk, encoding, callback) {
- this.chunks.push(String(chunk)); // todo consider using a string decoder
- callback();
- }
- _flush(callback) {
- try {
- const fields = JSON.parse(this.chunks.join(''));
- this.push(fields);
- } catch (e) {
- callback(e);
- return;
- }
- this.chunks = null;
- callback();
- }
- }
- exports.default = JSONParser;
|