UNPKG

584 Btext/coffeescriptView Raw
1Stream = require("stream").Stream
2Reader = require "./reader"
3
4module.exports = class Writer extends Stream
5
6 constructor: () ->
7 super()
8 @setMaxListeners(0)
9
10 ###
11 ###
12 error: (err) ->
13 err = new Error(err) if typeof err == 'string'
14 @emit "error", err
15
16 ###
17 ###
18
19 write: (chunk, encoding = "utf8") ->
20 @emit "data", chunk, encoding
21
22 ###
23 ###
24
25 end: (chunk, encoding) ->
26 @write chunk, encoding if chunk
27 throw new Error "Cannot call end twice" if @ended
28 @ended = true
29 @emit "end"
30 @
31
32 ###
33 ###
34
35 reader: () ->
36 return new Reader @
37
38Writer::writable = true