propagate icon indicating copy to clipboard operation
propagate copied to clipboard

Propagate events from one event emitter into another

propagate

npm Build Status Coverage

Propagate events from one event emitter into another.

Install

$ npm install propagate

Propagate

const ee1 = new EventEmitter()
const ee2 = new EventEmitter()
propagate(ee1, ee2)

ee2.on('event', function(a, b) {
  console.log('got propagated event', a, b)
})

ee1.emit('event', 'a', 'b')

Unpropagate

You can unpropagate by ending the propagation like this:

const ee1 = new EventEmitter()
const ee2 = new EventEmitter()
const p = propagate(ee1, ee2)

// ...

p.end()

Only propagate certain events:

const ee1 = new EventEmitter()
const ee2 = new EventEmitter()
const p = propagate(['event1', 'event2'], ee1, ee2)

Propagate certain events as other events:

const ee1 = new EventEmitter()
const ee2 = new EventEmitter()
const p = propagate(
  {
    event1: 'other-event1',
    event2: 'other-event2',
  },
  ee1,
  ee2
)

License

MIT