UNPKG

nuxt-mitter

Version:

Nuxt-Mitter - Nuxt module for mitt library

25 lines (24 loc) 665 B
import { useNuxtApp } from "#app"; import { onMounted, onUnmounted } from "#imports"; export const useMitter = () => { const { $mitter } = useNuxtApp(); const mitter = $mitter; const emit = (event, payload) => { mitter.emit(event, payload); }; const on = (event, handler) => { mitter.on(event, handler); }; const off = (event, handler) => { mitter.off(event, handler); }; const listen = (event, handler) => { onMounted(() => on(event, handler)); onUnmounted(() => off(event, handler)); }; const clearAll = () => { mitter.all.clear(); }; const all = mitter.all; return { emit, on, off, listen, clearAll, all }; };