UNPKG

@shuzhong/vue-event-bus

Version:
1 lines 2.5 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VueEventBus=t():e.VueEventBus=t()}(window,function(){return function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,n){"use strict";n.r(t),t.default=function(e,t){var n=void 0===t?{}:t,r=n.events,o=void 0===r?[]:r,u=n.strict,i=void 0!==u&&u;if(Number(e.version.split(".")[0])<2)throw new Error("[vue-event-bus] only support vue 2+ ");var s={},f={},a=function(e){if(i)for(var t=0,n=e;t<n.length;t++){var r=n[t];if(-1===o.indexOf(r))throw new Error("Wrong event "+r+" in strict mode")}},c=function(e,t,n){void 0===n&&(n=!1),"string"==typeof e&&(e=[e]),a(e);var r=this._uid;f[r]||(f[r]={});for(var o=0,u=e;o<u.length;o++){var i=u[o];s[i]||(s[i]=[]),f[r][i]||(f[r][i]=[]),s[i].push({evFunc:t,once:n,self:this}),f[r][i].push(t)}},l=function(e,t){"string"==typeof e&&(e=[e]),a(e);for(var n=0,r=e;n<r.length;n++){var o=r[n];s[o]&&t?s[o]=s[o].filter(function(e){return e.evFunc!==t}):s[o]=[]}};e.mixin({methods:{$busOn:function(e,t){c.call(this,e,t,!1)},$busOnce:function(e,t){c.call(this,e,t,!0)},$busOff:l,$busFire:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];"string"==typeof e&&(e=[e]),a(e);for(var r=0,o=e;r<o.length;r++){var u=o[r];if(s[u]){var i=s[u].slice(0);s[u]=s[u].filter(function(e){return!e.once});for(var f=0,c=i;f<c.length;f++){var l=c[f];l.evFunc&&l.evFunc.apply(l.self,t)}}}}},beforeDestroy:function(){var e=this._uid;if(f[e]){for(var t in f[e])for(var n=0,r=f[e][t];n<r.length;n++){var o=r[n];l(t,o)}f[e]={}}}})}}])});