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.mjs
CHANGED
|
@@ -97,6 +97,72 @@ function isNodeProcess() {
|
|
|
97
97
|
return false;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
// node_modules/.pnpm/@open-draft+deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.mjs
|
|
101
|
+
function createDeferredExecutor() {
|
|
102
|
+
const executor = (resolve, reject) => {
|
|
103
|
+
executor.state = "pending";
|
|
104
|
+
executor.resolve = (data) => {
|
|
105
|
+
if (executor.state !== "pending") {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
executor.result = data;
|
|
109
|
+
const onFulfilled = (value) => {
|
|
110
|
+
executor.state = "fulfilled";
|
|
111
|
+
return value;
|
|
112
|
+
};
|
|
113
|
+
return resolve(
|
|
114
|
+
data instanceof Promise ? data : Promise.resolve(data).then(onFulfilled)
|
|
115
|
+
);
|
|
116
|
+
};
|
|
117
|
+
executor.reject = (reason) => {
|
|
118
|
+
if (executor.state !== "pending") {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
queueMicrotask(() => {
|
|
122
|
+
executor.state = "rejected";
|
|
123
|
+
});
|
|
124
|
+
return reject(executor.rejectionReason = reason);
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
return executor;
|
|
128
|
+
}
|
|
129
|
+
var DeferredPromise = class extends Promise {
|
|
130
|
+
#executor;
|
|
131
|
+
resolve;
|
|
132
|
+
reject;
|
|
133
|
+
constructor(executor = null) {
|
|
134
|
+
const deferredExecutor = createDeferredExecutor();
|
|
135
|
+
super((originalResolve, originalReject) => {
|
|
136
|
+
deferredExecutor(originalResolve, originalReject);
|
|
137
|
+
executor?.(deferredExecutor.resolve, deferredExecutor.reject);
|
|
138
|
+
});
|
|
139
|
+
this.#executor = deferredExecutor;
|
|
140
|
+
this.resolve = this.#executor.resolve;
|
|
141
|
+
this.reject = this.#executor.reject;
|
|
142
|
+
}
|
|
143
|
+
get state() {
|
|
144
|
+
return this.#executor.state;
|
|
145
|
+
}
|
|
146
|
+
get rejectionReason() {
|
|
147
|
+
return this.#executor.rejectionReason;
|
|
148
|
+
}
|
|
149
|
+
then(onFulfilled, onRejected) {
|
|
150
|
+
return this.#decorate(super.then(onFulfilled, onRejected));
|
|
151
|
+
}
|
|
152
|
+
catch(onRejected) {
|
|
153
|
+
return this.#decorate(super.catch(onRejected));
|
|
154
|
+
}
|
|
155
|
+
finally(onfinally) {
|
|
156
|
+
return this.#decorate(super.finally(onfinally));
|
|
157
|
+
}
|
|
158
|
+
#decorate(promise) {
|
|
159
|
+
return Object.defineProperties(promise, {
|
|
160
|
+
resolve: { configurable: true, value: this.resolve },
|
|
161
|
+
reject: { configurable: true, value: this.reject }
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
|
|
100
166
|
// src/browser/setupWorker/start/utils/prepareStartHandler.ts
|
|
101
167
|
import { mergeRight } from '../core/utils/internal/mergeRight.mjs';
|
|
102
168
|
var DEFAULT_START_OPTIONS = {
|
|
@@ -115,17 +181,16 @@ var DEFAULT_START_OPTIONS = {
|
|
|
115
181
|
// src/browser/setupWorker/start/createStartHandler.ts
|
|
116
182
|
import { devUtils as devUtils6 } from '../core/utils/internal/devUtils.mjs';
|
|
117
183
|
|
|
118
|
-
// node_modules/.pnpm
|
|
119
|
-
|
|
184
|
+
// node_modules/.pnpm/until-async@3.0.2/node_modules/until-async/lib/index.js
|
|
185
|
+
async function until(callback) {
|
|
120
186
|
try {
|
|
121
|
-
|
|
187
|
+
return [null, await callback().catch((error2) => {
|
|
122
188
|
throw error2;
|
|
123
|
-
});
|
|
124
|
-
return { error: null, data };
|
|
189
|
+
})];
|
|
125
190
|
} catch (error2) {
|
|
126
|
-
return
|
|
191
|
+
return [error2, null];
|
|
127
192
|
}
|
|
128
|
-
}
|
|
193
|
+
}
|
|
129
194
|
|
|
130
195
|
// src/browser/setupWorker/start/utils/getWorkerInstance.ts
|
|
131
196
|
import { devUtils } from '../core/utils/internal/devUtils.mjs';
|
|
@@ -174,19 +239,17 @@ var getWorkerInstance = async (url, options = {}, findWorker) => {
|
|
|
174
239
|
existingRegistration
|
|
175
240
|
];
|
|
176
241
|
}
|
|
177
|
-
const registrationResult = await until(
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (registrationResult.error) {
|
|
189
|
-
const isWorkerMissing = registrationResult.error.message.includes("(404)");
|
|
242
|
+
const [registrationError, registrationResult] = await until(async () => {
|
|
243
|
+
const registration = await navigator.serviceWorker.register(url, options);
|
|
244
|
+
return [
|
|
245
|
+
// Compare existing worker registration by its worker URL,
|
|
246
|
+
// to prevent irrelevant workers to resolve here (such as Codesandbox worker).
|
|
247
|
+
getWorkerByRegistration(registration, absoluteWorkerUrl, findWorker),
|
|
248
|
+
registration
|
|
249
|
+
];
|
|
250
|
+
});
|
|
251
|
+
if (registrationError) {
|
|
252
|
+
const isWorkerMissing = registrationError.message.includes("(404)");
|
|
190
253
|
if (isWorkerMissing) {
|
|
191
254
|
const scopeUrl = new URL(options?.scope || "/", location.href);
|
|
192
255
|
throw new Error(
|
|
@@ -200,77 +263,11 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
|
|
|
200
263
|
throw new Error(
|
|
201
264
|
devUtils.formatMessage(
|
|
202
265
|
"Failed to register the Service Worker:\n\n%s",
|
|
203
|
-
|
|
266
|
+
registrationError.message
|
|
204
267
|
)
|
|
205
268
|
);
|
|
206
269
|
}
|
|
207
|
-
return registrationResult
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
// node_modules/.pnpm/@open-draft+deferred-promise@2.2.0/node_modules/@open-draft/deferred-promise/build/index.mjs
|
|
211
|
-
function createDeferredExecutor() {
|
|
212
|
-
const executor = (resolve, reject) => {
|
|
213
|
-
executor.state = "pending";
|
|
214
|
-
executor.resolve = (data) => {
|
|
215
|
-
if (executor.state !== "pending") {
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
executor.result = data;
|
|
219
|
-
const onFulfilled = (value) => {
|
|
220
|
-
executor.state = "fulfilled";
|
|
221
|
-
return value;
|
|
222
|
-
};
|
|
223
|
-
return resolve(
|
|
224
|
-
data instanceof Promise ? data : Promise.resolve(data).then(onFulfilled)
|
|
225
|
-
);
|
|
226
|
-
};
|
|
227
|
-
executor.reject = (reason) => {
|
|
228
|
-
if (executor.state !== "pending") {
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
queueMicrotask(() => {
|
|
232
|
-
executor.state = "rejected";
|
|
233
|
-
});
|
|
234
|
-
return reject(executor.rejectionReason = reason);
|
|
235
|
-
};
|
|
236
|
-
};
|
|
237
|
-
return executor;
|
|
238
|
-
}
|
|
239
|
-
var DeferredPromise = class extends Promise {
|
|
240
|
-
#executor;
|
|
241
|
-
resolve;
|
|
242
|
-
reject;
|
|
243
|
-
constructor(executor = null) {
|
|
244
|
-
const deferredExecutor = createDeferredExecutor();
|
|
245
|
-
super((originalResolve, originalReject) => {
|
|
246
|
-
deferredExecutor(originalResolve, originalReject);
|
|
247
|
-
executor?.(deferredExecutor.resolve, deferredExecutor.reject);
|
|
248
|
-
});
|
|
249
|
-
this.#executor = deferredExecutor;
|
|
250
|
-
this.resolve = this.#executor.resolve;
|
|
251
|
-
this.reject = this.#executor.reject;
|
|
252
|
-
}
|
|
253
|
-
get state() {
|
|
254
|
-
return this.#executor.state;
|
|
255
|
-
}
|
|
256
|
-
get rejectionReason() {
|
|
257
|
-
return this.#executor.rejectionReason;
|
|
258
|
-
}
|
|
259
|
-
then(onFulfilled, onRejected) {
|
|
260
|
-
return this.#decorate(super.then(onFulfilled, onRejected));
|
|
261
|
-
}
|
|
262
|
-
catch(onRejected) {
|
|
263
|
-
return this.#decorate(super.catch(onRejected));
|
|
264
|
-
}
|
|
265
|
-
finally(onfinally) {
|
|
266
|
-
return this.#decorate(super.finally(onfinally));
|
|
267
|
-
}
|
|
268
|
-
#decorate(promise) {
|
|
269
|
-
return Object.defineProperties(promise, {
|
|
270
|
-
resolve: { configurable: true, value: this.resolve },
|
|
271
|
-
reject: { configurable: true, value: this.reject }
|
|
272
|
-
});
|
|
273
|
-
}
|
|
270
|
+
return registrationResult;
|
|
274
271
|
};
|
|
275
272
|
|
|
276
273
|
// src/browser/setupWorker/start/utils/printStartMessage.ts
|
|
@@ -336,12 +333,30 @@ function deserializeRequest(serializedRequest) {
|
|
|
336
333
|
});
|
|
337
334
|
}
|
|
338
335
|
|
|
336
|
+
// src/browser/utils/supports.ts
|
|
337
|
+
function supportsServiceWorker() {
|
|
338
|
+
return typeof navigator !== "undefined" && "serviceWorker" in navigator && typeof location !== "undefined" && location.protocol !== "file:";
|
|
339
|
+
}
|
|
340
|
+
function supportsReadableStreamTransfer() {
|
|
341
|
+
try {
|
|
342
|
+
const stream = new ReadableStream({
|
|
343
|
+
start: (controller) => controller.close()
|
|
344
|
+
});
|
|
345
|
+
const message = new MessageChannel();
|
|
346
|
+
message.port1.postMessage(stream, [stream]);
|
|
347
|
+
return true;
|
|
348
|
+
} catch {
|
|
349
|
+
return false;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
339
353
|
// src/browser/setupWorker/start/createRequestListener.ts
|
|
340
354
|
import { RequestHandler } from '../core/handlers/RequestHandler.mjs';
|
|
341
355
|
import { handleRequest } from '../core/utils/handleRequest.mjs';
|
|
342
356
|
import { devUtils as devUtils3 } from '../core/utils/internal/devUtils.mjs';
|
|
343
357
|
import { toResponseInit } from '../core/utils/toResponseInit.mjs';
|
|
344
358
|
import { isHandlerKind } from '../core/utils/internal/isHandlerKind.mjs';
|
|
359
|
+
var SUPPORTS_READABLE_STREAM_TRANSFER = supportsReadableStreamTransfer();
|
|
345
360
|
var createRequestListener = (context, options) => {
|
|
346
361
|
return async (event) => {
|
|
347
362
|
if (!context.isMockingEnabled && context.workerStoppedAt && event.data.interceptedAt > context.workerStoppedAt) {
|
|
@@ -368,7 +383,7 @@ var createRequestListener = (context, options) => {
|
|
|
368
383
|
const responseClone = response.clone();
|
|
369
384
|
const responseCloneForLogs = response.clone();
|
|
370
385
|
const responseInit = toResponseInit(response);
|
|
371
|
-
if (
|
|
386
|
+
if (SUPPORTS_READABLE_STREAM_TRANSFER) {
|
|
372
387
|
const responseStreamOrNull = response.body;
|
|
373
388
|
event.postMessage(
|
|
374
389
|
"MOCK_RESPONSE",
|
|
@@ -1323,22 +1338,6 @@ Please consider using a custom "serviceWorker.url" option to point to the actual
|
|
|
1323
1338
|
import { devUtils as devUtils8 } from '../core/utils/internal/devUtils.mjs';
|
|
1324
1339
|
import { SetupApi } from '../core/SetupApi.mjs';
|
|
1325
1340
|
import { mergeRight as mergeRight2 } from '../core/utils/internal/mergeRight.mjs';
|
|
1326
|
-
|
|
1327
|
-
// src/browser/utils/supportsReadableStreamTransfer.ts
|
|
1328
|
-
function supportsReadableStreamTransfer() {
|
|
1329
|
-
try {
|
|
1330
|
-
const stream = new ReadableStream({
|
|
1331
|
-
start: (controller) => controller.close()
|
|
1332
|
-
});
|
|
1333
|
-
const message = new MessageChannel();
|
|
1334
|
-
message.port1.postMessage(stream, [stream]);
|
|
1335
|
-
return true;
|
|
1336
|
-
} catch {
|
|
1337
|
-
return false;
|
|
1338
|
-
}
|
|
1339
|
-
}
|
|
1340
|
-
|
|
1341
|
-
// src/browser/setupWorker/setupWorker.ts
|
|
1342
1341
|
import { webSocketInterceptor } from '../core/ws/webSocketInterceptor.mjs';
|
|
1343
1342
|
import { handleWebSocketEvent } from '../core/ws/handleWebSocketEvent.mjs';
|
|
1344
1343
|
import { attachWebSocketLogger } from '../core/ws/utils/attachWebSocketLogger.mjs';
|
|
@@ -1578,6 +1577,7 @@ var Emitter2 = class {
|
|
|
1578
1577
|
|
|
1579
1578
|
// src/browser/utils/workerChannel.ts
|
|
1580
1579
|
import { isObject } from '../core/utils/internal/isObject.mjs';
|
|
1580
|
+
var SUPPORTS_SERVICE_WORKER = supportsServiceWorker();
|
|
1581
1581
|
var WorkerEvent = class extends TypedEvent {
|
|
1582
1582
|
#workerEvent;
|
|
1583
1583
|
constructor(workerEvent) {
|
|
@@ -1607,6 +1607,9 @@ var WorkerChannel = class extends Emitter2 {
|
|
|
1607
1607
|
constructor(options) {
|
|
1608
1608
|
super();
|
|
1609
1609
|
this.options = options;
|
|
1610
|
+
if (!SUPPORTS_SERVICE_WORKER) {
|
|
1611
|
+
return;
|
|
1612
|
+
}
|
|
1610
1613
|
navigator.serviceWorker.addEventListener("message", async (event) => {
|
|
1611
1614
|
const worker = await this.options.worker;
|
|
1612
1615
|
if (event.source != null && event.source !== worker) {
|
|
@@ -1622,12 +1625,28 @@ var WorkerChannel = class extends Emitter2 {
|
|
|
1622
1625
|
* This triggers the `message` event listener on ServiceWorkerGlobalScope.
|
|
1623
1626
|
*/
|
|
1624
1627
|
postMessage(type) {
|
|
1628
|
+
invariant(
|
|
1629
|
+
SUPPORTS_SERVICE_WORKER,
|
|
1630
|
+
"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"
|
|
1631
|
+
);
|
|
1625
1632
|
this.options.worker.then((worker) => {
|
|
1626
1633
|
worker.postMessage(type);
|
|
1627
1634
|
});
|
|
1628
1635
|
}
|
|
1629
1636
|
};
|
|
1630
1637
|
|
|
1638
|
+
// node_modules/.pnpm/@open-draft+until@2.1.0/node_modules/@open-draft/until/lib/index.mjs
|
|
1639
|
+
var until2 = async (promise) => {
|
|
1640
|
+
try {
|
|
1641
|
+
const data = await promise().catch((error2) => {
|
|
1642
|
+
throw error2;
|
|
1643
|
+
});
|
|
1644
|
+
return { error: null, data };
|
|
1645
|
+
} catch (error2) {
|
|
1646
|
+
return { error: error2, data: null };
|
|
1647
|
+
}
|
|
1648
|
+
};
|
|
1649
|
+
|
|
1631
1650
|
// node_modules/.pnpm/@mswjs+interceptors@0.39.1/node_modules/@mswjs/interceptors/lib/browser/chunk-L37TY7LC.mjs
|
|
1632
1651
|
var InterceptorError = class extends Error {
|
|
1633
1652
|
constructor(message) {
|
|
@@ -1790,7 +1809,7 @@ async function handleRequest2(options) {
|
|
|
1790
1809
|
);
|
|
1791
1810
|
}
|
|
1792
1811
|
}
|
|
1793
|
-
const result = await
|
|
1812
|
+
const result = await until2(async () => {
|
|
1794
1813
|
const requestListenersPromise = emitAsync(options.emitter, "request", {
|
|
1795
1814
|
requestId: options.requestId,
|
|
1796
1815
|
request: options.request,
|
|
@@ -1826,7 +1845,7 @@ async function handleRequest2(options) {
|
|
|
1826
1845
|
unhandledExceptionController[kResponsePromise].resolve(void 0);
|
|
1827
1846
|
}
|
|
1828
1847
|
});
|
|
1829
|
-
const nextResult = await
|
|
1848
|
+
const nextResult = await until2(
|
|
1830
1849
|
() => unhandledExceptionController[kResponsePromise]
|
|
1831
1850
|
);
|
|
1832
1851
|
if (nextResult.error) {
|
|
@@ -3000,11 +3019,7 @@ var SetupWorkerApi = class extends SetupApi {
|
|
|
3000
3019
|
emitter: this.emitter,
|
|
3001
3020
|
workerChannel: new WorkerChannel({
|
|
3002
3021
|
worker: workerPromise
|
|
3003
|
-
})
|
|
3004
|
-
supports: {
|
|
3005
|
-
serviceWorkerApi: "serviceWorker" in navigator && location.protocol !== "file:",
|
|
3006
|
-
readableStreamTransfer: supportsReadableStreamTransfer()
|
|
3007
|
-
}
|
|
3022
|
+
})
|
|
3008
3023
|
};
|
|
3009
3024
|
}
|
|
3010
3025
|
async start(options = {}) {
|
|
@@ -3043,7 +3058,7 @@ var SetupWorkerApi = class extends SetupApi {
|
|
|
3043
3058
|
this.subscriptions.push(() => {
|
|
3044
3059
|
webSocketInterceptor.dispose();
|
|
3045
3060
|
});
|
|
3046
|
-
if (!
|
|
3061
|
+
if (!supportsServiceWorker()) {
|
|
3047
3062
|
const fallbackInterceptor = createFallbackRequestListener(
|
|
3048
3063
|
this.context,
|
|
3049
3064
|
this.context.startOptions
|
|
@@ -3074,7 +3089,7 @@ var SetupWorkerApi = class extends SetupApi {
|
|
|
3074
3089
|
this.context.isMockingEnabled = false;
|
|
3075
3090
|
this.context.workerStoppedAt = Date.now();
|
|
3076
3091
|
this.context.emitter.removeAllListeners();
|
|
3077
|
-
if (
|
|
3092
|
+
if (supportsServiceWorker()) {
|
|
3078
3093
|
this.context.workerChannel.removeAllListeners("RESPONSE");
|
|
3079
3094
|
window.clearInterval(this.context.keepAliveInterval);
|
|
3080
3095
|
}
|