var splicer = require('../'); var through = require('through2'); var JSONStream = require('JSONStream'); var split = require('split'); var headerData = {}; var headers = through.obj(function (buf, enc, next) { var line = buf.toString('utf8'); if (line === '') { this.push(headerData); pipeline.splice(1, 1, JSONStream.parse([ 'rows', true ])); } else { var m = /^(\S+):(.+)/.exec(line); var key = m && m[1].trim(); var value = m && m[2].trim(); if (m) headerData[key] = value; } next(); }); var pipeline = splicer([ split(), headers, JSONStream.stringify() ]); process.stdin.pipe(pipeline).pipe(process.stdout);