You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hydro/hydro/service/bus.js

16 lines
412 B
JavaScript

const EventEmitter = require('events').EventEmitter;
const bus = new EventEmitter();
module.exports = {
subscribe(events, handler) {
for (let event of events)
bus.on(event, handler);
},
unsubscribe(events, handler) {
for (let event of events)
bus.off(event, handler);
},
publish(event, data) {
bus.emit(event, { value: data, event });
}
};