wallet-core/node_modules/last-line-stream/index.js
2017-05-28 00:40:43 +02:00

25 lines
539 B
JavaScript

'use strict';
var through2 = require('through2');
var StringDecoder = require('string_decoder').StringDecoder;
var createTracker = require('./tracker');
module.exports = function (pipeDestination) {
var decoder = new StringDecoder();
var tracker = createTracker();
var stream = through2(function (chunk, enc, cb) {
tracker.update(decoder.write(chunk));
cb(null, chunk);
});
Object.defineProperty(stream, 'lastLine', {
get: tracker.lastLine
});
if (pipeDestination) {
stream.pipe(pipeDestination);
}
return stream;
};