msw 0.0.0-fetch.rc-21 → 0.0.0-fetch.rc-23

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.
@@ -262,16 +262,21 @@ var createRequestListener = (context, options) => {
262
262
  return __async(this, arguments, function* (response, { handler, parsedResult }) {
263
263
  const responseClone = response.clone();
264
264
  const responseInit = (0, import_toResponseInit.toResponseInit)(response);
265
- const responseStream = responseClone.body;
266
- messageChannel.postMessage(
267
- "MOCK_RESPONSE",
268
- __spreadProps(__spreadValues({}, responseInit), {
269
- body: responseStream
270
- }),
271
- // Transfer response's buffer so it could
272
- // be sent over to the worker.
273
- responseStream ? [responseStream] : void 0
274
- );
265
+ if (context.supports.readableStreamTransfer) {
266
+ const responseStream = response.body;
267
+ messageChannel.postMessage(
268
+ "MOCK_RESPONSE",
269
+ __spreadProps(__spreadValues({}, responseInit), {
270
+ body: responseStream
271
+ }),
272
+ responseStream ? [responseStream] : void 0
273
+ );
274
+ } else {
275
+ const responseBuffer = yield responseClone.arrayBuffer();
276
+ messageChannel.postMessage("MOCK_RESPONSE", __spreadProps(__spreadValues({}, responseInit), {
277
+ body: responseBuffer
278
+ }));
279
+ }
275
280
  if (!options.quiet) {
276
281
  context.emitter.once("response:mocked", ({ response: response2 }) => {
277
282
  handler.log({
@@ -603,6 +608,22 @@ function createFallbackStop(context) {
603
608
  var import_devUtils9 = require("../core/utils/internal/devUtils.js");
604
609
  var import_SetupApi = require("../core/SetupApi.js");
605
610
  var import_mergeRight2 = require("../core/utils/internal/mergeRight.js");
611
+
612
+ // src/browser/utils/supportsReadableStreamTransfer.ts
613
+ function supportsReadableStreamTransfer() {
614
+ try {
615
+ const stream = new ReadableStream({
616
+ start: (controller) => controller.close()
617
+ });
618
+ const message = new MessageChannel();
619
+ message.port1.postMessage(stream, [stream]);
620
+ return true;
621
+ } catch (error) {
622
+ return false;
623
+ }
624
+ }
625
+
626
+ // src/browser/setupWorker/setupWorker.ts
606
627
  var SetupWorkerApi = class extends import_SetupApi.SetupApi {
607
628
  constructor(...handlers) {
608
629
  super(...handlers);
@@ -695,15 +716,18 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
695
716
  });
696
717
  }
697
718
  },
698
- useFallbackMode: !("serviceWorker" in navigator) || location.protocol === "file:"
719
+ supports: {
720
+ serviceWorkerApi: !("serviceWorker" in navigator) || location.protocol === "file:",
721
+ readableStreamTransfer: supportsReadableStreamTransfer()
722
+ }
699
723
  };
700
724
  Object.defineProperties(context, {
701
725
  requestHandlers: {
702
726
  get: () => this.currentHandlers
703
727
  }
704
728
  });
705
- this.startHandler = context.useFallbackMode ? createFallbackStart(context) : createStartHandler(context);
706
- this.stopHandler = context.useFallbackMode ? createFallbackStop(context) : createStop(context);
729
+ this.startHandler = context.supports.serviceWorkerApi ? createFallbackStart(context) : createStartHandler(context);
730
+ this.stopHandler = context.supports.serviceWorkerApi ? createFallbackStop(context) : createStop(context);
707
731
  return context;
708
732
  }
709
733
  start() {
@@ -238,16 +238,21 @@ var createRequestListener = (context, options) => {
238
238
  return __async(this, arguments, function* (response, { handler, parsedResult }) {
239
239
  const responseClone = response.clone();
240
240
  const responseInit = toResponseInit(response);
241
- const responseStream = responseClone.body;
242
- messageChannel.postMessage(
243
- "MOCK_RESPONSE",
244
- __spreadProps(__spreadValues({}, responseInit), {
245
- body: responseStream
246
- }),
247
- // Transfer response's buffer so it could
248
- // be sent over to the worker.
249
- responseStream ? [responseStream] : void 0
250
- );
241
+ if (context.supports.readableStreamTransfer) {
242
+ const responseStream = response.body;
243
+ messageChannel.postMessage(
244
+ "MOCK_RESPONSE",
245
+ __spreadProps(__spreadValues({}, responseInit), {
246
+ body: responseStream
247
+ }),
248
+ responseStream ? [responseStream] : void 0
249
+ );
250
+ } else {
251
+ const responseBuffer = yield responseClone.arrayBuffer();
252
+ messageChannel.postMessage("MOCK_RESPONSE", __spreadProps(__spreadValues({}, responseInit), {
253
+ body: responseBuffer
254
+ }));
255
+ }
251
256
  if (!options.quiet) {
252
257
  context.emitter.once("response:mocked", ({ response: response2 }) => {
253
258
  handler.log({
@@ -581,6 +586,22 @@ function createFallbackStop(context) {
581
586
  import { devUtils as devUtils9 } from '../core/utils/internal/devUtils.mjs';
582
587
  import { SetupApi } from '../core/SetupApi.mjs';
583
588
  import { mergeRight as mergeRight2 } from '../core/utils/internal/mergeRight.mjs';
589
+
590
+ // src/browser/utils/supportsReadableStreamTransfer.ts
591
+ function supportsReadableStreamTransfer() {
592
+ try {
593
+ const stream = new ReadableStream({
594
+ start: (controller) => controller.close()
595
+ });
596
+ const message = new MessageChannel();
597
+ message.port1.postMessage(stream, [stream]);
598
+ return true;
599
+ } catch (error) {
600
+ return false;
601
+ }
602
+ }
603
+
604
+ // src/browser/setupWorker/setupWorker.ts
584
605
  var SetupWorkerApi = class extends SetupApi {
585
606
  constructor(...handlers) {
586
607
  super(...handlers);
@@ -673,15 +694,18 @@ var SetupWorkerApi = class extends SetupApi {
673
694
  });
674
695
  }
675
696
  },
676
- useFallbackMode: !("serviceWorker" in navigator) || location.protocol === "file:"
697
+ supports: {
698
+ serviceWorkerApi: !("serviceWorker" in navigator) || location.protocol === "file:",
699
+ readableStreamTransfer: supportsReadableStreamTransfer()
700
+ }
677
701
  };
678
702
  Object.defineProperties(context, {
679
703
  requestHandlers: {
680
704
  get: () => this.currentHandlers
681
705
  }
682
706
  });
683
- this.startHandler = context.useFallbackMode ? createFallbackStart(context) : createStartHandler(context);
684
- this.stopHandler = context.useFallbackMode ? createFallbackStop(context) : createStop(context);
707
+ this.startHandler = context.supports.serviceWorkerApi ? createFallbackStart(context) : createStartHandler(context);
708
+ this.stopHandler = context.supports.serviceWorkerApi ? createFallbackStop(context) : createStop(context);
685
709
  return context;
686
710
  }
687
711
  start() {
package/lib/iife/index.js CHANGED
@@ -6367,16 +6367,21 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6367
6367
  return __async(this, arguments, function* (response, { handler, parsedResult }) {
6368
6368
  const responseClone = response.clone();
6369
6369
  const responseInit = toResponseInit(response);
6370
- const responseStream = responseClone.body;
6371
- messageChannel.postMessage(
6372
- "MOCK_RESPONSE",
6373
- __spreadProps(__spreadValues({}, responseInit), {
6374
- body: responseStream
6375
- }),
6376
- // Transfer response's buffer so it could
6377
- // be sent over to the worker.
6378
- responseStream ? [responseStream] : void 0
6379
- );
6370
+ if (context.supports.readableStreamTransfer) {
6371
+ const responseStream = response.body;
6372
+ messageChannel.postMessage(
6373
+ "MOCK_RESPONSE",
6374
+ __spreadProps(__spreadValues({}, responseInit), {
6375
+ body: responseStream
6376
+ }),
6377
+ responseStream ? [responseStream] : void 0
6378
+ );
6379
+ } else {
6380
+ const responseBuffer = yield responseClone.arrayBuffer();
6381
+ messageChannel.postMessage("MOCK_RESPONSE", __spreadProps(__spreadValues({}, responseInit), {
6382
+ body: responseBuffer
6383
+ }));
6384
+ }
6380
6385
  if (!options.quiet) {
6381
6386
  context.emitter.once("response:mocked", ({ response: response2 }) => {
6382
6387
  handler.log({
@@ -7957,6 +7962,20 @@ If this message still persists after updating, please report an issue: https://g
7957
7962
  };
7958
7963
  }
7959
7964
 
7965
+ // src/browser/utils/supportsReadableStreamTransfer.ts
7966
+ function supportsReadableStreamTransfer() {
7967
+ try {
7968
+ const stream = new ReadableStream({
7969
+ start: (controller) => controller.close()
7970
+ });
7971
+ const message3 = new MessageChannel();
7972
+ message3.port1.postMessage(stream, [stream]);
7973
+ return true;
7974
+ } catch (error3) {
7975
+ return false;
7976
+ }
7977
+ }
7978
+
7960
7979
  // src/browser/setupWorker/setupWorker.ts
7961
7980
  var SetupWorkerApi = class extends SetupApi {
7962
7981
  constructor(...handlers) {
@@ -8050,15 +8069,18 @@ If this message still persists after updating, please report an issue: https://g
8050
8069
  });
8051
8070
  }
8052
8071
  },
8053
- useFallbackMode: !("serviceWorker" in navigator) || location.protocol === "file:"
8072
+ supports: {
8073
+ serviceWorkerApi: !("serviceWorker" in navigator) || location.protocol === "file:",
8074
+ readableStreamTransfer: supportsReadableStreamTransfer()
8075
+ }
8054
8076
  };
8055
8077
  Object.defineProperties(context, {
8056
8078
  requestHandlers: {
8057
8079
  get: () => this.currentHandlers
8058
8080
  }
8059
8081
  });
8060
- this.startHandler = context.useFallbackMode ? createFallbackStart(context) : createStartHandler(context);
8061
- this.stopHandler = context.useFallbackMode ? createFallbackStop(context) : createStop(context);
8082
+ this.startHandler = context.supports.serviceWorkerApi ? createFallbackStart(context) : createStartHandler(context);
8083
+ this.stopHandler = context.supports.serviceWorkerApi ? createFallbackStop(context) : createStop(context);
8062
8084
  return context;
8063
8085
  }
8064
8086
  start() {
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
 
4
4
  /**
5
- * Mock Service Worker (0.0.0-fetch.rc-21).
5
+ * Mock Service Worker (0.0.0-fetch.rc-23).
6
6
  * @see https://github.com/mswjs/msw
7
7
  * - Please do NOT modify this file.
8
8
  * - Please do NOT serve this file on production.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "msw",
3
- "version": "0.0.0-fetch.rc-21",
3
+ "version": "0.0.0-fetch.rc-23",
4
4
  "description": "Seamless REST/GraphQL API mocking library for browser and Node.js.",
5
5
  "main": "./lib/core/index.js",
6
6
  "module": "./lib/core/index.mjs",
@@ -124,6 +124,7 @@
124
124
  "formdata-node": "4.4.1",
125
125
  "graphql": "^16.8.1",
126
126
  "headers-polyfill": "^4.0.1",
127
+ "inquirer": "^8.2.0",
127
128
  "is-node-process": "^1.2.0",
128
129
  "js-levenshtein": "^1.1.6",
129
130
  "node-fetch": "^2.6.7",