msw 2.8.7 → 2.10.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.
Files changed (34) hide show
  1. package/lib/browser/index.js +13 -17
  2. package/lib/browser/index.js.map +1 -1
  3. package/lib/browser/index.mjs +13 -17
  4. package/lib/browser/index.mjs.map +1 -1
  5. package/lib/core/handlers/WebSocketHandler.d.mts +5 -5
  6. package/lib/core/handlers/WebSocketHandler.d.ts +5 -5
  7. package/lib/core/handlers/WebSocketHandler.js +12 -8
  8. package/lib/core/handlers/WebSocketHandler.js.map +1 -1
  9. package/lib/core/handlers/WebSocketHandler.mjs +12 -8
  10. package/lib/core/handlers/WebSocketHandler.mjs.map +1 -1
  11. package/lib/core/ws/handleWebSocketEvent.js +26 -39
  12. package/lib/core/ws/handleWebSocketEvent.js.map +1 -1
  13. package/lib/core/ws/handleWebSocketEvent.mjs +26 -39
  14. package/lib/core/ws/handleWebSocketEvent.mjs.map +1 -1
  15. package/lib/core/ws/utils/getMessageLength.js.map +1 -1
  16. package/lib/core/ws/utils/getMessageLength.mjs.map +1 -1
  17. package/lib/core/ws/utils/getPublicData.js.map +1 -1
  18. package/lib/core/ws/utils/getPublicData.mjs.map +1 -1
  19. package/lib/iife/index.js +51 -62
  20. package/lib/iife/index.js.map +1 -1
  21. package/lib/mockServiceWorker.js +91 -54
  22. package/package.json +3 -2
  23. package/src/browser/setupWorker/glossary.ts +7 -7
  24. package/src/browser/setupWorker/setupWorker.ts +0 -1
  25. package/src/browser/setupWorker/start/createRequestListener.ts +3 -4
  26. package/src/browser/setupWorker/start/createResponseListener.ts +8 -12
  27. package/src/browser/utils/{parseWorkerRequest.ts → deserializeRequest.ts} +5 -5
  28. package/src/core/handlers/WebSocketHandler.test.ts +12 -61
  29. package/src/core/handlers/WebSocketHandler.ts +16 -13
  30. package/src/core/ws/handleWebSocketEvent.ts +36 -55
  31. package/src/core/ws/utils/getMessageLength.ts +1 -1
  32. package/src/core/ws/utils/getPublicData.ts +1 -1
  33. package/src/mockServiceWorker.js +89 -52
  34. package/src/tsconfig.worker.json +13 -0
@@ -262,11 +262,11 @@ function pruneGetRequestBody(request) {
262
262
  return request.body;
263
263
  }
264
264
 
265
- // src/browser/utils/parseWorkerRequest.ts
266
- function parseWorkerRequest(incomingRequest) {
267
- return new Request(incomingRequest.url, {
268
- ...incomingRequest,
269
- body: pruneGetRequestBody(incomingRequest)
265
+ // src/browser/utils/deserializeRequest.ts
266
+ function deserializeRequest(serializedRequest) {
267
+ return new Request(serializedRequest.url, {
268
+ ...serializedRequest,
269
+ body: pruneGetRequestBody(serializedRequest)
270
270
  });
271
271
  }
272
272
 
@@ -280,11 +280,10 @@ var createRequestListener = (context, options) => {
280
280
  return async (event, message) => {
281
281
  const messageChannel = new WorkerChannel(event.ports[0]);
282
282
  const requestId = message.payload.id;
283
- const request = parseWorkerRequest(message.payload);
283
+ const request = deserializeRequest(message.payload);
284
284
  const requestCloneForLogs = request.clone();
285
285
  const requestClone = request.clone();
286
286
  RequestHandler.cache.set(request, requestClone);
287
- context.requests.set(requestId, requestClone);
288
287
  try {
289
288
  await handleRequest(
290
289
  request,
@@ -363,7 +362,7 @@ import { devUtils as devUtils5 } from '../core/utils/internal/devUtils.mjs';
363
362
  async function checkWorkerIntegrity(context) {
364
363
  context.workerChannel.send("INTEGRITY_CHECK_REQUEST");
365
364
  const { payload } = await context.events.once("INTEGRITY_CHECK_RESPONSE");
366
- if (payload.checksum !== "00729d72e3b82faf54ca8b9621dbb96f") {
365
+ if (payload.checksum !== "f5825c521429caf22a4dd13b66e243af") {
367
366
  devUtils5.warn(
368
367
  `The currently registered Service Worker has been generated by a different version of MSW (${payload.packageVersion}) and may not be fully compatible with the installed version.
369
368
 
@@ -1118,20 +1117,18 @@ var BatchInterceptor = class extends Interceptor {
1118
1117
  function createResponseListener(context) {
1119
1118
  return (_, message) => {
1120
1119
  const { payload: responseJson } = message;
1121
- const { requestId } = responseJson;
1122
- const request = context.requests.get(requestId);
1123
- context.requests.delete(requestId);
1124
- if (responseJson.type?.includes("opaque")) {
1120
+ const request = deserializeRequest(responseJson.request);
1121
+ if (responseJson.response.type?.includes("opaque")) {
1125
1122
  return;
1126
1123
  }
1127
- const response = responseJson.status === 0 ? Response.error() : new FetchResponse(
1124
+ const response = responseJson.response.status === 0 ? Response.error() : new FetchResponse(
1128
1125
  /**
1129
1126
  * Responses may be streams here, but when we create a response object
1130
1127
  * with null-body status codes, like 204, 205, 304 Response will
1131
1128
  * throw when passed a non-null body, so ensure it's null here
1132
1129
  * for those codes
1133
1130
  */
1134
- FetchResponse.isResponseWithBody(responseJson.status) ? responseJson.body : null,
1131
+ FetchResponse.isResponseWithBody(responseJson.response.status) ? responseJson.response.body : null,
1135
1132
  {
1136
1133
  ...responseJson,
1137
1134
  /**
@@ -1145,9 +1142,9 @@ function createResponseListener(context) {
1145
1142
  context.emitter.emit(
1146
1143
  responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
1147
1144
  {
1148
- response,
1145
+ requestId: responseJson.request.id,
1149
1146
  request,
1150
- requestId: responseJson.requestId
1147
+ response
1151
1148
  }
1152
1149
  );
1153
1150
  };
@@ -2763,7 +2760,6 @@ var SetupWorkerApi = class extends SetupApi {
2763
2760
  return this.handlersController.currentHandlers();
2764
2761
  },
2765
2762
  registration: null,
2766
- requests: /* @__PURE__ */ new Map(),
2767
2763
  emitter: this.emitter,
2768
2764
  workerChannel: {
2769
2765
  on: (eventType, callback) => {