You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
539 B
JavaScript

6 years ago
'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;
};