aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/read.js25
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);
+ }
+ });
+};