module.exports = Stream; var Parser = require("./Parser.js"); var WritableStream = require("readable-stream").Writable; var StringDecoder = require("string_decoder").StringDecoder; var Buffer = require("buffer").Buffer; function Stream(cbs, options) { var parser = (this._parser = new Parser(cbs, options)); var decoder = (this._decoder = new StringDecoder()); WritableStream.call(this, { decodeStrings: false }); this.once("finish", function() { parser.end(decoder.end()); }); } require("inherits")(Stream, WritableStream); Stream.prototype._write = function(chunk, encoding, cb) { if (chunk instanceof Buffer) chunk = this._decoder.write(chunk); this._parser.write(chunk); cb(); };