Skip to content

Instantly share code, notes, and snippets.

@andreasvirkus
Created December 4, 2024 12:33
Show Gist options
  • Save andreasvirkus/12195dbb089a527b8b7ce679fc0722e1 to your computer and use it in GitHub Desktop.
Save andreasvirkus/12195dbb089a527b8b7ce679fc0722e1 to your computer and use it in GitHub Desktop.
export const EventBus = {
$on (eventType, callback) {
document.addEventListener(eventType, (ev) => callback(ev.detail))
},
$dispatch (eventType, data) {
const event = new CustomEvent(eventType, { detail: data })
document.dispatchEvent(event)
},
$off (eventType, callback) {
document.removeEventListener(eventType, callback)
}
}
// usage
EventBus.$dispatch('user.connect', { some: 'data' })
// consumption
EventBus.$on('user.connect', (data) => console.log(data))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment