msw 2.11.2 → 2.11.4
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.
- package/lib/browser/index.js +129 -114
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/index.mjs +129 -114
- package/lib/browser/index.mjs.map +1 -1
- package/lib/core/{HttpResponse-BbwAqLE_.d.ts → HttpResponse-BpT5A_2L.d.ts} +1 -0
- package/lib/core/{HttpResponse-B4YmE-GJ.d.mts → HttpResponse-DGUjNQHG.d.mts} +1 -0
- package/lib/core/HttpResponse.d.mts +1 -1
- package/lib/core/HttpResponse.d.ts +1 -1
- package/lib/core/HttpResponse.js.map +1 -1
- package/lib/core/HttpResponse.mjs.map +1 -1
- package/lib/core/SetupApi.d.mts +1 -1
- package/lib/core/SetupApi.d.ts +1 -1
- package/lib/core/getResponse.d.mts +1 -1
- package/lib/core/getResponse.d.ts +1 -1
- package/lib/core/graphql.d.mts +1 -1
- package/lib/core/graphql.d.ts +1 -1
- package/lib/core/handlers/GraphQLHandler.d.mts +1 -1
- package/lib/core/handlers/GraphQLHandler.d.ts +1 -1
- package/lib/core/handlers/HttpHandler.d.mts +1 -1
- package/lib/core/handlers/HttpHandler.d.ts +1 -1
- package/lib/core/handlers/HttpHandler.js +0 -5
- package/lib/core/handlers/HttpHandler.js.map +1 -1
- package/lib/core/handlers/HttpHandler.mjs +1 -6
- package/lib/core/handlers/HttpHandler.mjs.map +1 -1
- package/lib/core/handlers/RequestHandler.d.mts +1 -1
- package/lib/core/handlers/RequestHandler.d.ts +1 -1
- package/lib/core/http.d.mts +1 -1
- package/lib/core/http.d.ts +1 -1
- package/lib/core/index.d.mts +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/passthrough.d.mts +1 -1
- package/lib/core/passthrough.d.ts +1 -1
- package/lib/core/utils/HttpResponse/decorators.d.mts +1 -1
- package/lib/core/utils/HttpResponse/decorators.d.ts +1 -1
- package/lib/core/utils/HttpResponse/decorators.js +1 -1
- package/lib/core/utils/HttpResponse/decorators.js.map +1 -1
- package/lib/core/utils/HttpResponse/decorators.mjs +1 -1
- package/lib/core/utils/HttpResponse/decorators.mjs.map +1 -1
- package/lib/core/utils/executeHandlers.d.mts +1 -1
- package/lib/core/utils/executeHandlers.d.ts +1 -1
- package/lib/core/utils/handleRequest.d.mts +1 -1
- package/lib/core/utils/handleRequest.d.ts +1 -1
- package/lib/core/utils/handleRequest.js +8 -8
- package/lib/core/utils/handleRequest.js.map +1 -1
- package/lib/core/utils/handleRequest.mjs +8 -8
- package/lib/core/utils/handleRequest.mjs.map +1 -1
- package/lib/core/utils/internal/isHandlerKind.d.mts +1 -1
- package/lib/core/utils/internal/isHandlerKind.d.ts +1 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +1 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +1 -1
- package/lib/core/utils/internal/parseMultipartData.d.mts +1 -1
- package/lib/core/utils/internal/parseMultipartData.d.ts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.mts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +1 -1
- package/lib/core/utils/logging/serializeResponse.js +1 -1
- package/lib/core/utils/logging/serializeResponse.js.map +1 -1
- package/lib/core/utils/logging/serializeResponse.mjs +1 -1
- package/lib/core/utils/logging/serializeResponse.mjs.map +1 -1
- package/lib/core/utils/request/getRequestCookies.js +3 -13
- package/lib/core/utils/request/getRequestCookies.js.map +1 -1
- package/lib/core/utils/request/getRequestCookies.mjs +6 -3
- package/lib/core/utils/request/getRequestCookies.mjs.map +1 -1
- package/lib/core/utils/url/cleanUrl.d.mts +1 -2
- package/lib/core/utils/url/cleanUrl.d.ts +1 -2
- package/lib/core/utils/url/cleanUrl.js +1 -5
- package/lib/core/utils/url/cleanUrl.js.map +1 -1
- package/lib/core/utils/url/cleanUrl.mjs +1 -5
- package/lib/core/utils/url/cleanUrl.mjs.map +1 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +1 -2
- package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +1 -2
- package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +1 -1
- package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +1 -1
- package/lib/core/ws/WebSocketMemoryClientStore.d.mts +1 -2
- package/lib/core/ws/WebSocketMemoryClientStore.d.ts +1 -2
- package/lib/core/ws/WebSocketMemoryClientStore.js.map +1 -1
- package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +1 -1
- package/lib/core/ws/handleWebSocketEvent.d.mts +2 -3
- package/lib/core/ws/handleWebSocketEvent.d.ts +2 -3
- package/lib/core/ws/handleWebSocketEvent.js.map +1 -1
- package/lib/core/ws/handleWebSocketEvent.mjs.map +1 -1
- package/lib/core/ws/utils/getMessageLength.d.mts +1 -1
- package/lib/core/ws/utils/getMessageLength.d.ts +1 -1
- package/lib/core/ws/utils/getMessageLength.js.map +1 -1
- package/lib/core/ws/utils/getMessageLength.mjs.map +1 -1
- package/lib/iife/index.js +595 -636
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +2 -1
- package/lib/shims/cookie.d.mts +7 -0
- package/lib/shims/cookie.d.ts +7 -0
- package/lib/shims/cookie.js +204 -0
- package/lib/shims/cookie.mjs +196 -0
- package/lib/shims/statuses.d.mts +6 -0
- package/lib/shims/statuses.d.ts +6 -0
- package/lib/shims/statuses.js +195 -0
- package/lib/shims/statuses.mjs +187 -0
- package/package.json +7 -8
- package/src/browser/setupWorker/glossary.ts +1 -5
- package/src/browser/setupWorker/setupWorker.ts +4 -9
- package/src/browser/setupWorker/start/createRequestListener.ts +4 -1
- package/src/browser/setupWorker/start/utils/getWorkerInstance.ts +17 -16
- package/src/browser/utils/{supportsReadableStreamTransfer.ts → supports.ts} +13 -0
- package/src/browser/utils/workerChannel.ts +13 -0
- package/src/core/HttpResponse.ts +1 -0
- package/src/core/handlers/HttpHandler.ts +1 -8
- package/src/core/utils/HttpResponse/decorators.ts +1 -1
- package/src/core/utils/handleRequest.ts +8 -8
- package/src/core/utils/logging/serializeResponse.ts +1 -1
- package/src/core/utils/request/getRequestCookies.ts +6 -3
- package/src/core/utils/url/cleanUrl.ts +0 -4
- package/src/core/ws/WebSocketIndexedDBClientStore.ts +1 -1
- package/src/core/ws/WebSocketMemoryClientStore.ts +1 -1
- package/src/core/ws/handleWebSocketEvent.ts +1 -1
- package/src/core/ws/utils/getMessageLength.ts +1 -1
- package/src/mockServiceWorker.js +1 -0
- package/src/shims/cookie.ts +7 -0
- package/src/shims/statuses.ts +6 -0
- package/src/tsconfig.src.json +1 -6
- package/src/browser/utils/deferNetworkRequestsUntil.test.ts +0 -48
- package/src/browser/utils/deferNetworkRequestsUntil.ts +0 -29
package/lib/browser/index.js
CHANGED
|
@@ -124,6 +124,72 @@ function isNodeProcess() {
|
|
|
124
124
|
return false;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
+
// node_modules/.pnpm/@open-draft+deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.mjs
|
|
128
|
+
function createDeferredExecutor() {
|
|
129
|
+
const executor = (resolve, reject) => {
|
|
130
|
+
executor.state = "pending";
|
|
131
|
+
executor.resolve = (data) => {
|
|
132
|
+
if (executor.state !== "pending") {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
executor.result = data;
|
|
136
|
+
const onFulfilled = (value) => {
|
|
137
|
+
executor.state = "fulfilled";
|
|
138
|
+
return value;
|
|
139
|
+
};
|
|
140
|
+
return resolve(
|
|
141
|
+
data instanceof Promise ? data : Promise.resolve(data).then(onFulfilled)
|
|
142
|
+
);
|
|
143
|
+
};
|
|
144
|
+
executor.reject = (reason) => {
|
|
145
|
+
if (executor.state !== "pending") {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
queueMicrotask(() => {
|
|
149
|
+
executor.state = "rejected";
|
|
150
|
+
});
|
|
151
|
+
return reject(executor.rejectionReason = reason);
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
return executor;
|
|
155
|
+
}
|
|
156
|
+
var DeferredPromise = class extends Promise {
|
|
157
|
+
#executor;
|
|
158
|
+
resolve;
|
|
159
|
+
reject;
|
|
160
|
+
constructor(executor = null) {
|
|
161
|
+
const deferredExecutor = createDeferredExecutor();
|
|
162
|
+
super((originalResolve, originalReject) => {
|
|
163
|
+
deferredExecutor(originalResolve, originalReject);
|
|
164
|
+
executor?.(deferredExecutor.resolve, deferredExecutor.reject);
|
|
165
|
+
});
|
|
166
|
+
this.#executor = deferredExecutor;
|
|
167
|
+
this.resolve = this.#executor.resolve;
|
|
168
|
+
this.reject = this.#executor.reject;
|
|
169
|
+
}
|
|
170
|
+
get state() {
|
|
171
|
+
return this.#executor.state;
|
|
172
|
+
}
|
|
173
|
+
get rejectionReason() {
|
|
174
|
+
return this.#executor.rejectionReason;
|
|
175
|
+
}
|
|
176
|
+
then(onFulfilled, onRejected) {
|
|
177
|
+
return this.#decorate(super.then(onFulfilled, onRejected));
|
|
178
|
+
}
|
|
179
|
+
catch(onRejected) {
|
|
180
|
+
return this.#decorate(super.catch(onRejected));
|
|
181
|
+
}
|
|
182
|
+
finally(onfinally) {
|
|
183
|
+
return this.#decorate(super.finally(onfinally));
|
|
184
|
+
}
|
|
185
|
+
#decorate(promise) {
|
|
186
|
+
return Object.defineProperties(promise, {
|
|
187
|
+
resolve: { configurable: true, value: this.resolve },
|
|
188
|
+
reject: { configurable: true, value: this.reject }
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
|
|
127
193
|
// src/browser/setupWorker/start/utils/prepareStartHandler.ts
|
|
128
194
|
var import_mergeRight = require("../core/utils/internal/mergeRight");
|
|
129
195
|
var DEFAULT_START_OPTIONS = {
|
|
@@ -142,17 +208,16 @@ var DEFAULT_START_OPTIONS = {
|
|
|
142
208
|
// src/browser/setupWorker/start/createStartHandler.ts
|
|
143
209
|
var import_devUtils6 = require("../core/utils/internal/devUtils");
|
|
144
210
|
|
|
145
|
-
// node_modules/.pnpm
|
|
146
|
-
|
|
211
|
+
// node_modules/.pnpm/until-async@3.0.2/node_modules/until-async/lib/index.js
|
|
212
|
+
async function until(callback) {
|
|
147
213
|
try {
|
|
148
|
-
|
|
214
|
+
return [null, await callback().catch((error2) => {
|
|
149
215
|
throw error2;
|
|
150
|
-
});
|
|
151
|
-
return { error: null, data };
|
|
216
|
+
})];
|
|
152
217
|
} catch (error2) {
|
|
153
|
-
return
|
|
218
|
+
return [error2, null];
|
|
154
219
|
}
|
|
155
|
-
}
|
|
220
|
+
}
|
|
156
221
|
|
|
157
222
|
// src/browser/setupWorker/start/utils/getWorkerInstance.ts
|
|
158
223
|
var import_devUtils = require("../core/utils/internal/devUtils");
|
|
@@ -201,19 +266,17 @@ var getWorkerInstance = async (url, options = {}, findWorker) => {
|
|
|
201
266
|
existingRegistration
|
|
202
267
|
];
|
|
203
268
|
}
|
|
204
|
-
const registrationResult = await until(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
if (registrationResult.error) {
|
|
216
|
-
const isWorkerMissing = registrationResult.error.message.includes("(404)");
|
|
269
|
+
const [registrationError, registrationResult] = await until(async () => {
|
|
270
|
+
const registration = await navigator.serviceWorker.register(url, options);
|
|
271
|
+
return [
|
|
272
|
+
// Compare existing worker registration by its worker URL,
|
|
273
|
+
// to prevent irrelevant workers to resolve here (such as Codesandbox worker).
|
|
274
|
+
getWorkerByRegistration(registration, absoluteWorkerUrl, findWorker),
|
|
275
|
+
registration
|
|
276
|
+
];
|
|
277
|
+
});
|
|
278
|
+
if (registrationError) {
|
|
279
|
+
const isWorkerMissing = registrationError.message.includes("(404)");
|
|
217
280
|
if (isWorkerMissing) {
|
|
218
281
|
const scopeUrl = new URL(options?.scope || "/", location.href);
|
|
219
282
|
throw new Error(
|
|
@@ -227,77 +290,11 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
|
|
|
227
290
|
throw new Error(
|
|
228
291
|
import_devUtils.devUtils.formatMessage(
|
|
229
292
|
"Failed to register the Service Worker:\n\n%s",
|
|
230
|
-
|
|
293
|
+
registrationError.message
|
|
231
294
|
)
|
|
232
295
|
);
|
|
233
296
|
}
|
|
234
|
-
return registrationResult
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
// node_modules/.pnpm/@open-draft+deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.mjs
|
|
238
|
-
function createDeferredExecutor() {
|
|
239
|
-
const executor = (resolve, reject) => {
|
|
240
|
-
executor.state = "pending";
|
|
241
|
-
executor.resolve = (data) => {
|
|
242
|
-
if (executor.state !== "pending") {
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
executor.result = data;
|
|
246
|
-
const onFulfilled = (value) => {
|
|
247
|
-
executor.state = "fulfilled";
|
|
248
|
-
return value;
|
|
249
|
-
};
|
|
250
|
-
return resolve(
|
|
251
|
-
data instanceof Promise ? data : Promise.resolve(data).then(onFulfilled)
|
|
252
|
-
);
|
|
253
|
-
};
|
|
254
|
-
executor.reject = (reason) => {
|
|
255
|
-
if (executor.state !== "pending") {
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
queueMicrotask(() => {
|
|
259
|
-
executor.state = "rejected";
|
|
260
|
-
});
|
|
261
|
-
return reject(executor.rejectionReason = reason);
|
|
262
|
-
};
|
|
263
|
-
};
|
|
264
|
-
return executor;
|
|
265
|
-
}
|
|
266
|
-
var DeferredPromise = class extends Promise {
|
|
267
|
-
#executor;
|
|
268
|
-
resolve;
|
|
269
|
-
reject;
|
|
270
|
-
constructor(executor = null) {
|
|
271
|
-
const deferredExecutor = createDeferredExecutor();
|
|
272
|
-
super((originalResolve, originalReject) => {
|
|
273
|
-
deferredExecutor(originalResolve, originalReject);
|
|
274
|
-
executor?.(deferredExecutor.resolve, deferredExecutor.reject);
|
|
275
|
-
});
|
|
276
|
-
this.#executor = deferredExecutor;
|
|
277
|
-
this.resolve = this.#executor.resolve;
|
|
278
|
-
this.reject = this.#executor.reject;
|
|
279
|
-
}
|
|
280
|
-
get state() {
|
|
281
|
-
return this.#executor.state;
|
|
282
|
-
}
|
|
283
|
-
get rejectionReason() {
|
|
284
|
-
return this.#executor.rejectionReason;
|
|
285
|
-
}
|
|
286
|
-
then(onFulfilled, onRejected) {
|
|
287
|
-
return this.#decorate(super.then(onFulfilled, onRejected));
|
|
288
|
-
}
|
|
289
|
-
catch(onRejected) {
|
|
290
|
-
return this.#decorate(super.catch(onRejected));
|
|
291
|
-
}
|
|
292
|
-
finally(onfinally) {
|
|
293
|
-
return this.#decorate(super.finally(onfinally));
|
|
294
|
-
}
|
|
295
|
-
#decorate(promise) {
|
|
296
|
-
return Object.defineProperties(promise, {
|
|
297
|
-
resolve: { configurable: true, value: this.resolve },
|
|
298
|
-
reject: { configurable: true, value: this.reject }
|
|
299
|
-
});
|
|
300
|
-
}
|
|
297
|
+
return registrationResult;
|
|
301
298
|
};
|
|
302
299
|
|
|
303
300
|
// src/browser/setupWorker/start/utils/printStartMessage.ts
|
|
@@ -363,12 +360,30 @@ function deserializeRequest(serializedRequest) {
|
|
|
363
360
|
});
|
|
364
361
|
}
|
|
365
362
|
|
|
363
|
+
// src/browser/utils/supports.ts
|
|
364
|
+
function supportsServiceWorker() {
|
|
365
|
+
return typeof navigator !== "undefined" && "serviceWorker" in navigator && typeof location !== "undefined" && location.protocol !== "file:";
|
|
366
|
+
}
|
|
367
|
+
function supportsReadableStreamTransfer() {
|
|
368
|
+
try {
|
|
369
|
+
const stream = new ReadableStream({
|
|
370
|
+
start: (controller) => controller.close()
|
|
371
|
+
});
|
|
372
|
+
const message = new MessageChannel();
|
|
373
|
+
message.port1.postMessage(stream, [stream]);
|
|
374
|
+
return true;
|
|
375
|
+
} catch {
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
|
|
366
380
|
// src/browser/setupWorker/start/createRequestListener.ts
|
|
367
381
|
var import_RequestHandler = require("../core/handlers/RequestHandler");
|
|
368
382
|
var import_handleRequest = require("../core/utils/handleRequest");
|
|
369
383
|
var import_devUtils3 = require("../core/utils/internal/devUtils");
|
|
370
384
|
var import_toResponseInit = require("../core/utils/toResponseInit");
|
|
371
385
|
var import_isHandlerKind = require("../core/utils/internal/isHandlerKind");
|
|
386
|
+
var SUPPORTS_READABLE_STREAM_TRANSFER = supportsReadableStreamTransfer();
|
|
372
387
|
var createRequestListener = (context, options) => {
|
|
373
388
|
return async (event) => {
|
|
374
389
|
if (!context.isMockingEnabled && context.workerStoppedAt && event.data.interceptedAt > context.workerStoppedAt) {
|
|
@@ -395,7 +410,7 @@ var createRequestListener = (context, options) => {
|
|
|
395
410
|
const responseClone = response.clone();
|
|
396
411
|
const responseCloneForLogs = response.clone();
|
|
397
412
|
const responseInit = (0, import_toResponseInit.toResponseInit)(response);
|
|
398
|
-
if (
|
|
413
|
+
if (SUPPORTS_READABLE_STREAM_TRANSFER) {
|
|
399
414
|
const responseStreamOrNull = response.body;
|
|
400
415
|
event.postMessage(
|
|
401
416
|
"MOCK_RESPONSE",
|
|
@@ -1350,22 +1365,6 @@ Please consider using a custom "serviceWorker.url" option to point to the actual
|
|
|
1350
1365
|
var import_devUtils8 = require("../core/utils/internal/devUtils");
|
|
1351
1366
|
var import_SetupApi = require("../core/SetupApi");
|
|
1352
1367
|
var import_mergeRight2 = require("../core/utils/internal/mergeRight");
|
|
1353
|
-
|
|
1354
|
-
// src/browser/utils/supportsReadableStreamTransfer.ts
|
|
1355
|
-
function supportsReadableStreamTransfer() {
|
|
1356
|
-
try {
|
|
1357
|
-
const stream = new ReadableStream({
|
|
1358
|
-
start: (controller) => controller.close()
|
|
1359
|
-
});
|
|
1360
|
-
const message = new MessageChannel();
|
|
1361
|
-
message.port1.postMessage(stream, [stream]);
|
|
1362
|
-
return true;
|
|
1363
|
-
} catch {
|
|
1364
|
-
return false;
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1367
|
-
|
|
1368
|
-
// src/browser/setupWorker/setupWorker.ts
|
|
1369
1368
|
var import_webSocketInterceptor = require("../core/ws/webSocketInterceptor");
|
|
1370
1369
|
var import_handleWebSocketEvent = require("../core/ws/handleWebSocketEvent");
|
|
1371
1370
|
var import_attachWebSocketLogger = require("../core/ws/utils/attachWebSocketLogger");
|
|
@@ -1605,6 +1604,7 @@ var Emitter2 = class {
|
|
|
1605
1604
|
|
|
1606
1605
|
// src/browser/utils/workerChannel.ts
|
|
1607
1606
|
var import_isObject = require("../core/utils/internal/isObject");
|
|
1607
|
+
var SUPPORTS_SERVICE_WORKER = supportsServiceWorker();
|
|
1608
1608
|
var WorkerEvent = class extends TypedEvent {
|
|
1609
1609
|
#workerEvent;
|
|
1610
1610
|
constructor(workerEvent) {
|
|
@@ -1634,6 +1634,9 @@ var WorkerChannel = class extends Emitter2 {
|
|
|
1634
1634
|
constructor(options) {
|
|
1635
1635
|
super();
|
|
1636
1636
|
this.options = options;
|
|
1637
|
+
if (!SUPPORTS_SERVICE_WORKER) {
|
|
1638
|
+
return;
|
|
1639
|
+
}
|
|
1637
1640
|
navigator.serviceWorker.addEventListener("message", async (event) => {
|
|
1638
1641
|
const worker = await this.options.worker;
|
|
1639
1642
|
if (event.source != null && event.source !== worker) {
|
|
@@ -1649,12 +1652,28 @@ var WorkerChannel = class extends Emitter2 {
|
|
|
1649
1652
|
* This triggers the `message` event listener on ServiceWorkerGlobalScope.
|
|
1650
1653
|
*/
|
|
1651
1654
|
postMessage(type) {
|
|
1655
|
+
invariant(
|
|
1656
|
+
SUPPORTS_SERVICE_WORKER,
|
|
1657
|
+
"Failed to post message on a WorkerChannel: the Service Worker API is unavailable in this context. This is likely an issue with MSW. Please report it on GitHub: https://github.com/mswjs/msw/issues"
|
|
1658
|
+
);
|
|
1652
1659
|
this.options.worker.then((worker) => {
|
|
1653
1660
|
worker.postMessage(type);
|
|
1654
1661
|
});
|
|
1655
1662
|
}
|
|
1656
1663
|
};
|
|
1657
1664
|
|
|
1665
|
+
// node_modules/.pnpm/@open-draft+until@2.1.0/node_modules/@open-draft/until/lib/index.mjs
|
|
1666
|
+
var until2 = async (promise) => {
|
|
1667
|
+
try {
|
|
1668
|
+
const data = await promise().catch((error2) => {
|
|
1669
|
+
throw error2;
|
|
1670
|
+
});
|
|
1671
|
+
return { error: null, data };
|
|
1672
|
+
} catch (error2) {
|
|
1673
|
+
return { error: error2, data: null };
|
|
1674
|
+
}
|
|
1675
|
+
};
|
|
1676
|
+
|
|
1658
1677
|
// node_modules/.pnpm/@mswjs+interceptors@0.39.1/node_modules/@mswjs/interceptors/lib/browser/chunk-L37TY7LC.mjs
|
|
1659
1678
|
var InterceptorError = class extends Error {
|
|
1660
1679
|
constructor(message) {
|
|
@@ -1817,7 +1836,7 @@ async function handleRequest2(options) {
|
|
|
1817
1836
|
);
|
|
1818
1837
|
}
|
|
1819
1838
|
}
|
|
1820
|
-
const result = await
|
|
1839
|
+
const result = await until2(async () => {
|
|
1821
1840
|
const requestListenersPromise = emitAsync(options.emitter, "request", {
|
|
1822
1841
|
requestId: options.requestId,
|
|
1823
1842
|
request: options.request,
|
|
@@ -1853,7 +1872,7 @@ async function handleRequest2(options) {
|
|
|
1853
1872
|
unhandledExceptionController[kResponsePromise].resolve(void 0);
|
|
1854
1873
|
}
|
|
1855
1874
|
});
|
|
1856
|
-
const nextResult = await
|
|
1875
|
+
const nextResult = await until2(
|
|
1857
1876
|
() => unhandledExceptionController[kResponsePromise]
|
|
1858
1877
|
);
|
|
1859
1878
|
if (nextResult.error) {
|
|
@@ -3027,11 +3046,7 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
|
|
|
3027
3046
|
emitter: this.emitter,
|
|
3028
3047
|
workerChannel: new WorkerChannel({
|
|
3029
3048
|
worker: workerPromise
|
|
3030
|
-
})
|
|
3031
|
-
supports: {
|
|
3032
|
-
serviceWorkerApi: "serviceWorker" in navigator && location.protocol !== "file:",
|
|
3033
|
-
readableStreamTransfer: supportsReadableStreamTransfer()
|
|
3034
|
-
}
|
|
3049
|
+
})
|
|
3035
3050
|
};
|
|
3036
3051
|
}
|
|
3037
3052
|
async start(options = {}) {
|
|
@@ -3070,7 +3085,7 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
|
|
|
3070
3085
|
this.subscriptions.push(() => {
|
|
3071
3086
|
import_webSocketInterceptor.webSocketInterceptor.dispose();
|
|
3072
3087
|
});
|
|
3073
|
-
if (!
|
|
3088
|
+
if (!supportsServiceWorker()) {
|
|
3074
3089
|
const fallbackInterceptor = createFallbackRequestListener(
|
|
3075
3090
|
this.context,
|
|
3076
3091
|
this.context.startOptions
|
|
@@ -3101,7 +3116,7 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
|
|
|
3101
3116
|
this.context.isMockingEnabled = false;
|
|
3102
3117
|
this.context.workerStoppedAt = Date.now();
|
|
3103
3118
|
this.context.emitter.removeAllListeners();
|
|
3104
|
-
if (
|
|
3119
|
+
if (supportsServiceWorker()) {
|
|
3105
3120
|
this.context.workerChannel.removeAllListeners("RESPONSE");
|
|
3106
3121
|
window.clearInterval(this.context.keepAliveInterval);
|
|
3107
3122
|
}
|