UNPKG

@mundoit-lib/plugin-vue-event

Version:

Vue 3 plugin to handle global events between components, inspired by vue-events. This plugin provides a simple and efficient event bus system, allowing to emit, listen and unregister events in an intuitive way. Compatible with Vue 2 and Vue 3.

41 lines (35 loc) 982 B
'use strict'; var mitt = require('mitt'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var mitt__default = /*#__PURE__*/_interopDefault(mitt); // src/eventBus.ts var eventBus = mitt__default.default(); var useEventBus = () => { return { emit(event, ...args) { eventBus.emit(event, args); }, on(event, callback) { const listener = (args) => callback(...args); eventBus.on(event, listener); return listener; }, fire(event, ...args) { eventBus.emit(event, args); }, off(event, listener) { eventBus.off(event, listener); }, once(event, callback) { const listener = (args) => callback(...args); const wrappedListener = (args) => { listener(args); eventBus.off(event, wrappedListener); }; eventBus.on(event, wrappedListener); return wrappedListener; } }; }; exports.eventBus = eventBus; exports.useEventBus = useEventBus;