[](https://www.npmjs.com/package/eventemitter-bus) [](https://travis-ci.org/zewish/eventemit
npm install eventemitter-bus


A simple node.js Enterprise Software Bus (ESB) implementation using EventEmitter.
Installation
------------
```
$ npm install eventemitter-bus --save
Development
-----------
``
$ npm install
$ npm test
API
---
`
// Default instance
let bus = require('eventemitter-bus');
// Or an instance managed by you
let bus = new require('eventemitter-bus').Bus();
`
bus.provide('calculator', {
sub: function(a, b) {
bus.emit('calculator.sub', {
a: a
, b: b
, result: a - b
});
}
})
`$3
`
bus.replace('calculator', {
add: function(a, b) {
bus.emit('calculator.add', {
a: a
, b: b
, result: a + b
})
}
});
`$3
`
bus.on('calculator.sub', (res) => {
console.log('calculator.sub =>', res);
});
`$3
`
bus.run('calculator.sub', 10, 5);
`$3
`
// alias to bus.run()
bus.fn.run('calculator.sub', 10, 5);
`$3
`
bus.fn.provide('calculator', function add(a, b) {
bus.emit('calculator.add', {
a: a
, b: b
, result: a + b
});
});
`$3
`
bus.fn.replace('calculator', function sub(a, b) {
bus.emit('calculator.sub', {
a: a
, b: b
, result: a - b
});
});
``