aboutsummaryrefslogtreecommitdiffstats
path: root/lib/read.js
blob: 9acb10564aff13cd9bf83d74386a9abcc843cb9f (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
export default (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);
    }
  });
};