{ "version": 3, "sources": ["../../../../../../../../source/febe/ui/src/scripts/classes/EventEmitter.ts"], "sourcesContent": ["/*\n An event mocking class\n - EventEmitter.events = { event: [], event2: [] ...etc }\n - EventEmitter.on('event', d => alert('adds callbacks with data as d (d=whatever)'))\n ! You can use EventEmitter.on('event event') to subscribe 1 callback to multiple events. note space separator\n - EventEmitter.emit('event', (whatever)); // => runs callbacks from event[evt] added through ~.on(..^)\n - Special: EventEmitter.on('*') will be emitted on any 'emit'.\n */\nexport default class EventEmitter {\n events: any;\n constructor() {\n this.events = {};\n }\n on(e: any, cb: Function) {\n if (e.indexOf(\" \") > -1) {\n // subscribe space-separated events iterative\n // (calls .on for each result on e splitted by spaces)\n e = e.split(\" \").forEach((ev: string) => this.on(ev, cb));\n } else {\n if (this.events[e]) {\n this.events[e].push(cb);\n } else {\n this.events[e] = [cb];\n }\n }\n return this;\n }\n emit(e: string, d = {}, any = false) {\n if (this.events[e]) {\n this.events[e].forEach((cb: Function) => {\n cb.call(this, d);\n });\n }\n if (!any) this.emit(\"*\", e, true);\n return this;\n }\n}\n"], "mappings": "AAQA,IAAqBA,EAArB,KAAkC,CAEhC,aAAc,CACZ,KAAK,OAAS,CAAC,CACjB,CACA,GAAGC,EAAQC,EAAc,CACvB,OAAID,EAAE,QAAQ,GAAG,EAAI,GAGnBA,EAAIA,EAAE,MAAM,GAAG,EAAE,QAASE,GAAe,KAAK,GAAGA,EAAID,CAAE,CAAC,EAEpD,KAAK,OAAOD,CAAC,EACf,KAAK,OAAOA,CAAC,EAAE,KAAKC,CAAE,EAEtB,KAAK,OAAOD,CAAC,EAAI,CAACC,CAAE,EAGjB,IACT,CACA,KAAKD,EAAWG,EAAI,CAAC,EAAGC,EAAM,GAAO,CACnC,OAAI,KAAK,OAAOJ,CAAC,GACf,KAAK,OAAOA,CAAC,EAAE,QAASC,GAAiB,CACvCA,EAAG,KAAK,KAAME,CAAC,CACjB,CAAC,EAEEC,GAAK,KAAK,KAAK,IAAKJ,EAAG,EAAI,EACzB,IACT,CACF", "names": ["EventEmitter", "e", "cb", "ev", "d", "any"] }