| 1234567891011121314151617181920212223242526272829 |
- 'use strict';
- const {Transform} = require('stream');
- class JsonlStringer extends Transform {
- static make(options) {
- return new JsonlStringer(options);
- }
- constructor(options) {
- super(Object.assign({}, options, {writableObjectMode: true, readableObjectMode: false}));
- this._replacer = options && options.replacer;
- }
- _transform(chunk, _, callback) {
- this.push(JSON.stringify(chunk, this._replacer));
- this._transform = this._nextTransform;
- callback(null);
- }
- _nextTransform(chunk, _, callback) {
- this.push('\n' + JSON.stringify(chunk, this._replacer));
- callback(null);
- }
- }
- JsonlStringer.stringer = JsonlStringer.make;
- JsonlStringer.make.Constructor = JsonlStringer;
- module.exports = JsonlStringer;
|