better-emit-stream
Turn event emitters into streams and streams into event emitters.
This is a fork of the awesome emit-stream module from substack. It makes it bi-directional, so you can convert streams/emitters which you can read from OR write to.
example
write a server that streams an event emitter's events to clients:
var emitStream = ;var JSONStream = ;var net = ;var server = {var ev = ;return net;};server;var EventEmitter = EventEmitter;{var ev = ;;var x = 0;;return ev;}
then re-constitute the event-emitters on the client:
var emitStream = ;var net = ;var stream = net;var ev = ;ev;ev;
$ node example/emit.js
x = 0
x = 1
x = 2
x = 3
# ping: 1346116850523
x = 4
x = 5
^C
methods
var emitStream =
emitStream(x)
If x
is a stream, returns an event emitter from emit.toStream(x)
.
Otherwise returns a stream from emit.fromStream(x)
.
emitStream.toStream(emitter)
Return a stream from the EventEmitter emitter
.
The 'data'
emitted by this stream will be array data.
Serialization is up to you. I recommend
JSONStream
for most purposes.
emitStream.fromStream(stream)
Return an EventEmitter from stream
.
The 'data'
written to this stream should be an array, like
JSONStream creates.
install
With npm do:
npm install emit-stream
license
MIT