// Metro module 89 (f90). import _classCallCheck from "./_classCallCheck"; import _createClass from "./_createClass"; import _classPrivateFieldBase from "./_classPrivateFieldBase"; import _classPrivateFieldKey from "./_classPrivateFieldKey"; let env91 = {}; const c91_2 = _classPrivateFieldKey("registry"); const EventEmitter = function EventEmitter() { _classCallCheck(this, EventEmitter); const r6 = Object; r6.defineProperty(this, c91_2, { writable: true, value: void 0 }); _classPrivateFieldBase(this, c91_2)[c91_2] = {}; }; export default _createClass(EventEmitter, [{ key: "addListener", value: function addListener(a0, a1, a2) { if (typeof a1 !== "function") { throw new TypeError("EventEmitter.addListener(...): 2nd argument must be a function."); } const r12 = _classPrivateFieldBase(this, c91_2)[c91_2]; let r13 = r12[a0]; if (r13 == null) { const set = new Set(); r12[a0] = set; r13 = set; } let c23567_1; let c23567_0 = r13; const r22 = { context: a2, listener: a1, remove: () => { c23567_0.delete(c23567_1); } }; c23567_1 = r22; r13.add(r22); return r22; } }, { key: "emit", value: function emit(a0, ...args) { const r23 = _classPrivateFieldBase(this, c91_2)[c91_2][a0]; if (r23 != null) { for (const item of Array.from(r23)) { item.listener.apply(item.context, args); } } } }, { key: "removeAllListeners", value: function removeAllListeners(a0) { if (a0 == null) { _classPrivateFieldBase(this, c91_2)[c91_2] = {}; } else { delete _classPrivateFieldBase(this, c91_2)[c91_2][a0]; } } }, { key: "listenerCount", value: function listenerCount(a0) { const r8 = _classPrivateFieldBase(this, c91_2)[c91_2][a0]; return r8 == null ? 0 : r8.size; } }]);