UNPKG

@mr-samani/event-bus

Version:

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

1 lines 2.12 kB
{"version":3,"sources":["../src/index.ts","../src/auto.ts"],"names":["bus","name","callback","args","cb","index_default","auto_default"],"mappings":"aAOA,IAAMA,EAAgB,CACpB,MAAA,CAAQ,EAAC,CAET,EAAA,CAAGC,EAAcC,CAAAA,CAA0C,CACpD,IAAA,CAAK,MAAA,CAAOD,CAAI,CAAA,GACnB,IAAA,CAAK,OAAOA,CAAI,CAAA,CAAI,EAAC,CAAA,CAEvB,IAAA,CAAK,MAAA,CAAOA,CAAI,EAAE,IAAA,CAAKC,CAAQ,EACjC,CAAA,CAEA,GAAA,CAAID,EAAoB,CACtB,OAAO,KAAK,MAAA,CAAOA,CAAI,EACzB,CAAA,CAEA,OAAA,CAAQA,KAAiBE,CAAAA,CAAmB,CACtC,KAAK,MAAA,CAAOF,CAAI,CAAA,EAClB,IAAA,CAAK,OAAOA,CAAI,CAAA,CAAE,QAASG,CAAAA,EAAOA,CAAAA,CAAG,GAAGD,CAAI,CAAC,EAEjD,CACF,EAEOE,CAAAA,CAAQL,CAAAA,CCzBX,OAAO,MAAA,EAAW,WAAA,EACf,OAAO,GAAA,GACT,MAAA,CAAe,GAAA,CAAM,IAEvB,MAAA,CAAe,GAAA,CAAI,MAAQK,CAAAA,EACnB,OAAO,YAAe,WAAA,GACzB,UAAA,CAAmB,MACtB,UAAA,CAAmB,GAAA,CAAM,EAAC,CAAA,CAE5B,UAAA,CAAmB,IAAI,KAAA,CAAQA,CAAAA,CAAAA,KAG3BC,CAAAA,CAAQD","file":"auto.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","import bus from './index';\r\n\r\n// Auto-attach to global\r\nif (typeof window !== 'undefined') {\r\n if (!window.app) {\r\n (window as any).app = {};\r\n }\r\n (window as any).app.event = bus;\r\n} else if (typeof globalThis !== 'undefined') {\r\n if (!(globalThis as any).app) {\r\n (globalThis as any).app = {};\r\n }\r\n (globalThis as any).app.event = bus;\r\n}\r\n\r\nexport default bus;"]}