{"version":3,"sources":["../../src/eventbus/index.ts"],"sourcesContent":["export type Handler = (evt: unknown) => void;\n\nexport interface EventBusOptions {\n on(type: string, handler: Handler): void;\n off(type: string, handler: Handler): void;\n emit(type: string, evt?: unknown): void;\n clear(): void;\n}\n\nexport function EventBus(): EventBusOptions {\n const allHandlers = new Map();\n\n return {\n on(type: string, handler: Handler) {\n let handlers = allHandlers.get(type);\n\n if (!handlers) handlers = [handler];\n else handlers.push(handler);\n\n allHandlers.set(type, handlers);\n\n return this;\n },\n off(type: string, handler: Handler) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n\n return this;\n },\n emit(type: string, evt?: unknown) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.forEach((handler) => {\n handler(evt);\n });\n }\n },\n clear() {\n allHandlers.clear();\n }\n };\n}\n"],"mappings":";AASO,SAAS,WAA4B;AACxC,QAAM,cAAc,oBAAI,IAAuB;AAE/C,SAAO;AAAA,IACH,GAAG,MAAc,SAAkB;AAC/B,UAAI,WAAW,YAAY,IAAI,IAAI;AAEnC,UAAI,CAAC,SAAU,YAAW,CAAC,OAAO;AAAA,UAC7B,UAAS,KAAK,OAAO;AAE1B,kBAAY,IAAI,MAAM,QAAQ;AAE9B,aAAO;AAAA,IACX;AAAA,IACA,IAAI,MAAc,SAAkB;AAChC,YAAM,WAAW,YAAY,IAAI,IAAI;AAErC,UAAI,UAAU;AACV,iBAAS,OAAO,SAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,MACtD;AAEA,aAAO;AAAA,IACX;AAAA,IACA,KAAK,MAAc,KAAe;AAC9B,YAAM,WAAW,YAAY,IAAI,IAAI;AAErC,UAAI,UAAU;AACV,iBAAS,QAAQ,CAAC,YAAY;AAC1B,kBAAQ,GAAG;AAAA,QACf,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,IACA,QAAQ;AACJ,kBAAY,MAAM;AAAA,IACtB;AAAA,EACJ;AACJ;","names":[]}