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