| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- "use strict";
- function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
- var id = 0;
- function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
- var _emitter = /*#__PURE__*/_classPrivateFieldLooseKey("emitter");
- var _events = /*#__PURE__*/_classPrivateFieldLooseKey("events");
- class EventTracker {
- constructor(emitter) {
- Object.defineProperty(this, _emitter, {
- writable: true,
- value: void 0
- });
- Object.defineProperty(this, _events, {
- writable: true,
- value: []
- });
- _classPrivateFieldLooseBase(this, _emitter)[_emitter] = emitter;
- }
- on(event, fn) {
- _classPrivateFieldLooseBase(this, _events)[_events].push([event, fn]);
- return _classPrivateFieldLooseBase(this, _emitter)[_emitter].on(event, fn);
- }
- remove() {
- for (const [event, fn] of _classPrivateFieldLooseBase(this, _events)[_events].splice(0)) {
- _classPrivateFieldLooseBase(this, _emitter)[_emitter].off(event, fn);
- }
- }
- }
- /**
- * Create a wrapper around an event emitter with a `remove` method to remove
- * all events that were added using the wrapped emitter.
- */
- module.exports = EventTracker;
|