UNPKG

mitt-vue

Version:

Lightweight utility for integrating mitt with Vue 2 and Vue 3

2 lines (1 loc) 1.02 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue");function f(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const u=f(s);function a(e){return{all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map(function(r){r(i)}),(n=e.get("*"))&&n.slice().map(function(r){r(t,i)})}}}const o=a();function c(e,t){o.emit(e,t)}function m(e,t){return{created(){o.on(e,t.bind(this))},beforeDestroy(){o.off(e,t.bind(this))}}}function d(e,t){s.onMounted(()=>{o.on(e,t)}),s.onUnmounted(()=>{o.off(e,t)})}const l=u.version&&u.version.startsWith("3.")?d:m,v=c;exports.eventEmit=c;exports.useEventEmit=v;exports.useEventListener=l;