UNPKG

@mr-samani/event-bus

Version:

A lightweight JavaScript event bus for any framework with auto-global support

1 lines 1.48 kB
{"version":3,"sources":["../src/index.ts"],"names":["bus","name","callback","args","cb","index_default"],"mappings":"aAOA,IAAMA,CAAAA,CAAgB,CACpB,MAAA,CAAQ,EAAC,CAET,EAAA,CAAGC,CAAAA,CAAcC,CAAAA,CAA0C,CACpD,IAAA,CAAK,MAAA,CAAOD,CAAI,CAAA,GACnB,KAAK,MAAA,CAAOA,CAAI,CAAA,CAAI,EAAC,CAAA,CAEvB,IAAA,CAAK,MAAA,CAAOA,CAAI,CAAA,CAAE,IAAA,CAAKC,CAAQ,EACjC,CAAA,CAEA,GAAA,CAAID,EAAoB,CACtB,OAAO,IAAA,CAAK,MAAA,CAAOA,CAAI,EACzB,CAAA,CAEA,OAAA,CAAQA,CAAAA,CAAAA,GAAiBE,CAAAA,CAAmB,CACtC,IAAA,CAAK,MAAA,CAAOF,CAAI,CAAA,EAClB,IAAA,CAAK,MAAA,CAAOA,CAAI,CAAA,CAAE,OAAA,CAASG,CAAAA,EAAOA,CAAAA,CAAG,GAAGD,CAAI,CAAC,EAEjD,CACF,CAAA,CAEOE,CAAAA,CAAQL","file":"index.cjs","sourcesContent":["export interface EventBus {\r\n events: Record<string, Array<(...args: any[]) => void>>;\r\n on(name: string, callback: (...args: any[]) => void): void;\r\n off(name: string): void;\r\n trigger(name: string, ...args: any[]): void;\r\n}\r\n\r\nconst bus: EventBus = {\r\n events: {} as Record<string, Array<(...args: any[]) => void>>,\r\n\r\n on(name: string, callback: (...args: any[]) => void): void {\r\n if (!this.events[name]) {\r\n this.events[name] = [];\r\n }\r\n this.events[name].push(callback);\r\n },\r\n\r\n off(name: string): void {\r\n delete this.events[name];\r\n },\r\n\r\n trigger(name: string, ...args: any[]): void {\r\n if (this.events[name]) {\r\n this.events[name].forEach((cb) => cb(...args));\r\n }\r\n },\r\n};\r\n\r\nexport default bus;\r\n"]}