aboutsummaryrefslogtreecommitdiffstats
path: root/lib/read.js
blob: dfd70e75ac53fa10c363ca22d5f61bef0a3ecd29 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
    }
  });
};