{"version":3,"names":["EventTarget","constructor","callbacks","Map","_callbacksFor","type","getOrCreate","Set","addEventListener","callback","add","removeEventListener","delete","dispatchEvent","params","forEach","apply","undefined","getEventListeners","Array","from"],"sources":["event-target.js"],"sourcesContent":["/**\n * A slightly smarter EventTarget class\n */\nexport default class EventTarget {\n  constructor() {\n    this.callbacks = new Map();\n  }\n  \n  _callbacksFor(type) {\n    return this.callbacks.getOrCreate(type, () => new Set());\n  }\n\n  addEventListener(type, callback) {\n    const callbacks = this._callbacksFor(type);\n    callbacks.add(callback);\n  }\n\n  removeEventListener(type, callback) {\n    const callbacks = this._callbacksFor(type);\n    callbacks.delete(callback);\n  }\n\n  dispatchEvent(type, ...params) {\n    const callbacks = this._callbacksFor(type);\n    callbacks.forEach(callback => callback.apply(undefined, params));\n  }\n\n  getEventListeners(type) {\n    return Array.from(this._callbacksFor(type));\n  }\n}\n"],"mappings":";;;MAGqBA,WAAW;EAAA;EAAA;IAAA;IAAA;MAAA;MAAA;MAHhC;AACA;AACA;MAFA,mBAGqBA,WAAW,GAAjB,MAAMA,WAAW,CAAC;QAC/BC,WAAW,GAAG;UACZ,IAAI,CAACC,SAAS,GAAG,IAAIC,GAAG,EAAE;QAC5B;QAEAC,aAAa,CAACC,IAAI,EAAE;UAClB,OAAO,IAAI,CAACH,SAAS,CAACI,WAAW,CAACD,IAAI,EAAE,MAAM,IAAIE,GAAG,EAAE,CAAC;QAC1D;QAEAC,gBAAgB,CAACH,IAAI,EAAEI,QAAQ,EAAE;UAC/B,MAAMP,SAAS,GAAG,IAAI,CAACE,aAAa,CAACC,IAAI,CAAC;UAC1CH,SAAS,CAACQ,GAAG,CAACD,QAAQ,CAAC;QACzB;QAEAE,mBAAmB,CAACN,IAAI,EAAEI,QAAQ,EAAE;UAClC,MAAMP,SAAS,GAAG,IAAI,CAACE,aAAa,CAACC,IAAI,CAAC;UAC1CH,SAAS,CAACU,MAAM,CAACH,QAAQ,CAAC;QAC5B;QAEAI,aAAa,CAACR,IAAI,EAAE,GAAGS,MAAM,EAAE;UAC7B,MAAMZ,SAAS,GAAG,IAAI,CAACE,aAAa,CAACC,IAAI,CAAC;UAC1CH,SAAS,CAACa,OAAO,CAACN,QAAQ,IAAIA,QAAQ,CAACO,KAAK,CAACC,SAAS,EAAEH,MAAM,CAAC,CAAC;QAClE;QAEAI,iBAAiB,CAACb,IAAI,EAAE;UACtB,OAAOc,KAAK,CAACC,IAAI,CAAC,IAAI,CAAChB,aAAa,CAACC,IAAI,CAAC,CAAC;QAC7C;MACF,CAAC;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,mBA3BoBL,4CAAW;UAAA;QAAA;QAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}