@vegajs/event-bus
Version:
A flexible and typed Event Bus implementation for TypeScript and JavaScript projects. It facilitates communication between components and modules without tight coupling.
1 lines • 723 B
JavaScript
;var e,t=Object.defineProperty,s=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,n={};((e,s)=>{for(var r in s)t(e,r,{get:s[r],enumerable:!0})})(n,{EventBus:()=>o}),module.exports=(e=n,((e,n,o,l)=>{if(n&&"object"===typeof n||"function"===typeof n)for(let f of r(n))i.call(e,f)||f===o||t(e,f,{get:()=>n[f],enumerable:!(l=s(n,f))||l.enumerable});return e})(t({},"__esModule",{value:!0}),e));class o{constructor(){this.listeners={}}on(e,t){this.listeners[e]||=[],this.listeners[e].push(t)}off(e,t){this.listeners[e]&&(this.listeners[e]=this.listeners[e].filter((e=>e!==t)))}emit(e,t){this.listeners[e]&&this.listeners[e].forEach((e=>e(t)))}offAll(){this.listeners={}}}