const Through = require('through2') const ObjectMultiplex = require('./obj-multiplex') module.exports = { jsonParseStream: jsonParseStream, jsonStringifyStream: jsonStringifyStream, setupMultiplex: setupMultiplex, } function jsonParseStream(){ return Through.obj(function(serialized, encoding, cb){ this.push(JSON.parse(serialized)) cb() }) } function jsonStringifyStream(){ return Through.obj(function(obj, encoding, cb){ this.push(JSON.stringify(obj)) cb() }) } function setupMultiplex(connectionStream){ var mx = ObjectMultiplex() connectionStream.pipe(mx).pipe(connectionStream) mx.on('error', function(err) { console.error(err) }) connectionStream.on('error', function(err) { console.error(err) mx.destroy() }) return mx }