@mswjs/interceptors 0.22.9 → 0.22.11

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.
Files changed (72) hide show
  1. package/lib/browser/{Interceptor-c794917d.d.ts → Interceptor-c8fc448a.d.ts} +3 -3
  2. package/lib/browser/{chunk-GL6Y4E24.mjs → chunk-4W72RMFC.mjs} +19 -14
  3. package/lib/browser/{chunk-OK5YCL7L.js → chunk-ECRLBCQN.js} +55 -55
  4. package/lib/browser/{chunk-2Z7B3HL5.js → chunk-EGQUVEJ3.js} +23 -18
  5. package/lib/browser/{chunk-2EIH6L6D.js → chunk-KCAWLR7J.js} +25 -25
  6. package/lib/browser/{chunk-PGR64QLT.mjs → chunk-MJZRQFUP.mjs} +72 -58
  7. package/lib/browser/{chunk-BVV2ZW34.js → chunk-NHFEA72Q.js} +79 -65
  8. package/lib/browser/{chunk-2GVXYEMC.mjs → chunk-O7B67YBY.mjs} +54 -54
  9. package/lib/browser/{chunk-65HGG3CV.mjs → chunk-UYUNRMLU.mjs} +1 -1
  10. package/lib/browser/index.d.ts +3 -3
  11. package/lib/browser/index.js +8 -8
  12. package/lib/browser/index.mjs +6 -6
  13. package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +2 -2
  14. package/lib/browser/interceptors/XMLHttpRequest/index.js +4 -4
  15. package/lib/browser/interceptors/XMLHttpRequest/index.mjs +3 -3
  16. package/lib/browser/interceptors/fetch/index.d.ts +2 -2
  17. package/lib/browser/interceptors/fetch/index.js +3 -3
  18. package/lib/browser/interceptors/fetch/index.mjs +2 -2
  19. package/lib/browser/presets/browser.d.ts +2 -2
  20. package/lib/browser/presets/browser.js +6 -6
  21. package/lib/browser/presets/browser.mjs +4 -4
  22. package/lib/node/{BatchInterceptor-5c1e5de3.d.ts → BatchInterceptor-fe69020d.d.ts} +1 -1
  23. package/lib/node/{Interceptor-b3a4098c.d.ts → Interceptor-f9dfe016.d.ts} +3 -3
  24. package/lib/node/RemoteHttpInterceptor.d.ts +3 -3
  25. package/lib/node/RemoteHttpInterceptor.js +25 -19
  26. package/lib/node/RemoteHttpInterceptor.mjs +21 -15
  27. package/lib/node/{chunk-F7BBA6FT.js → chunk-2OJRZCGS.js} +76 -62
  28. package/lib/node/{chunk-6CRMKMDL.mjs → chunk-3V5OWTY7.mjs} +54 -55
  29. package/lib/node/{chunk-62KFIM4W.js → chunk-6KJ5M2VR.js} +56 -57
  30. package/lib/node/{chunk-62MBJHEQ.js → chunk-7XU7Q63W.js} +116 -98
  31. package/lib/node/{chunk-MUUQLKVJ.js → chunk-PKB2CXQV.js} +3 -3
  32. package/lib/node/{chunk-SFLY7F52.js → chunk-RJMXHEGJ.js} +6 -6
  33. package/lib/node/{chunk-X3TLFWGD.mjs → chunk-RL5IV5PL.mjs} +72 -58
  34. package/lib/node/{chunk-RFVEKRYP.mjs → chunk-S5A4P4BZ.mjs} +1 -1
  35. package/lib/node/{chunk-IC6Y7RGW.mjs → chunk-SBAVVQIW.mjs} +5 -5
  36. package/lib/node/{chunk-O7RUZJPG.mjs → chunk-XVHIXGXD.mjs} +116 -98
  37. package/lib/node/index.d.ts +3 -3
  38. package/lib/node/index.js +4 -4
  39. package/lib/node/index.mjs +3 -3
  40. package/lib/node/interceptors/ClientRequest/index.d.ts +2 -2
  41. package/lib/node/interceptors/ClientRequest/index.js +3 -3
  42. package/lib/node/interceptors/ClientRequest/index.mjs +2 -2
  43. package/lib/node/interceptors/XMLHttpRequest/index.d.ts +2 -2
  44. package/lib/node/interceptors/XMLHttpRequest/index.js +4 -4
  45. package/lib/node/interceptors/XMLHttpRequest/index.mjs +3 -3
  46. package/lib/node/interceptors/fetch/index.d.ts +2 -2
  47. package/lib/node/interceptors/fetch/index.js +20 -15
  48. package/lib/node/interceptors/fetch/index.mjs +19 -14
  49. package/lib/node/presets/node.d.ts +2 -2
  50. package/lib/node/presets/node.js +6 -6
  51. package/lib/node/presets/node.mjs +4 -4
  52. package/package.json +3 -4
  53. package/src/BatchInterceptor.ts +4 -4
  54. package/src/Interceptor.ts +27 -27
  55. package/src/RemoteHttpInterceptor.ts +16 -10
  56. package/src/interceptors/ClientRequest/NodeClientRequest.test.ts +11 -11
  57. package/src/interceptors/ClientRequest/NodeClientRequest.ts +53 -42
  58. package/src/interceptors/ClientRequest/http.request.ts +3 -3
  59. package/src/interceptors/ClientRequest/index.ts +4 -4
  60. package/src/interceptors/ClientRequest/utils/createRequest.test.ts +5 -5
  61. package/src/interceptors/ClientRequest/utils/getIncomingMessageBody.ts +7 -7
  62. package/src/interceptors/ClientRequest/utils/normalizeClientRequestArgs.ts +27 -27
  63. package/src/interceptors/ClientRequest/utils/normalizeClientRequestEndArgs.ts +4 -4
  64. package/src/interceptors/ClientRequest/utils/normalizeClientRequestWriteArgs.ts +7 -4
  65. package/src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts +47 -36
  66. package/src/interceptors/XMLHttpRequest/XMLHttpRequestProxy.ts +21 -17
  67. package/src/interceptors/XMLHttpRequest/index.ts +5 -5
  68. package/src/interceptors/fetch/index.ts +19 -14
  69. package/src/utils/AsyncEventEmitter.ts +27 -27
  70. package/src/utils/cloneObject.ts +7 -7
  71. package/src/utils/getUrlByRequestOptions.ts +13 -13
  72. package/src/utils/debug.ts +0 -4
@@ -1,5 +1,5 @@
1
+ import { Logger } from '@open-draft/logger';
1
2
  import { EventMap, Emitter, Listener } from 'strict-event-emitter';
2
- import { Debugger } from 'debug';
3
3
 
4
4
  type AnyFunction = (...args: any[]) => any;
5
5
  type LazyCallbackReturnType<FnType extends AnyFunction> = Parameters<FnType> | [];
@@ -30,7 +30,7 @@ declare enum AsyncEventEmitterReadyState {
30
30
  }
31
31
  declare class AsyncEventEmitter<Events extends EventMap> extends Emitter<Events> {
32
32
  readyState: AsyncEventEmitterReadyState;
33
- private log;
33
+ private logger;
34
34
  protected queue: Map<keyof Events, Array<QueueItem<Events[any]>>>;
35
35
  constructor();
36
36
  on<EventName extends keyof Events>(eventName: EventName, listener: Listener<any>): this;
@@ -69,7 +69,7 @@ declare class Interceptor<Events extends InterceptorEventMap> {
69
69
  private readonly symbol;
70
70
  protected emitter: AsyncEventEmitter<Events>;
71
71
  protected subscriptions: Array<InterceptorSubscription>;
72
- protected log: Debugger;
72
+ protected logger: Logger;
73
73
  readyState: InterceptorReadyState;
74
74
  constructor(symbol: symbol);
75
75
  /**
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  IS_PATCHED_MODULE,
7
7
  Interceptor
8
- } from "./chunk-2GVXYEMC.mjs";
8
+ } from "./chunk-O7B67YBY.mjs";
9
9
 
10
10
  // src/interceptors/fetch/index.ts
11
11
  import { invariant } from "outvariant";
@@ -24,37 +24,39 @@ var _FetchInterceptor = class extends Interceptor {
24
24
  'Failed to patch the "fetch" module: already patched.'
25
25
  );
26
26
  globalThis.fetch = async (input, init) => {
27
+ var _a;
27
28
  const requestId = uuidv4();
28
29
  const request = new Request(input, init);
29
- this.log("[%s] %s", request.method, request.url);
30
+ this.logger.info("[%s] %s", request.method, request.url);
30
31
  const interactiveRequest = toInteractiveRequest(request);
31
- this.log(
32
+ this.logger.info(
32
33
  'emitting the "request" event for %d listener(s)...',
33
34
  this.emitter.listenerCount("request")
34
35
  );
35
36
  this.emitter.emit("request", interactiveRequest, requestId);
36
- this.log("awaiting for the mocked response...");
37
- const [middlewareException, mockedResponse] = await until(async () => {
37
+ this.logger.info("awaiting for the mocked response...");
38
+ const resolverResult = await until(async () => {
38
39
  await this.emitter.untilIdle(
39
40
  "request",
40
41
  ({ args: [, pendingRequestId] }) => {
41
42
  return pendingRequestId === requestId;
42
43
  }
43
44
  );
44
- this.log("all request listeners have been resolved!");
45
+ this.logger.info("all request listeners have been resolved!");
45
46
  const [mockedResponse2] = await interactiveRequest.respondWith.invoked();
46
- this.log("event.respondWith called with:", mockedResponse2);
47
+ this.logger.info("event.respondWith called with:", mockedResponse2);
47
48
  return mockedResponse2;
48
49
  });
49
- if (middlewareException) {
50
+ if (resolverResult.error) {
50
51
  console.error(`${request.method} ${request.url} net::ERR_FAILED`);
51
52
  const error = Object.assign(new TypeError("Failed to fetch"), {
52
- cause: middlewareException
53
+ cause: resolverResult.error
53
54
  });
54
55
  return Promise.reject(error);
55
56
  }
56
- if (mockedResponse) {
57
- this.log("received mocked response:", mockedResponse);
57
+ const mockedResponse = resolverResult.data;
58
+ if (mockedResponse && !((_a = request.signal) == null ? void 0 : _a.aborted)) {
59
+ this.logger.info("received mocked response:", mockedResponse);
58
60
  const responseCloine = mockedResponse.clone();
59
61
  this.emitter.emit(
60
62
  "response",
@@ -71,10 +73,10 @@ var _FetchInterceptor = class extends Interceptor {
71
73
  });
72
74
  return response;
73
75
  }
74
- this.log("no mocked response received!");
76
+ this.logger.info("no mocked response received!");
75
77
  return pureFetch(request).then((response) => {
76
78
  const responseClone = response.clone();
77
- this.log("original fetch performed", responseClone);
79
+ this.logger.info("original fetch performed", responseClone);
78
80
  this.emitter.emit(
79
81
  "response",
80
82
  responseClone,
@@ -94,7 +96,10 @@ var _FetchInterceptor = class extends Interceptor {
94
96
  value: void 0
95
97
  });
96
98
  globalThis.fetch = pureFetch;
97
- this.log('restored native "globalThis.fetch"!', globalThis.fetch.name);
99
+ this.logger.info(
100
+ 'restored native "globalThis.fetch"!',
101
+ globalThis.fetch.name
102
+ );
98
103
  });
99
104
  }
100
105
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var __getOwnPropNames = Object.getOwnPropertyNames;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var __getOwnPropNames = Object.getOwnPropertyNames;
2
2
  var __commonJS = (cb, mod) => function __require() {
3
3
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
4
  };
@@ -6,7 +6,11 @@ var __commonJS = (cb, mod) => function __require() {
6
6
  // src/glossary.ts
7
7
  var IS_PATCHED_MODULE = Symbol("isPatchedModule");
8
8
 
9
+ // src/Interceptor.ts
10
+ var _logger = require('@open-draft/logger');
11
+
9
12
  // src/utils/AsyncEventEmitter.ts
13
+
10
14
  var _stricteventemitter = require('strict-event-emitter');
11
15
 
12
16
  // src/utils/nextTick.ts
@@ -14,37 +18,33 @@ function nextTick(callback) {
14
18
  setTimeout(callback, 0);
15
19
  }
16
20
 
17
- // src/utils/debug.ts
18
- var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
19
- var debug = _debug2.default;
20
-
21
21
  // src/utils/AsyncEventEmitter.ts
22
22
  var AsyncEventEmitter = class extends _stricteventemitter.Emitter {
23
23
  constructor() {
24
24
  super();
25
- this.log = debug("async-event-emitter");
25
+ this.logger = new (0, _logger.Logger)("async-event-emitter");
26
26
  this.queue = /* @__PURE__ */ new Map();
27
27
  this.readyState = "ACTIVE" /* ACTIVE */;
28
28
  }
29
29
  on(eventName, listener) {
30
- const log = this.log.extend("on");
31
- log('adding "%s" listener...', eventName);
30
+ const logger = this.logger.extend("on");
31
+ logger.info('adding "%s" listener...', eventName);
32
32
  if (this.readyState === "DEACTIVATED" /* DEACTIVATED */) {
33
- log("the emitter is destroyed, skipping!");
33
+ logger.info("the emitter is destroyed, skipping!");
34
34
  return this;
35
35
  }
36
36
  return super.on(eventName, async (...args) => {
37
37
  const queue = this.openListenerQueue(eventName);
38
- log('awaiting the "%s" listener...', eventName);
38
+ logger.info('awaiting the "%s" listener...', eventName);
39
39
  queue.push({
40
40
  args,
41
41
  done: new Promise(async (resolve, reject) => {
42
42
  try {
43
43
  await listener(...args);
44
44
  resolve();
45
- log('"%s" listener has resolved!', eventName);
45
+ logger.info('"%s" listener has resolved!', eventName);
46
46
  } catch (error) {
47
- log('"%s" listener has rejected!', error);
47
+ logger.info('"%s" listener has rejected!', error);
48
48
  reject(error);
49
49
  }
50
50
  })
@@ -52,21 +52,21 @@ var AsyncEventEmitter = class extends _stricteventemitter.Emitter {
52
52
  });
53
53
  }
54
54
  emit(eventName, ...data) {
55
- const log = this.log.extend("emit");
56
- log('emitting "%s" event...', eventName);
55
+ const logger = this.logger.extend("emit");
56
+ logger.info('emitting "%s" event...', eventName);
57
57
  if (this.readyState === "DEACTIVATED" /* DEACTIVATED */) {
58
- log("the emitter is destroyed, skipping!");
58
+ logger.info("the emitter is destroyed, skipping!");
59
59
  return false;
60
60
  }
61
61
  if (this.isInternalEventName(eventName)) {
62
62
  return super.emit(eventName, ...data);
63
63
  }
64
64
  this.openListenerQueue(eventName);
65
- log('appending a one-time cleanup "%s" listener...', eventName);
65
+ logger.info('appending a one-time cleanup "%s" listener...', eventName);
66
66
  this.once(eventName, () => {
67
67
  nextTick(() => {
68
68
  this.queue.delete(eventName);
69
- log('cleaned up "%s" listeners queue!', eventName);
69
+ logger.info('cleaned up "%s" listeners queue!', eventName);
70
70
  });
71
71
  });
72
72
  return super.emit(eventName, ...data);
@@ -80,44 +80,44 @@ var AsyncEventEmitter = class extends _stricteventemitter.Emitter {
80
80
  });
81
81
  }
82
82
  openListenerQueue(eventName) {
83
- const log = this.log.extend("openListenerQueue");
84
- log('opening "%s" listeners queue...', eventName);
83
+ const logger = this.logger.extend("openListenerQueue");
84
+ logger.info('opening "%s" listeners queue...', eventName);
85
85
  const queue = this.queue.get(eventName);
86
86
  if (!queue) {
87
- log("no queue found, creating one...");
87
+ logger.info("no queue found, creating one...");
88
88
  this.queue.set(eventName, []);
89
89
  return [];
90
90
  }
91
- log("returning an exising queue:", queue);
91
+ logger.info("returning an exising queue:", queue);
92
92
  return queue;
93
93
  }
94
94
  removeAllListeners(eventName) {
95
- const log = this.log.extend("removeAllListeners");
96
- log("event:", eventName);
95
+ const logger = this.logger.extend("removeAllListeners");
96
+ logger.info("event:", eventName);
97
97
  if (eventName) {
98
98
  this.queue.delete(eventName);
99
- log(
99
+ logger.info(
100
100
  'cleared the "%s" listeners queue!',
101
101
  eventName,
102
102
  this.queue.get(eventName)
103
103
  );
104
104
  } else {
105
105
  this.queue.clear();
106
- log("cleared the listeners queue!", this.queue);
106
+ logger.info("cleared the listeners queue!", this.queue);
107
107
  }
108
108
  return super.removeAllListeners(eventName);
109
109
  }
110
110
  activate() {
111
- const log = this.log.extend("activate");
111
+ const logger = this.logger.extend("activate");
112
112
  this.readyState = "ACTIVE" /* ACTIVE */;
113
- log("set state to:", this.readyState);
113
+ logger.info("set state to:", this.readyState);
114
114
  }
115
115
  deactivate() {
116
- const log = this.log.extend("deactivate");
117
- log("removing all listeners...");
116
+ const logger = this.logger.extend("deactivate");
117
+ logger.info("removing all listeners...");
118
118
  this.removeAllListeners();
119
119
  this.readyState = "DEACTIVATED" /* DEACTIVATED */;
120
- log("set state to:", this.readyState);
120
+ logger.info("set state to:", this.readyState);
121
121
  }
122
122
  isInternalEventName(eventName) {
123
123
  return eventName === "newListener" || eventName === "removeListener";
@@ -148,37 +148,37 @@ var Interceptor = class {
148
148
  this.readyState = "INACTIVE" /* INACTIVE */;
149
149
  this.emitter = new AsyncEventEmitter();
150
150
  this.subscriptions = [];
151
- this.log = debug(symbol.description);
151
+ this.logger = new (0, _logger.Logger)(symbol.description);
152
152
  this.emitter.setMaxListeners(0);
153
- this.log("constructing the interceptor...");
153
+ this.logger.info("constructing the interceptor...");
154
154
  }
155
155
  checkEnvironment() {
156
156
  return true;
157
157
  }
158
158
  apply() {
159
- const log = this.log.extend("apply");
160
- log("applying the interceptor...");
159
+ const logger = this.logger.extend("apply");
160
+ logger.info("applying the interceptor...");
161
161
  if (this.readyState === "APPLIED" /* APPLIED */) {
162
- log("intercepted already applied!");
162
+ logger.info("intercepted already applied!");
163
163
  return;
164
164
  }
165
165
  const shouldApply = this.checkEnvironment();
166
166
  if (!shouldApply) {
167
- log("the interceptor cannot be applied in this environment!");
167
+ logger.info("the interceptor cannot be applied in this environment!");
168
168
  return;
169
169
  }
170
170
  this.readyState = "APPLYING" /* APPLYING */;
171
171
  this.emitter.activate();
172
- log("activated the emiter!", this.emitter.readyState);
172
+ logger.info("activated the emiter!", this.emitter.readyState);
173
173
  const runningInstance = this.getInstance();
174
174
  if (runningInstance) {
175
- log("found a running instance, reusing...");
175
+ logger.info("found a running instance, reusing...");
176
176
  this.on = (event, listener) => {
177
- log('proxying the "%s" listener', event);
177
+ logger.info('proxying the "%s" listener', event);
178
178
  runningInstance.emitter.addListener(event, listener);
179
179
  this.subscriptions.push(() => {
180
180
  runningInstance.emitter.removeListener(event, listener);
181
- log('removed proxied "%s" listener!', event);
181
+ logger.info('removed proxied "%s" listener!', event);
182
182
  });
183
183
  };
184
184
  nextTick(() => {
@@ -186,7 +186,7 @@ var Interceptor = class {
186
186
  });
187
187
  return;
188
188
  }
189
- log("no running instance found, setting up a new instance...");
189
+ logger.info("no running instance found, setting up a new instance...");
190
190
  this.setup();
191
191
  this.setInstance();
192
192
  nextTick(() => {
@@ -196,38 +196,38 @@ var Interceptor = class {
196
196
  setup() {
197
197
  }
198
198
  on(eventName, listener) {
199
- const log = this.log.extend("on");
199
+ const logger = this.logger.extend("on");
200
200
  if (this.readyState === "DISPOSING" /* DISPOSING */ || this.readyState === "DISPOSED" /* DISPOSED */) {
201
- log("cannot listen to events, already disposed!");
201
+ logger.info("cannot listen to events, already disposed!");
202
202
  return;
203
203
  }
204
- log('adding "%s" event listener:', eventName, listener.name);
204
+ logger.info('adding "%s" event listener:', eventName, listener.name);
205
205
  this.emitter.on(eventName, listener);
206
206
  }
207
207
  dispose() {
208
- const log = this.log.extend("dispose");
208
+ const logger = this.logger.extend("dispose");
209
209
  if (this.readyState === "DISPOSED" /* DISPOSED */) {
210
- log("cannot dispose, already disposed!");
210
+ logger.info("cannot dispose, already disposed!");
211
211
  return;
212
212
  }
213
- log("disposing the interceptor...");
213
+ logger.info("disposing the interceptor...");
214
214
  this.readyState = "DISPOSING" /* DISPOSING */;
215
215
  if (!this.getInstance()) {
216
- log("no interceptors running, skipping dispose...");
216
+ logger.info("no interceptors running, skipping dispose...");
217
217
  return;
218
218
  }
219
219
  this.clearInstance();
220
- log("global symbol deleted:", getGlobalSymbol(this.symbol));
220
+ logger.info("global symbol deleted:", getGlobalSymbol(this.symbol));
221
221
  if (this.subscriptions.length > 0) {
222
- log("disposing of %d subscriptions...", this.subscriptions.length);
222
+ logger.info("disposing of %d subscriptions...", this.subscriptions.length);
223
223
  for (const dispose of this.subscriptions) {
224
224
  dispose();
225
225
  }
226
226
  this.subscriptions = [];
227
- log("disposed of all subscriptions!", this.subscriptions.length);
227
+ logger.info("disposed of all subscriptions!", this.subscriptions.length);
228
228
  }
229
229
  this.emitter.deactivate();
230
- log("destroyed the listener!");
230
+ logger.info("destroyed the listener!");
231
231
  nextTick(() => {
232
232
  this.readyState = "DISPOSED" /* DISPOSED */;
233
233
  });
@@ -235,16 +235,16 @@ var Interceptor = class {
235
235
  getInstance() {
236
236
  var _a;
237
237
  const instance = getGlobalSymbol(this.symbol);
238
- this.log("retrieved global instance:", (_a = instance == null ? void 0 : instance.constructor) == null ? void 0 : _a.name);
238
+ this.logger.info("retrieved global instance:", (_a = instance == null ? void 0 : instance.constructor) == null ? void 0 : _a.name);
239
239
  return instance;
240
240
  }
241
241
  setInstance() {
242
242
  setGlobalSymbol(this.symbol, this);
243
- this.log("set global instance!", this.symbol.description);
243
+ this.logger.info("set global instance!", this.symbol.description);
244
244
  }
245
245
  clearInstance() {
246
246
  deleteGlobalSymbol(this.symbol);
247
- this.log("cleared global instance!", this.symbol.description);
247
+ this.logger.info("cleared global instance!", this.symbol.description);
248
248
  }
249
249
  };
250
250
 
@@ -5,12 +5,12 @@ var _chunkPCFJD76Xjs = require('./chunk-PCFJD76X.js');
5
5
 
6
6
 
7
7
 
8
- var _chunkOK5YCL7Ljs = require('./chunk-OK5YCL7L.js');
8
+ var _chunkECRLBCQNjs = require('./chunk-ECRLBCQN.js');
9
9
 
10
10
  // src/interceptors/fetch/index.ts
11
11
  var _outvariant = require('outvariant');
12
12
  var _until = require('@open-draft/until');
13
- var _FetchInterceptor = class extends _chunkOK5YCL7Ljs.Interceptor {
13
+ var _FetchInterceptor = class extends _chunkECRLBCQNjs.Interceptor {
14
14
  constructor() {
15
15
  super(_FetchInterceptor.symbol);
16
16
  }
@@ -20,41 +20,43 @@ var _FetchInterceptor = class extends _chunkOK5YCL7Ljs.Interceptor {
20
20
  setup() {
21
21
  const pureFetch = globalThis.fetch;
22
22
  _outvariant.invariant.call(void 0,
23
- !pureFetch[_chunkOK5YCL7Ljs.IS_PATCHED_MODULE],
23
+ !pureFetch[_chunkECRLBCQNjs.IS_PATCHED_MODULE],
24
24
  'Failed to patch the "fetch" module: already patched.'
25
25
  );
26
26
  globalThis.fetch = async (input, init) => {
27
+ var _a;
27
28
  const requestId = _chunkPCFJD76Xjs.uuidv4.call(void 0, );
28
29
  const request = new Request(input, init);
29
- this.log("[%s] %s", request.method, request.url);
30
+ this.logger.info("[%s] %s", request.method, request.url);
30
31
  const interactiveRequest = _chunkPCFJD76Xjs.toInteractiveRequest.call(void 0, request);
31
- this.log(
32
+ this.logger.info(
32
33
  'emitting the "request" event for %d listener(s)...',
33
34
  this.emitter.listenerCount("request")
34
35
  );
35
36
  this.emitter.emit("request", interactiveRequest, requestId);
36
- this.log("awaiting for the mocked response...");
37
- const [middlewareException, mockedResponse] = await _until.until.call(void 0, async () => {
37
+ this.logger.info("awaiting for the mocked response...");
38
+ const resolverResult = await _until.until.call(void 0, async () => {
38
39
  await this.emitter.untilIdle(
39
40
  "request",
40
41
  ({ args: [, pendingRequestId] }) => {
41
42
  return pendingRequestId === requestId;
42
43
  }
43
44
  );
44
- this.log("all request listeners have been resolved!");
45
+ this.logger.info("all request listeners have been resolved!");
45
46
  const [mockedResponse2] = await interactiveRequest.respondWith.invoked();
46
- this.log("event.respondWith called with:", mockedResponse2);
47
+ this.logger.info("event.respondWith called with:", mockedResponse2);
47
48
  return mockedResponse2;
48
49
  });
49
- if (middlewareException) {
50
+ if (resolverResult.error) {
50
51
  console.error(`${request.method} ${request.url} net::ERR_FAILED`);
51
52
  const error = Object.assign(new TypeError("Failed to fetch"), {
52
- cause: middlewareException
53
+ cause: resolverResult.error
53
54
  });
54
55
  return Promise.reject(error);
55
56
  }
56
- if (mockedResponse) {
57
- this.log("received mocked response:", mockedResponse);
57
+ const mockedResponse = resolverResult.data;
58
+ if (mockedResponse && !((_a = request.signal) == null ? void 0 : _a.aborted)) {
59
+ this.logger.info("received mocked response:", mockedResponse);
58
60
  const responseCloine = mockedResponse.clone();
59
61
  this.emitter.emit(
60
62
  "response",
@@ -71,10 +73,10 @@ var _FetchInterceptor = class extends _chunkOK5YCL7Ljs.Interceptor {
71
73
  });
72
74
  return response;
73
75
  }
74
- this.log("no mocked response received!");
76
+ this.logger.info("no mocked response received!");
75
77
  return pureFetch(request).then((response) => {
76
78
  const responseClone = response.clone();
77
- this.log("original fetch performed", responseClone);
79
+ this.logger.info("original fetch performed", responseClone);
78
80
  this.emitter.emit(
79
81
  "response",
80
82
  responseClone,
@@ -84,17 +86,20 @@ var _FetchInterceptor = class extends _chunkOK5YCL7Ljs.Interceptor {
84
86
  return response;
85
87
  });
86
88
  };
87
- Object.defineProperty(globalThis.fetch, _chunkOK5YCL7Ljs.IS_PATCHED_MODULE, {
89
+ Object.defineProperty(globalThis.fetch, _chunkECRLBCQNjs.IS_PATCHED_MODULE, {
88
90
  enumerable: true,
89
91
  configurable: true,
90
92
  value: true
91
93
  });
92
94
  this.subscriptions.push(() => {
93
- Object.defineProperty(globalThis.fetch, _chunkOK5YCL7Ljs.IS_PATCHED_MODULE, {
95
+ Object.defineProperty(globalThis.fetch, _chunkECRLBCQNjs.IS_PATCHED_MODULE, {
94
96
  value: void 0
95
97
  });
96
98
  globalThis.fetch = pureFetch;
97
- this.log('restored native "globalThis.fetch"!', globalThis.fetch.name);
99
+ this.logger.info(
100
+ 'restored native "globalThis.fetch"!',
101
+ globalThis.fetch.name
102
+ );
98
103
  });
99
104
  }
100
105
  };