{"version":3,"sources":["event-target.js"],"names":["window","undefined","SPACES","EventTarget","_classCallCheck","this","_listeners","Object","create","_createClass","key","value","eventType","listener","push","eventListeners","index","indexOf","splice","event","target","concat","_toConsumableArray","type","forEach","eventTypes","_this","split","_removeEventListener","_this2","_addEventListener","off","bind","callback","_typeof","acpv"],"mappings":"ytBAAA,SAAWA,EAAQC,GACjB,GAAMC,GAAS,MAETC,EAHsB,WAAA,QAAAA,KAAAC,gBAAAC,KAAAF,GAAAE,KAK1BC,WAAaC,OAAOC,OAAO,MALD,MAAAC,cAAAN,IAAAO,IAAA,oBAAAC,MAAA,SAORC,EAAWC,GACrBD,IAAaP,MAAKC,aACtBD,KAAKC,WAAWM,OAGlBP,KAAKC,WAAWM,GAAWE,KAAKD,MAZRH,IAAA,uBAAAC,MAAA,SAAAC,EAAAC,GAgBxB,GAAME,GAAiBV,KAAKC,WAAWM,EAhBf,IAAAG,EAAA,CAAA,GAAAC,GAAAD,EAAAE,QAORL,IAETN,IAALU,GACDD,EAAAG,OAAAF,EAAA,OAVuBN,IAAA,OAAAC,MAAA,SAAAQ,GAAAA,EAAAC,OAAAf,KAgBxBc,EAAMJ,OAAAA,MAAiBT,eAiBrBe,OAAAC,mBAAIjB,KAAKC,WAAWa,EAAMI,QAAOC,QAAQ,SAACX,GAAD,MAAcA,GAASM,QAjC1CT,IAAA,MAAAC,MAAA,SAqCtBc,EAAYZ,GAAU,GAAAa,GAAArB,IAfVU,iBAARC,KAiBJS,EAAaA,EAAWE,MAAMzB,IAb/BuB,EAAAD,QAAA,SAAAZ,GACFc,EAAAE,qBAAAhB,EAAAC,QA3ByBH,IAAA,KAAAC,MAAA,SA8BxBQ,EAAMC,GAAN,GAAAS,GAAAxB,IA9BwB,OAgDE,gBAAfoB,KAhBXA,EAAUF,EAAajB,MAAAA,IACoBmB,EAAzCD,QAAA,SAAAZ,GACDiB,EAAAC,kBAAAlB,EAAAC,KAlCuBR,KAAA0B,IAAAC,KAAA3B,KAAAoB,EAAAZ,MAAAH,IAAA,MAAAC,MAAA,SA2DtBc,EAAYZ,GAnBb,QAAAoB,GAAAd,GAuBCY,IArBFN,EAAAA,GAJA,GAAIM,GAAA1B,KAAOoB,GAAAA,EAAeQ,OAtCF9B,IAAA,YAAA+B,QAAAlC,EAAAmC,QAAAnC,EAAAmC,SAgDxBnC,EAAAmC,KAAIhC,YAAOsB,GAEVzB","file":"event-target.min.js","sourcesContent":["(function (window, undefined) {\r\n const SPACES = /\\s+/;\r\n \r\n class EventTarget {\r\n \r\n _listeners = Object.create(null);\r\n \r\n _addEventListener(eventType, listener) {\r\n if (!(eventType in this._listeners)) {\r\n this._listeners[eventType] = [];\r\n }\r\n \r\n this._listeners[eventType].push(listener);\r\n }\r\n \r\n _removeEventListener(eventType, listener) {\r\n const eventListeners = this._listeners[eventType];\r\n \r\n if (!eventListeners) {\r\n return;\r\n }\r\n \r\n const index = eventListeners.indexOf(listener);\r\n \r\n if (index !== -1) {\r\n eventListeners.splice(index, 1);\r\n }\r\n }\r\n \r\n emit(event) {\r\n event.target = this;\r\n \r\n if (event.type in this._listeners) {\r\n [...this._listeners[event.type]].forEach((listener) => listener(event));\r\n }\r\n }\r\n \r\n off(eventTypes, listener) {\r\n if (typeof eventTypes === 'string') {\r\n eventTypes = eventTypes.split(SPACES);\r\n }\r\n \r\n eventTypes.forEach((eventType) => {\r\n this._removeEventListener(eventType, listener);\r\n });\r\n }\r\n \r\n on(eventTypes, listener) {\r\n if (typeof eventTypes === 'string') {\r\n eventTypes = eventTypes.split(SPACES);\r\n }\r\n \r\n eventTypes.forEach((eventType) => {\r\n this._addEventListener(eventType, listener);\r\n });\r\n \r\n return this.off.bind(this, eventTypes, listener);\r\n }\r\n \r\n one(eventTypes, listener) {\r\n const off = this.on(eventTypes, callback);\r\n \r\n function callback(event) {\r\n off();\r\n listener(event);\r\n }\r\n }\r\n }\r\n \r\n if (typeof window.acpv !== 'object') {\r\n window.acpv = {};\r\n }\r\n \r\n window.acpv.EventTarget = EventTarget;\r\n \r\n})(window);\r\n"]}