README
event emitter demux
Create a demuxed event bus from an event list.
install
$ npm install event-emitter-demux
example
var test = require('tape')
var Bus = require('../')
test('create event bus with one event', function (t) {
t.plan(1)
var bus = Bus('test')
bus.on.test(function (ev) {
t.equal(ev, 'my event', 'should emit events by type')
})
bus.write.test('my event')
})
test('create event bus from array', function (t) {
t.plan(2)
var evs = ['test', 'testTwo']
var bus = Bus(evs)
bus.on.test(function (ev) {
t.equal(ev, 'event1', 'should emit event')
})
bus.on.testTwo(function (ev) {
t.equal(ev, 'event2', 'should emit event')
})
bus.write.test('event1')
bus.write.testTwo('event2')
})
test('recursive nested events', function (t) {
t.plan(3)
var evs = [
'one',
['two', ['twoA', 'twoB']]
]
var bus = Bus(evs)
bus.on.one(function (ev) {
t.equal(ev, 'eventOne', 'should emit event on top level')
})
bus.on.two.twoA(function (ev) {
t.equal(ev, 'eventTwoA', 'should create nested emitter')
})
bus.on.two.twoB(function (ev) {
t.equal(ev, 'eventTwoB', 'should create nested emitter')
})
bus.write.one('eventOne')
bus.write.two.twoA('eventTwoA')
bus.write.two.twoB('eventTwoB')
})