blob: 5e64ad6d055bc71a4f0cadc298402347ca5b73f1 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var Stream = require("stream")
2var console = require("console")
3
4var NEW_LINE = "\n"
5
6module.exports = ConsoleStream
7
8function ConsoleStream() {
9 var stream = new Stream()
10 stream.writable = true
11 var buffered = ""
12
13 stream.write = write
14 stream.destroy = destroy
15 stream.end = end
16
17 return stream
18
19 function write(buffer) {
20 var s = buffered + String(buffer)
21 var lines = s.split(NEW_LINE)
22 for (var i = 0; i < lines.length - 1; i++) {
23 console.log(lines[i])
24 }
25
26 buffered = lines[i]
27 }
28
29 function destroy() {
30 stream.writable = false
31 stream.emit("close")
32 }
33
34 function end(buffer) {
35 if (arguments.length === 1) {
36 stream.write(buffer)
37 }
38
39 if (buffered) {
40 console.log(buffered)
41 }
42
43 stream.destroy()
44 }
45}