diff options
Diffstat (limited to 'lib/read.js')
| -rw-r--r-- | lib/read.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/read.js b/lib/read.js new file mode 100644 index 00000000..dfd70e75 --- /dev/null +++ b/lib/read.js @@ -0,0 +1,25 @@ +module.exports = (stream, func) => { + var remaining = ""; + + stream.on("data", function (data) { + remaining += data; + var index = remaining.indexOf("\n"); + var last = 0; + while (index > -1) { + var line = remaining.substring(last, index); + last = index + 1; + func(line); + index = remaining.indexOf("\n", last); + } + + remaining = remaining.substring(last); + }); + + stream.on("error", () => {}); + + stream.on("end", function () { + if (remaining.length > 0) { + func(remaining); + } + }); +}; |
