Notes2/static/js/mbus.mjs
2025-06-15 12:13:00 +02:00

17 lines
338 B
JavaScript

export class MessageBus {
constructor() {
this.bus = new EventTarget()
}
subscribe(eventName, fn) {
this.bus.addEventListener(eventName, fn)
}
unsubscribe(eventName, fn) {
this.bus.removeEventListener(eventName, fn)
}
dispatch(eventName, data) {
this.bus.dispatchEvent(new CustomEvent(eventName, { detail: data }))
}
}