@irrelon/emitter 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,10 +15,14 @@ export interface EmitterAnyEventsInterface {
15
15
  export type EmitterEventsInterface<T> = {
16
16
  [K in keyof T]: T[K];
17
17
  };
18
+ interface WithStar {
19
+ "*"?: (eventName: string, ...args: any[]) => void;
20
+ }
21
+ export type EmitterEventsWithStar<T> = EmitterEventsInterface<T> & WithStar;
18
22
  /**
19
23
  * Creates a new class with the capability to emit events.
20
24
  */
21
- export declare class Emitter<EventsInterface extends EmitterEventsInterface<EventsInterface> = EmitterAnyEventsInterface> {
25
+ export declare class Emitter<EventsInterface extends EmitterEventsWithStar<EventsInterface> = EmitterAnyEventsInterface> {
22
26
  _eventsEmitting: boolean;
23
27
  _eventRemovalQueue: any[];
24
28
  _eventListeners?: {
@@ -56,6 +60,11 @@ export declare class Emitter<EventsInterface extends EmitterEventsInterface<Even
56
60
  * @returns The emitter instance.
57
61
  */
58
62
  _off<EventName extends keyof EventsInterface>(eventName: EventName, id: string, listener?: EventListenerCallback<EventsInterface[EventName]>): this;
63
+ /**
64
+ * Creates an event listener that listens for any and all events
65
+ * emitted.
66
+ */
67
+ onAny(listener: EventListenerCallback): void;
59
68
  /**
60
69
  * Attach an event listener to the passed event only if the passed
61
70
  * id matches the document id for the event being fired.
@@ -90,6 +99,11 @@ export declare class Emitter<EventsInterface extends EmitterEventsInterface<Even
90
99
  */
91
100
  overwrite<EventName extends keyof EventsInterface>(eventName: EventName, id: string, listener: EventListenerCallback<EventsInterface[EventName]>): this;
92
101
  overwrite<EventName extends keyof EventsInterface>(eventName: EventName, listener: EventListenerCallback<EventsInterface[EventName]>): this;
102
+ /**
103
+ * Removes an event listener that listens for any and all events
104
+ * emitted.
105
+ */
106
+ offAny(listener: EventListenerCallback): void;
93
107
  /**
94
108
  * Cancels an event listener based on an event name, id and listener function.
95
109
  * @param eventName The event to cancel listener for.
@@ -101,7 +115,46 @@ export declare class Emitter<EventsInterface extends EmitterEventsInterface<Even
101
115
  off<EventName extends keyof EventsInterface>(eventName: EventName, id: string, listener?: EventListenerCallback<EventsInterface[EventName]>): this;
102
116
  off<EventName extends keyof EventsInterface>(eventName: EventName, listener?: EventListenerCallback<EventsInterface[EventName]>): this;
103
117
  off<EventName extends keyof EventsInterface>(eventName: EventName): this;
118
+ _emitToSingleListener<EventName extends keyof EventsInterface>(listener: EventListenerCallback<EventsInterface[EventName]>, data: Parameters<EventsInterface[EventName]>): ReturnType<EventsInterface[EventName]> | ListenerReturnFlag;
104
119
  _emitToArrayOfListeners<EventName extends keyof EventsInterface>(arr: EventListenerCallback<EventsInterface[EventName]>[], data: Parameters<EventsInterface[EventName]>): (ReturnType<EventsInterface[EventName]> | ListenerReturnFlag)[];
120
+ /**
121
+ * Call an event listener by name. The `rpc()` function differs from `emit()` in
122
+ * that it will only call and return data from the first event listener for the
123
+ * event rather than all event listeners. If you have more than one event listener
124
+ * assigned to the event, all others except the first will be ignored and will
125
+ * not receive the event.
126
+ * @param eventName The name of the event to call the listener for.
127
+ * @param {...any} data The arguments to send to the listening method.
128
+ * If you are sending multiple arguments, separate them with a comma so
129
+ * that they are received by the function as separate arguments.
130
+ * @return {number}
131
+ * @example #Call the Event Listener
132
+ * // Emit the event named "hello"
133
+ * myEntity.emit('hello');
134
+ * @example #Call the Event Listener With Data Object
135
+ * // Emit the event named "hello"
136
+ * myEntity.emit('hello', {moo: true});
137
+ * @example #Call the Event Listener With Multiple Data Values
138
+ * // Emit the event named "hello"
139
+ * myEntity.emit('hello', {moo: true}, 'someString');
140
+ * @example #Register the Listener for Event Data
141
+ * // Set a listener to listen for the data (multiple values emitted
142
+ * // from an event are passed as function arguments)
143
+ * myEntity.on('hello', function (arg1, arg2) {
144
+ * console.log("Arguments:", arg1, arg2);
145
+ * return "foo";
146
+ * }
147
+ *
148
+ * // Emit the event named "hello"
149
+ * const result = myEntity.emit('hello', 'data1', 'data2');
150
+ * console.log("Result:", result);
151
+ *
152
+ * // The console output is:
153
+ * // Arguments: data1 data2
154
+ * // Result: "foo"
155
+ */
156
+ rpc<EventName extends keyof EventsInterface>(eventName: EventName, ...data: Parameters<EventsInterface[EventName]>): ReturnType<EventsInterface[EventName]> | ListenerReturnFlag;
157
+ rpcId<EventName extends keyof EventsInterface>(eventName: EventName, id: string, ...data: Parameters<EventsInterface[EventName]>): ReturnType<EventsInterface[EventName]> | ListenerReturnFlag;
105
158
  /**
106
159
  * Emit an event by name.
107
160
  * @param eventName The name of the event to emit.
@@ -121,15 +174,20 @@ export declare class Emitter<EventsInterface extends EmitterEventsInterface<Even
121
174
  * @example #Listen for Event Data
122
175
  * // Set a listener to listen for the data (multiple values emitted
123
176
  * // from an event are passed as function arguments)
124
- * myEntity.on('hello', function (arg1, arg2) {
125
- * console.log(arg1, arg2);
177
+ * myEntity.on('hello', function (arg1, arg2) {
178
+ * console.log("Arguments:", arg1, arg2);
179
+ * return "foo";
126
180
  * }
127
181
  *
128
182
  * // Emit the event named "hello"
129
- * myEntity.emit('hello', 'data1', 'data2');
183
+ * // The result is returned as an array of all return values
184
+ * // from all the listeners for the event
185
+ * const result = myEntity.emit('hello', 'data1', 'data2');
186
+ * console.log("Result:", result);
130
187
  *
131
188
  * // The console output is:
132
- * // data1, data2
189
+ * // Arguments: data1 data2
190
+ * // Result: ["foo"]
133
191
  */
134
192
  emit<EventName extends keyof EventsInterface>(eventName: EventName, ...data: Parameters<EventsInterface[EventName]>): (ReturnType<EventsInterface[EventName]> | ListenerReturnFlag)[];
135
193
  emitId<EventName extends keyof EventsInterface>(eventName: EventName, id: string, ...data: Parameters<EventsInterface[EventName]>): (ReturnType<EventsInterface[EventName]> | ListenerReturnFlag)[];
@@ -207,3 +265,4 @@ export declare class Emitter<EventsInterface extends EmitterEventsInterface<Even
207
265
  export declare function makeEmitter(obj: AnyConstructor, prototypeMode: boolean): Emitter;
208
266
  export declare function makeEmitter(obj: boolean): Emitter;
209
267
  export declare function makeEmitter(obj: Record<string, unknown>, prototypeMode: boolean): Emitter;
268
+ export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeEmitter = exports.Emitter = exports.ListenerReturnFlag = void 0;
3
+ exports.Emitter = exports.ListenerReturnFlag = void 0;
4
+ exports.makeEmitter = makeEmitter;
4
5
  var ListenerReturnFlag;
5
6
  (function (ListenerReturnFlag) {
6
7
  ListenerReturnFlag["none"] = "!+_NONE";
@@ -115,6 +116,13 @@ class Emitter {
115
116
  }
116
117
  return this;
117
118
  }
119
+ /**
120
+ * Creates an event listener that listens for any and all events
121
+ * emitted.
122
+ */
123
+ onAny(listener) {
124
+ this.on("*", listener);
125
+ }
118
126
  on(eventName, idOrListener, listener) {
119
127
  if (typeof idOrListener === "string") {
120
128
  return this._on(eventName, idOrListener, listener);
@@ -137,6 +145,13 @@ class Emitter {
137
145
  this.off(eventName, rest[0]);
138
146
  return this._on(eventName, rest[0], rest[1]);
139
147
  }
148
+ /**
149
+ * Removes an event listener that listens for any and all events
150
+ * emitted.
151
+ */
152
+ offAny(listener) {
153
+ this.off("*", listener);
154
+ }
140
155
  off(eventName, ...rest) {
141
156
  if (rest.length === 0) {
142
157
  // Only event was provided, use * as the id to mean "any without"
@@ -152,6 +167,9 @@ class Emitter {
152
167
  // Both id and listener were provided, remove for the specific id
153
168
  return this._off(eventName, rest[0], rest[1]);
154
169
  }
170
+ _emitToSingleListener(listener, data) {
171
+ return listener(...data);
172
+ }
155
173
  _emitToArrayOfListeners(arr, data) {
156
174
  const arrCount = arr.length;
157
175
  const resultArr = [];
@@ -170,6 +188,71 @@ class Emitter {
170
188
  }
171
189
  return resultArr;
172
190
  }
191
+ /**
192
+ * Call an event listener by name. The `rpc()` function differs from `emit()` in
193
+ * that it will only call and return data from the first event listener for the
194
+ * event rather than all event listeners. If you have more than one event listener
195
+ * assigned to the event, all others except the first will be ignored and will
196
+ * not receive the event.
197
+ * @param eventName The name of the event to call the listener for.
198
+ * @param {...any} data The arguments to send to the listening method.
199
+ * If you are sending multiple arguments, separate them with a comma so
200
+ * that they are received by the function as separate arguments.
201
+ * @return {number}
202
+ * @example #Call the Event Listener
203
+ * // Emit the event named "hello"
204
+ * myEntity.emit('hello');
205
+ * @example #Call the Event Listener With Data Object
206
+ * // Emit the event named "hello"
207
+ * myEntity.emit('hello', {moo: true});
208
+ * @example #Call the Event Listener With Multiple Data Values
209
+ * // Emit the event named "hello"
210
+ * myEntity.emit('hello', {moo: true}, 'someString');
211
+ * @example #Register the Listener for Event Data
212
+ * // Set a listener to listen for the data (multiple values emitted
213
+ * // from an event are passed as function arguments)
214
+ * myEntity.on('hello', function (arg1, arg2) {
215
+ * console.log("Arguments:", arg1, arg2);
216
+ * return "foo";
217
+ * }
218
+ *
219
+ * // Emit the event named "hello"
220
+ * const result = myEntity.emit('hello', 'data1', 'data2');
221
+ * console.log("Result:", result);
222
+ *
223
+ * // The console output is:
224
+ * // Arguments: data1 data2
225
+ * // Result: "foo"
226
+ */
227
+ rpc(eventName, ...data) {
228
+ return this.rpcId(eventName, "*", ...data);
229
+ }
230
+ rpcId(eventName, id, ...data) {
231
+ if (!this._eventListeners || !this._eventListeners[eventName]) {
232
+ throw new Error("Cannot make an rpc call without at least one event listener and none were found");
233
+ }
234
+ let emitterResult;
235
+ this._eventsEmitting = true;
236
+ if (this._eventListeners[eventName][id]) {
237
+ // Handle id emit
238
+ const arr = this._eventListeners[eventName][id];
239
+ emitterResult = this._emitToSingleListener(arr[0], data);
240
+ }
241
+ else if (id !== "*" && this._eventListeners[eventName]["*"]) {
242
+ // Handle wildcard emit if the id passed wasn't already a wildcard (*) id
243
+ const arr = this._eventListeners[eventName]["*"];
244
+ emitterResult = this._emitToSingleListener(arr[0], data);
245
+ }
246
+ else {
247
+ if (id === "*") {
248
+ throw new Error(`Cannot make an rpc call to event "${eventName}" without at least one event listener and none were found, register a listener via on("${eventName}", () => { ...some listener code })`);
249
+ }
250
+ throw new Error(`Cannot make an rpc call to event "${eventName}" and id "${id}" without at least one event listener and none were found, register a listener via on("${eventName}", "${id}", () => { ...some listener code })`);
251
+ }
252
+ this._eventsEmitting = false;
253
+ this._processRemovalQueue();
254
+ return emitterResult;
255
+ }
173
256
  /**
174
257
  * Emit an event by name.
175
258
  * @param eventName The name of the event to emit.
@@ -189,34 +272,45 @@ class Emitter {
189
272
  * @example #Listen for Event Data
190
273
  * // Set a listener to listen for the data (multiple values emitted
191
274
  * // from an event are passed as function arguments)
192
- * myEntity.on('hello', function (arg1, arg2) {
193
- * console.log(arg1, arg2);
275
+ * myEntity.on('hello', function (arg1, arg2) {
276
+ * console.log("Arguments:", arg1, arg2);
277
+ * return "foo";
194
278
  * }
195
279
  *
196
280
  * // Emit the event named "hello"
197
- * myEntity.emit('hello', 'data1', 'data2');
281
+ * // The result is returned as an array of all return values
282
+ * // from all the listeners for the event
283
+ * const result = myEntity.emit('hello', 'data1', 'data2');
284
+ * console.log("Result:", result);
198
285
  *
199
286
  * // The console output is:
200
- * // data1, data2
287
+ * // Arguments: data1 data2
288
+ * // Result: ["foo"]
201
289
  */
202
290
  emit(eventName, ...data) {
203
291
  return this.emitId(eventName, "*", ...data);
204
292
  }
205
293
  emitId(eventName, id, ...data) {
206
- if (!this._eventListeners || !this._eventListeners[eventName]) {
294
+ if (!this._eventListeners || (!this._eventListeners[eventName] && !this._eventListeners["*"])) {
207
295
  return [];
208
296
  }
209
297
  let emitterResult = [];
210
298
  this._eventsEmitting = true;
211
- // Handle id emit
212
- if (this._eventListeners[eventName][id]) {
213
- const arr = this._eventListeners[eventName][id];
214
- emitterResult = emitterResult.concat(this._emitToArrayOfListeners(arr, data));
299
+ if (this._eventListeners[eventName]) {
300
+ // Handle id emit
301
+ if (this._eventListeners[eventName][id]) {
302
+ const arr = this._eventListeners[eventName][id];
303
+ emitterResult = emitterResult.concat(this._emitToArrayOfListeners(arr, data));
304
+ }
305
+ // Handle id wildcard emit if the id passed wasn't already a wildcard (*) id
306
+ if (id !== "*" && this._eventListeners[eventName]["*"]) {
307
+ const arr = this._eventListeners[eventName]["*"];
308
+ emitterResult = emitterResult.concat(this._emitToArrayOfListeners(arr, data));
309
+ }
215
310
  }
216
- // Handle global emit if the id passed wasn't already a global (*) id
217
- if (id !== "*" && this._eventListeners[eventName]["*"]) {
218
- const arr = this._eventListeners[eventName]["*"];
219
- emitterResult = emitterResult.concat(this._emitToArrayOfListeners(arr, data));
311
+ if (this._eventListeners["*"]) {
312
+ const arr = this._eventListeners["*"]["*"];
313
+ emitterResult = emitterResult.concat(this._emitToArrayOfListeners(arr, [eventName, ...data]));
220
314
  }
221
315
  this._eventsEmitting = false;
222
316
  this._processRemovalQueue();
@@ -236,7 +330,7 @@ class Emitter {
236
330
  this._eventListeners = this._eventListeners || {};
237
331
  this._eventsEmitting = true;
238
332
  if (this._eventListeners[eventName] && this._eventListeners[eventName][id]) {
239
- // Handle global emit
333
+ // Handle id wildcard emit
240
334
  const arr = this._eventListeners[eventName][id];
241
335
  const arrCount = arr.length;
242
336
  for (let arrIndex = 0; arrIndex < arrCount; arrIndex++) {
@@ -285,7 +379,7 @@ class Emitter {
285
379
  }
286
380
  }
287
381
  }
288
- // Handle global emit
382
+ // Handle wildcard emit
289
383
  if (this._eventListeners[eventName]["*"]) {
290
384
  const arr = this._eventListeners[eventName]["*"];
291
385
  const arrCount = arr.length;
@@ -364,7 +458,7 @@ class Emitter {
364
458
  }
365
459
  }
366
460
  }
367
- // Handle global emit
461
+ // Handle wildcard emit
368
462
  if (this._eventListeners[eventName]["*"]) {
369
463
  const arr = this._eventListeners[eventName]["*"];
370
464
  const arrCount = arr.length;
@@ -462,7 +556,9 @@ function makeEmitter(obj, prototypeMode) {
462
556
  }
463
557
  // Convert the object prototype to have eventing capability
464
558
  operateOnObject.on = Emitter.prototype.on;
559
+ operateOnObject.onAny = Emitter.prototype.onAny;
465
560
  operateOnObject.off = Emitter.prototype.off;
561
+ operateOnObject.offAny = Emitter.prototype.offAny;
466
562
  operateOnObject.once = Emitter.prototype.once;
467
563
  operateOnObject.emit = Emitter.prototype.emit;
468
564
  operateOnObject.emitId = Emitter.prototype.emitId;
@@ -475,4 +571,3 @@ function makeEmitter(obj, prototypeMode) {
475
571
  operateOnObject._processRemovalQueue = Emitter.prototype._processRemovalQueue;
476
572
  return obj;
477
573
  }
478
- exports.makeEmitter = makeEmitter;
@@ -12,28 +12,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const globals_1 = require("@jest/globals");
15
16
  const assert_1 = __importDefault(require("assert"));
16
17
  const Emitter_1 = require("../src/Emitter");
17
18
  let expectedAssertions = 0;
18
19
  let actualAssertions = 0;
19
- function expect(val) {
20
+ function expectAssertionCount(val) {
20
21
  expectedAssertions = val;
21
22
  }
22
- function reset() {
23
+ function resetAssertionCount() {
23
24
  expectedAssertions = 0;
24
25
  actualAssertions = 0;
25
26
  }
26
27
  function countAssertion() {
27
28
  actualAssertions++;
28
29
  }
29
- function check() {
30
+ function checkAssertionCount() {
30
31
  if (expectedAssertions === undefined || expectedAssertions === actualAssertions) {
31
32
  return;
32
33
  }
33
34
  throw new Error("expected " + expectedAssertions + " assertions, got " + actualAssertions);
34
35
  }
35
- beforeEach(reset);
36
- afterEach(check);
36
+ beforeEach(resetAssertionCount);
37
+ afterEach(checkAssertionCount);
37
38
  describe("Emitter", () => {
38
39
  describe("new Emitter()", () => {
39
40
  it("Creates emitter instance by instantiation", () => {
@@ -48,12 +49,8 @@ describe("Emitter", () => {
48
49
  });
49
50
  it("Supports extending Emitter as a base class", () => {
50
51
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
51
- let testFuncCount = 0;
52
52
  // Test extending Emitter and modifying base functionality
53
53
  class MyClass extends Emitter_1.Emitter {
54
- testFunc() {
55
- testFuncCount++;
56
- }
57
54
  on(eventName, ...rest) {
58
55
  const restTypes = rest.map((arg) => typeof arg);
59
56
  if (restTypes[0] === "function") {
@@ -166,6 +163,7 @@ describe("Emitter", () => {
166
163
  yield Promise.all(emitter.emit("foo"));
167
164
  const delta = new Date().getTime() - time;
168
165
  assert_1.default.ok(delta > 900, "Delta was not correct, await may not have paused?");
166
+ assert_1.default.strictEqual(listenerFiredCount, 2, "Listener fire count was incorect");
169
167
  }));
170
168
  it("Supports awaiting async and non-async listener return data", () => __awaiter(void 0, void 0, void 0, function* () {
171
169
  const emitter = new Emitter_1.Emitter();
@@ -189,6 +187,29 @@ describe("Emitter", () => {
189
187
  assert_1.default.strictEqual(results[0], "Foo1 Return Value", "Return data for foo1 was not correct");
190
188
  assert_1.default.strictEqual(results[1], "Foo2 Return Value", "Return data for foo2 was not correct");
191
189
  }));
190
+ it("Supports awaiting async and non-async rpc listener return data", () => __awaiter(void 0, void 0, void 0, function* () {
191
+ const emitter = new Emitter_1.Emitter();
192
+ let listenerFiredCount = 0;
193
+ emitter.on("foo1", () => {
194
+ return new Promise((resolve) => {
195
+ setTimeout(() => {
196
+ listenerFiredCount++;
197
+ resolve("Foo1 Return Value");
198
+ }, 1000);
199
+ });
200
+ });
201
+ emitter.on("foo2", () => {
202
+ return "Foo2 Return Value";
203
+ });
204
+ const time = new Date().getTime();
205
+ const result1 = yield emitter.rpc("foo1");
206
+ const result2 = emitter.rpc("foo2");
207
+ const delta = new Date().getTime() - time;
208
+ assert_1.default.ok(delta > 900, "Delta was not correct, await may not have paused?");
209
+ assert_1.default.ok(listenerFiredCount === 1, "listenerFiredCount was not correct, await may not have been used?");
210
+ assert_1.default.strictEqual(result1, "Foo1 Return Value", "Return data for foo1 was not correct");
211
+ assert_1.default.strictEqual(result2, "Foo2 Return Value", "Return data for foo2 was not correct");
212
+ }));
192
213
  it("Supports responding with a cancellation signal", () => __awaiter(void 0, void 0, void 0, function* () {
193
214
  const emitter = new Emitter_1.Emitter();
194
215
  let listenerFiredCount = 0;
@@ -291,7 +312,7 @@ describe("Emitter", () => {
291
312
  it("Static emitter will emit when a new listener is added", (resolve) => {
292
313
  class MyClass extends Emitter_1.Emitter {
293
314
  }
294
- expect(1);
315
+ expectAssertionCount(1);
295
316
  const myClass = new MyClass();
296
317
  myClass.emitStatic("moo");
297
318
  myClass.on("moo", () => {
@@ -305,7 +326,7 @@ describe("Emitter", () => {
305
326
  it("Removes static emitter", (resolve) => {
306
327
  class MyClass extends Emitter_1.Emitter {
307
328
  }
308
- expect(1);
329
+ expectAssertionCount(1);
309
330
  const myClass = new MyClass();
310
331
  myClass.emitStatic("moo");
311
332
  myClass.on("moo", () => {
@@ -326,7 +347,7 @@ describe("Emitter", () => {
326
347
  it("Only fires the last listener added, cancelling all other listeners before it", (resolve) => {
327
348
  class MyClass extends Emitter_1.Emitter {
328
349
  }
329
- expect(1);
350
+ expectAssertionCount(1);
330
351
  const myClass = new MyClass();
331
352
  myClass.on("moo", () => {
332
353
  countAssertion();
@@ -348,7 +369,7 @@ describe("Emitter", () => {
348
369
  it("Only fires the last listener added (with id), cancelling all other listeners before it", (resolve) => {
349
370
  class MyClass extends Emitter_1.Emitter {
350
371
  }
351
- expect(2);
372
+ expectAssertionCount(2);
352
373
  const myClass = new MyClass();
353
374
  // Define a listener without an id, this should not be overwritten
354
375
  myClass.on("moo", () => {
@@ -404,4 +425,36 @@ describe("Emitter", () => {
404
425
  ((_k = myClass._eventListeners) === null || _k === void 0 ? void 0 : _k.moo["*"].length) === 0, true, "Listeners all removed from event");
405
426
  });
406
427
  });
428
+ describe("Global listener functionality", () => {
429
+ it("Listens for any event emitted and fires the listener with the onAny() function", () => {
430
+ const emitter = new Emitter_1.Emitter();
431
+ const spy = globals_1.jest.fn();
432
+ emitter.onAny(spy);
433
+ emitter.emit("someEvent", "someArg1", true, false);
434
+ expect(spy).toHaveBeenCalledWith("someEvent", "someArg1", true, false);
435
+ });
436
+ it(`Listens for any event emitted and fires the listener with the on("*") function`, () => {
437
+ const emitter = new Emitter_1.Emitter();
438
+ const spy = globals_1.jest.fn();
439
+ emitter.on("*", spy);
440
+ emitter.emit("someEvent", "someArg1", true, false);
441
+ expect(spy).toHaveBeenCalledWith("someEvent", "someArg1", true, false);
442
+ });
443
+ it(`Cancels an event listener for any event emitted with the offAny() function`, () => {
444
+ const emitter = new Emitter_1.Emitter();
445
+ const spy = globals_1.jest.fn();
446
+ emitter.on("*", spy);
447
+ emitter.offAny(spy);
448
+ emitter.emit("someEvent", "someArg1", true, false);
449
+ expect(spy).toHaveBeenCalledTimes(0);
450
+ });
451
+ it(`Cancels an event listener for any event emitted with the off("*") function`, () => {
452
+ const emitter = new Emitter_1.Emitter();
453
+ const spy = globals_1.jest.fn();
454
+ emitter.on("*", spy);
455
+ emitter.off("*", spy);
456
+ emitter.emit("someEvent", "someArg1", true, false);
457
+ expect(spy).toHaveBeenCalledTimes(0);
458
+ });
459
+ });
407
460
  });
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/emitter.ts","../../tests/emitter.test.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"26fbc5e2e6ca6b5341a2c1b0f2a22d7727cb461f45924569dee7c39b41477756","signature":"815c63ed250d406ad551ba3690048484ee5fc4a788410760301a13d5b2af10d8"},{"version":"f7f80f896c5dbc24c28c7d2589e922de1e6258c3a47509d4e97ebe94000d58c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"e31b69b603075736c59065f0c89606f93068600d94b456dda77248c8b2a803a9","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"002d6d5f044365b3fbfba0ba9be3bb57cac09b81547c8df4b0795755d2081d90","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","c4cfc9a6e2ebb8bc8c0e2392dfc4056993ced3b35069ebf132ac18ca7a562881","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"bae4ea23beb8397755b935cb84d3cdc6cdb0b1b4a329b90de9fc6c8774d71994","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","df36874d9e56aff601e921c4b3971d37cf66d14f6455935ce821e6cad13b1823","3c135ff5bda0355f6b52a10ea931736ec7c5a80b7fb8772019054e0eaa0fd6b6","1abb206a4ecd13b21536b677d7d5f66e0d7316f0d44610197cfcc5776f78884a","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"76527127c8b749bee5977408861ce3ee56ec19ddcea8704c628f98ca610283e6","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b68bd7bef90dab08b1866a9fee24f03d9fee10bcb3f587b074e96e61abf6d3f0","cb4f3f03480e1727eae46400606cecaa97f550186ff8fa909ebc00db4180531b",{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2d526e6f21d8cc66ac11ada32874e95ae88d870c6c9d3d9d4e03b1d1f9ad7b8e","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","d2ec52f565f0570e90b659811347bd689f8c6039b11eaaccd0f243759d46da6e","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"854a39fe9c9e32cc0855380e0f16bbb25217c3b62d8a687fe2b663ba44b3b5a1","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","032cbd1883827ca3728c1400145403b62e65b7b584a0d2115ae538c9edec7936","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","3b105d5a0dacc73812d93e90d3c7243fd5a9c0566a2e63bc2964ca12d882c8e8",{"version":"458e2fd1185e659cb800ef68d01ef77de70dcab8860bedf6d94eaebe736751f1","affectsGlobalScope":true}],"root":[64,65],"options":{"allowJs":false,"allowSyntheticDefaultImports":true,"declaration":true,"downlevelIteration":true,"esModuleInterop":true,"inlineSourceMap":false,"module":1,"outDir":"./","skipLibCheck":false,"strict":true,"target":2},"fileIdsList":[[111],[111,121],[111,123,126],[66,111],[69,111],[70,75,111],[71,81,82,89,99,110,111],[71,72,81,89,111],[73,111],[74,75,82,90,111],[75,99,107,111],[76,78,81,89,111],[77,111],[78,79,111],[80,81,111],[81,111],[81,82,83,99,110,111],[81,82,83,99,102,111],[111,115],[84,89,99,110,111],[81,82,84,85,89,99,107,110,111],[84,86,99,107,110,111],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],[81,87,111],[88,110,111],[78,81,89,99,111],[90,111],[91,111],[69,92,111],[93,109,111,115],[94,111],[95,111],[81,96,97,111],[96,98,111,113],[81,99,100,101,102,111],[99,101,111],[99,100,111],[102,111],[103,111],[81,105,106,111],[105,106,111],[75,89,99,107,111],[108,111],[89,109,111],[70,84,95,110,111],[75,111],[99,111,112],[111,113],[111,114],[70,75,81,83,92,99,110,111,113,115],[99,111,116],[111,119,125],[111,123],[111,120,124],[111,122],[64,66,111]],"referencedMap":[[119,1],[122,2],[121,1],[127,3],[66,4],[67,4],[69,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,14],[80,15],[81,16],[82,17],[83,18],[68,19],[117,1],[84,20],[85,21],[86,22],[118,23],[87,24],[88,25],[89,26],[90,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,33],[98,34],[99,35],[101,36],[100,37],[102,38],[103,39],[104,1],[105,40],[106,41],[107,42],[108,43],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[126,52],[124,53],[125,54],[120,1],[123,55],[62,1],[63,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[1,1],[11,1],[61,1],[60,1],[59,1],[64,1],[65,56]],"exportedModulesMap":[[119,1],[122,2],[121,1],[127,3],[66,4],[67,4],[69,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,14],[80,15],[81,16],[82,17],[83,18],[68,19],[117,1],[84,20],[85,21],[86,22],[118,23],[87,24],[88,25],[89,26],[90,27],[91,28],[92,29],[93,30],[94,31],[95,32],[96,33],[97,33],[98,34],[99,35],[101,36],[100,37],[102,38],[103,39],[104,1],[105,40],[106,41],[107,42],[108,43],[109,44],[110,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[126,52],[124,53],[125,54],[120,1],[123,55],[62,1],[63,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[1,1],[11,1],[61,1],[60,1],[59,1]],"semanticDiagnosticsPerFile":[119,122,121,127,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,68,117,84,85,86,118,87,88,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,126,124,125,120,123,62,63,13,12,2,14,15,16,17,18,19,20,21,3,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,11,61,60,59,64,65]},"version":"5.3.2"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/emitter.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@jest/types/node_modules/chalk/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/@jest/types/build/index.d.ts","../../node_modules/jest-mock/build/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/jest-message-util/build/index.d.ts","../../node_modules/@jest/fake-timers/build/index.d.ts","../../node_modules/@jest/environment/build/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/jest-snapshot/build/index.d.ts","../../node_modules/@jest/expect/build/index.d.ts","../../node_modules/@jest/globals/build/index.d.ts","../../tests/emitter.test.ts","../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"a39a5d33bd6fadb44a4f509ea81dcd0c4cb40c718a150235bb70da86350d79a1","signature":"2c7b1d39c71022acdf6ca3560f0780a4dc43217ffc1a024d47e55e34e157cd0f"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"e31b69b603075736c59065f0c89606f93068600d94b456dda77248c8b2a803a9","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"002d6d5f044365b3fbfba0ba9be3bb57cac09b81547c8df4b0795755d2081d90","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","c4cfc9a6e2ebb8bc8c0e2392dfc4056993ced3b35069ebf132ac18ca7a562881","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"bae4ea23beb8397755b935cb84d3cdc6cdb0b1b4a329b90de9fc6c8774d71994","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","df36874d9e56aff601e921c4b3971d37cf66d14f6455935ce821e6cad13b1823","3c135ff5bda0355f6b52a10ea931736ec7c5a80b7fb8772019054e0eaa0fd6b6","1abb206a4ecd13b21536b677d7d5f66e0d7316f0d44610197cfcc5776f78884a","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"76527127c8b749bee5977408861ce3ee56ec19ddcea8704c628f98ca610283e6","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b68bd7bef90dab08b1866a9fee24f03d9fee10bcb3f587b074e96e61abf6d3f0","cb4f3f03480e1727eae46400606cecaa97f550186ff8fa909ebc00db4180531b",{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2d526e6f21d8cc66ac11ada32874e95ae88d870c6c9d3d9d4e03b1d1f9ad7b8e","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","d2ec52f565f0570e90b659811347bd689f8c6039b11eaaccd0f243759d46da6e","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"854a39fe9c9e32cc0855380e0f16bbb25217c3b62d8a687fe2b663ba44b3b5a1","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","e00243d23c495ca2170c9b9e20b5c92331239100b51efdc2b4401cdad859bbef","41ea7fd137518560e0d2af581edadadd236b685b5e2f80f083127a28e01cf0ac","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","6fa5d56af71f07dc276aae3f6f30807a9cccf758517fb39742af72e963553d80","819dddfec57391f8458929ca8e4377f030d42107ff6ec431e620b70b0695d530","701bdef1f4a13932f64c4ce89537f2c66301eb46daf30a16a436c991df568686","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","ac5f598a09eed39b957ae3d909b88126f3faf605bd4589c19e9ae85d23ef71e3","92abba98a71c0244a6bcdd3ad4d2e04f1d0a8bcae57d2bb865bf53d1ac86e3d0","d2afa0d86bc6f2e72c1cf2ecb2372bf1b0f002493706a81f2b9a3ee4f944e219",{"version":"8aa53fa9c77f8c248703e3444a84bd5c61904d00e1f642d7c22bc8b9d51bde54","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true}],"root":[72,149],"options":{"allowJs":false,"allowSyntheticDefaultImports":true,"declaration":true,"downlevelIteration":true,"esModuleInterop":true,"inlineSourceMap":false,"module":1,"outDir":"./","skipLibCheck":false,"strict":true,"target":2},"fileIdsList":[[118,120,125,134,135,138],[118],[118,145,146],[118,134,135,137],[118,134,135,139,147],[118,132],[118,125,127,128,129,131,133],[118,128],[118,130],[118,142,145],[73,118],[76,118],[77,82,118],[78,88,89,96,106,117,118],[78,79,88,96,118],[80,118],[81,82,89,97,118],[82,106,114,118],[83,85,88,96,118],[84,118],[85,86,118],[87,88,118],[88,118],[88,89,90,106,117,118],[88,89,90,106,109,118],[118,122],[91,96,106,117,118],[88,89,91,92,96,106,114,117,118],[91,93,106,114,117,118],[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124],[88,94,118],[95,117,118],[85,88,96,106,118],[97,118],[98,118],[76,99,118],[100,116,118,122],[101,118],[102,118],[88,103,104,118],[103,105,118,120],[88,106,107,108,109,118],[106,108,118],[106,107,118],[109,118],[110,118],[88,112,113,118],[112,113,118],[82,96,106,114,118],[115,118],[96,116,118],[77,91,102,117,118],[82,118],[106,118,119],[118,120],[118,121],[77,82,88,90,99,106,117,118,120,122],[106,118,123],[118,126],[118,140,144],[118,142],[118,129,143],[118,134,136],[118,134,142,145],[118,133],[72,73,118,148]],"referencedMap":[[139,1],[140,2],[147,3],[138,4],[148,5],[133,6],[134,7],[129,2],[132,2],[128,2],[130,8],[131,9],[150,10],[73,11],[74,11],[76,12],[77,13],[78,14],[79,15],[80,16],[81,17],[82,18],[83,19],[84,20],[85,21],[86,21],[87,22],[88,23],[89,24],[90,25],[75,26],[124,2],[91,27],[92,28],[93,29],[125,30],[94,31],[95,32],[96,33],[97,34],[98,35],[99,36],[100,37],[101,38],[102,39],[103,40],[104,40],[105,41],[106,42],[108,43],[107,44],[109,45],[110,46],[111,2],[112,47],[113,48],[114,49],[115,50],[116,51],[117,52],[118,53],[119,54],[120,55],[121,56],[122,57],[123,58],[136,2],[126,2],[127,59],[145,60],[143,61],[144,62],[141,2],[137,63],[135,2],[146,64],[142,65],[70,2],[71,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[22,2],[4,2],[23,2],[27,2],[24,2],[25,2],[26,2],[28,2],[29,2],[30,2],[5,2],[31,2],[32,2],[33,2],[34,2],[6,2],[38,2],[35,2],[36,2],[37,2],[39,2],[7,2],[40,2],[45,2],[46,2],[41,2],[42,2],[43,2],[44,2],[8,2],[50,2],[47,2],[48,2],[49,2],[51,2],[9,2],[52,2],[53,2],[54,2],[57,2],[55,2],[56,2],[58,2],[59,2],[10,2],[60,2],[1,2],[61,2],[62,2],[11,2],[67,2],[64,2],[63,2],[68,2],[66,2],[69,2],[65,2],[72,2],[149,66]]},"version":"5.5.2"}