UNPKG

info-bus

Version:

It can be used to communicate in any project.

1 lines 891 B
"use strict";var infoBus={events:{},$emit:function(e){var t=this.events[e];if(t instanceof Array){for(var n=arguments.length,i=Array(1<n?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];var s=!0,o=!1,r=void 0;try{for(var c,v=t[Symbol.iterator]();!(s=(c=v.next()).done);s=!0){var l=c.value;if(l.callback.apply(this,i),"once"===l.type){var f=t.indexOf(l);t.splice(f,1)}}}catch(e){o=!0,r=e}finally{try{!s&&v.return&&v.return()}finally{if(o)throw r}}}},$on:function(e,t){var n=this.events[e];void 0===n?(this.events[e]=[],this.events[e].push({type:"on",callback:t})):n.push({type:"on",callback:t})},$off:function(e,i){if(void 0!==i){var t=this.events[e];t instanceof Array&&t.map(function(e,t,n){e.callback===i&&n.splice(t,1)})}else this.events[e]=[]},$once:function(e,t){var n=this.events[e];void 0===n?(this.events[e]=[],this.events[e].push({type:"once",callback:t})):n.push({type:"once",callback:t})}};