Files
botino/public/lib/bus.js
Lucas Tettamanti 5c67b27859 base con front
2026-01-01 22:49:44 -03:00

18 lines
412 B
JavaScript

const listeners = new Map();
export function on(event, fn) {
const arr = listeners.get(event) || [];
arr.push(fn);
listeners.set(event, arr);
return () => off(event, fn);
}
export function off(event, fn) {
const arr = listeners.get(event) || [];
listeners.set(event, arr.filter(x => x !== fn));
}
export function emit(event, payload) {
(listeners.get(event) || []).forEach(fn => fn(payload));
}