1
0
Fork 0
muzika-gromche/Frontend/src/events.ts

21 lines
384 B
TypeScript

import mitt, { type Handler } from "mitt";
import { onBeforeUnmount } from "vue";
export type Events = {
scrollToTop: void;
};
export const emitter = mitt<Events>();
export function useEvent<Key extends keyof Events>(
type: Key,
handler: Handler<Events[Key]>,
) {
const { on, off } = emitter;
on(type, handler);
onBeforeUnmount(() => {
off(type, handler);
});
}