{"version":3,"sources":["../../src/eventbus/index.ts"],"sourcesContent":["export interface EventBusOptions {\n on(type: string, handler: Function): void;\n off(type: string, handler: Function): void;\n emit(type: string, evt?: any): void;\n clear(): void;\n}\n\nexport function EventBus(): EventBusOptions {\n const allHandlers = new Map();\n\n return {\n on(type: string, handler: Function) {\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: Function) {\n let 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?: any) {\n let handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.slice().map((handler) => {\n handler(evt);\n });\n }\n },\n clear() {\n allHandlers.clear();\n }\n };\n}\n"],"mappings":";AAOO,SAAS,WAA4B;AACxC,QAAM,cAAc,oBAAI,IAAwB;AAEhD,SAAO;AAAA,IACH,GAAG,MAAc,SAAmB;AAChC,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,SAAmB;AACjC,UAAI,WAAW,YAAY,IAAI,IAAI;AAEnC,UAAI,UAAU;AACV,iBAAS,OAAO,SAAS,QAAQ,OAAO,MAAM,GAAG,CAAC;AAAA,MACtD;AAEA,aAAO;AAAA,IACX;AAAA,IACA,KAAK,MAAc,KAAW;AAC1B,UAAI,WAAW,YAAY,IAAI,IAAI;AAEnC,UAAI,UAAU;AACV,iBAAS,MAAM,EAAE,IAAI,CAAC,YAAY;AAC9B,kBAAQ,GAAG;AAAA,QACf,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,IACA,QAAQ;AACJ,kBAAY,MAAM;AAAA,IACtB;AAAA,EACJ;AACJ;","names":[]}