minesweeper/backend/events.ts

16 lines
384 B
TypeScript

import type { Events } from "../shared/events";
const listeners = new Set<(event: Events) => void>();
export const on = (listener: (event: Events) => void) => {
listeners.add(listener);
};
export const off = (listener: (event: Events) => void) => {
listeners.delete(listener);
};
export const emit = (event: Events) => {
listeners.forEach((listener) => listener(event));
};