super-event-emitter
Version:
🔨 Lightweight and simple interpretation of popular event management
2 lines • 1.64 kB
JavaScript
/*! For license information please see main.js.LICENSE.txt */
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.SuperEventEmitter=e():t.SuperEventEmitter=e()}(this,(()=>(()=>{"use strict";var t={};return(()=>{var e=t;function i(t,e){if(!t)throw new Error(e)}function n(t){return"string"==typeof t}function s(t){return"function"==typeof t}function r(t,e,r,o,h){i(n(e),`SuperEventEmitter#${t}: name is not a string`),i(s(r),`SuperEventEmitter#${t}: fn is not a function`),h=h||this,this._listeners.push({name:e,fn:r,run:o,ctx:h})}Object.defineProperty(e,"__esModule",{value:!0}),e.SuperEventEmitter=void 0;class o{constructor(){this._listeners=[],this.on=(t,e,i=this)=>(r.call(this,"on",t,e,e,i),this),this.addEventListener=this.on,this.addListener=this.on,this.bind=this.on,this.once=(t,e,i=this)=>{const n=this;return r.call(this,"once",t,e,(function(t,s){e.call(i,t,s),n.off(t,e)}),i),this},this.off=(t,e)=>(this._listeners=t?this._listeners.filter((function(i){return i.name!==t||!!s(e)&&i.fn!==e})):[],this),this.removeEventListener=this.off,this.removeListener=this.off,this.unbind=this.off,this.emit=(t,e)=>(i(n(t),"SuperEventEmitter#emit: name is not a string"),this._listeners.forEach((function(i){i.name===t&&i.run.call(i.ctx,e),/^all|\*$/.test(i.name)&&i.run.call(i.ctx,t,e)})),this),this.dispatchEventListener=this.emit,this.dispatchListener=this.emit,this.trigger=this.emit}}e.SuperEventEmitter=o,o.mixin=function(t){const e=new o;for(let i in e){const n=e[i];t[i]=n}return t},o.VERSION="5.0.3"})(),t})()));