UNPKG

mmi-js

Version:

Multi-Modal Input Library for voice, gesture, and traditional inputs.

24 lines (19 loc) 493 B
class EventBus { constructor() { this.listeners = {}; } on(event, callback) { if (!this.listeners[event]) this.listeners[event] = []; this.listeners[event].push(callback); } off(event, callback) { if (!this.listeners[event]) return; this.listeners[event] = this.listeners[event].filter(cb => cb !== callback); } emit(event, data) { if (this.listeners[event]) { this.listeners[event].forEach(cb => cb(data)); } } } export default EventBus;