UNPKG

signal-channel

Version:

A signal channel that empowers webrtc

41 lines (32 loc) 872 B
/* we need to be able to stream the state of the model to disk, and then call doc.dispose() and end the stream. */ var EE = require('../events') var assert = require('assert') var es = require('event-stream') var mac = require('macgyver')() process.on('exit', mac.validate) var emitter = new EE() var ended = false var fs = require('fs') var s = emitter.createReadStream({tail: true}) s.on('readable', function () { console.log('READABLE') }) // s.pipe(fs.createWriteStream('/tmp/dispose-test')) s.pipe(es.writeArray(function (err, ary) { console.log(ary) ended = true })) emitter.emit('message', 'hello') emitter.emit('message', 'hello') emitter.on('dispose', function () { console.log('DISPOSE') }) process.nextTick(function () { console.log('dispose') emitter.dispose() assert(ended, 'dispose must trigger end on all streams') })