File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/formidable/src/parsers/JSON.js
/* eslint-disable no-underscore-dangle */
import { Transform } from 'node:stream';
class JSONParser extends 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();
}
}
export default JSONParser;