1 var Transform = require('stream').Transform
2 var util = require('util')
8 Transform.call(this, opts)
11 util.inherits(Liner, Transform)
12 Liner.prototype._transform = function transform(chunk, encoding, done) {
13 var data = chunk.toString()
14 if (this._lastLineData) {
15 data = this._lastLineData + data
17 var lines = data.split(os.EOL)
18 this._lastLineData = lines.splice(lines.length - 1, 1)[0]
20 lines.forEach(this.push.bind(this))
24 Liner.prototype._flush = function flush(done) {
25 if (this._lastLineData) {
26 this.push(this._lastLineData)
28 this._lastLineData = null
32 module.exports = Liner