msw 2.0.2 → 2.0.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.
@@ -264,18 +264,18 @@ var createRequestListener = (context, options) => {
264
264
  const responseCloneForLogs = response.clone();
265
265
  const responseInit = (0, import_toResponseInit.toResponseInit)(response);
266
266
  if (context.supports.readableStreamTransfer) {
267
- const responseStream = response.body;
267
+ const responseStreamOrNull = response.body;
268
268
  messageChannel.postMessage(
269
269
  "MOCK_RESPONSE",
270
270
  __spreadProps(__spreadValues({}, responseInit), {
271
- body: responseStream
271
+ body: responseStreamOrNull
272
272
  }),
273
- responseStream ? [responseStream] : void 0
273
+ responseStreamOrNull ? [responseStreamOrNull] : void 0
274
274
  );
275
275
  } else {
276
- const responseBuffer = yield responseClone.arrayBuffer();
276
+ const responseBufferOrNull = response.body === null ? null : yield responseClone.arrayBuffer();
277
277
  messageChannel.postMessage("MOCK_RESPONSE", __spreadProps(__spreadValues({}, responseInit), {
278
- body: responseBuffer
278
+ body: responseBufferOrNull
279
279
  }));
280
280
  }
281
281
  if (!options.quiet) {
@@ -240,18 +240,18 @@ var createRequestListener = (context, options) => {
240
240
  const responseCloneForLogs = response.clone();
241
241
  const responseInit = toResponseInit(response);
242
242
  if (context.supports.readableStreamTransfer) {
243
- const responseStream = response.body;
243
+ const responseStreamOrNull = response.body;
244
244
  messageChannel.postMessage(
245
245
  "MOCK_RESPONSE",
246
246
  __spreadProps(__spreadValues({}, responseInit), {
247
- body: responseStream
247
+ body: responseStreamOrNull
248
248
  }),
249
- responseStream ? [responseStream] : void 0
249
+ responseStreamOrNull ? [responseStreamOrNull] : void 0
250
250
  );
251
251
  } else {
252
- const responseBuffer = yield responseClone.arrayBuffer();
252
+ const responseBufferOrNull = response.body === null ? null : yield responseClone.arrayBuffer();
253
253
  messageChannel.postMessage("MOCK_RESPONSE", __spreadProps(__spreadValues({}, responseInit), {
254
- body: responseBuffer
254
+ body: responseBufferOrNull
255
255
  }));
256
256
  }
257
257
  if (!options.quiet) {
@@ -1,5 +1,5 @@
1
1
  import { OperationTypeNode, DocumentNode, GraphQLError } from 'graphql';
2
- import { g as RequestHandlerDefaultInfo, D as DefaultBodyType, R as RequestHandler, a as ResponseResolver, c as RequestHandlerOptions } from './RequestHandler-1a5dbdc7.js';
2
+ import { g as RequestHandlerDefaultInfo, D as DefaultBodyType, R as RequestHandler, a as ResponseResolver, c as RequestHandlerOptions } from './RequestHandler-bb5cbb8f.js';
3
3
  import { Path } from './utils/matching/matchRequestUrl.js';
4
4
 
5
5
  interface ParsedGraphQLQuery {
@@ -1,2 +1,2 @@
1
- export { f as HttpResponse, H as HttpResponseInit, S as StrictRequest, e as StrictResponse } from './RequestHandler-1a5dbdc7.js';
1
+ export { f as HttpResponse, H as HttpResponseInit, S as StrictRequest, e as StrictResponse } from './RequestHandler-bb5cbb8f.js';
2
2
  import './typeUtils.js';
@@ -36,7 +36,9 @@ class HttpResponse extends Response {
36
36
  */
37
37
  static text(body, init) {
38
38
  const responseInit = (0, import_decorators.normalizeResponseInit)(init);
39
- responseInit.headers.set("Content-Type", "text/plain");
39
+ if (!responseInit.headers.has("Content-Type")) {
40
+ responseInit.headers.set("Content-Type", "text/plain");
41
+ }
40
42
  return new HttpResponse(body, responseInit);
41
43
  }
42
44
  /**
@@ -47,7 +49,9 @@ class HttpResponse extends Response {
47
49
  */
48
50
  static json(body, init) {
49
51
  const responseInit = (0, import_decorators.normalizeResponseInit)(init);
50
- responseInit.headers.set("Content-Type", "application/json");
52
+ if (!responseInit.headers.has("Content-Type")) {
53
+ responseInit.headers.set("Content-Type", "application/json");
54
+ }
51
55
  return new HttpResponse(
52
56
  JSON.stringify(body),
53
57
  responseInit
@@ -61,7 +65,9 @@ class HttpResponse extends Response {
61
65
  */
62
66
  static xml(body, init) {
63
67
  const responseInit = (0, import_decorators.normalizeResponseInit)(init);
64
- responseInit.headers.set("Content-Type", "text/xml");
68
+ if (!responseInit.headers.has("Content-Type")) {
69
+ responseInit.headers.set("Content-Type", "text/xml");
70
+ }
65
71
  return new HttpResponse(body, responseInit);
66
72
  }
67
73
  /**
@@ -16,7 +16,9 @@ class HttpResponse extends Response {
16
16
  */
17
17
  static text(body, init) {
18
18
  const responseInit = normalizeResponseInit(init);
19
- responseInit.headers.set("Content-Type", "text/plain");
19
+ if (!responseInit.headers.has("Content-Type")) {
20
+ responseInit.headers.set("Content-Type", "text/plain");
21
+ }
20
22
  return new HttpResponse(body, responseInit);
21
23
  }
22
24
  /**
@@ -27,7 +29,9 @@ class HttpResponse extends Response {
27
29
  */
28
30
  static json(body, init) {
29
31
  const responseInit = normalizeResponseInit(init);
30
- responseInit.headers.set("Content-Type", "application/json");
32
+ if (!responseInit.headers.has("Content-Type")) {
33
+ responseInit.headers.set("Content-Type", "application/json");
34
+ }
31
35
  return new HttpResponse(
32
36
  JSON.stringify(body),
33
37
  responseInit
@@ -41,7 +45,9 @@ class HttpResponse extends Response {
41
45
  */
42
46
  static xml(body, init) {
43
47
  const responseInit = normalizeResponseInit(init);
44
- responseInit.headers.set("Content-Type", "text/xml");
48
+ if (!responseInit.headers.has("Content-Type")) {
49
+ responseInit.headers.set("Content-Type", "text/xml");
50
+ }
45
51
  return new HttpResponse(body, responseInit);
46
52
  }
47
53
  /**
@@ -52,7 +52,7 @@ declare class HttpResponse extends Response {
52
52
  * HttpResponse.json({ firstName: 'John' })
53
53
  * HttpResponse.json({ error: 'Not Authorized' }, { status: 401 })
54
54
  */
55
- static json<BodyType extends DefaultBodyType>(body?: BodyType | null, init?: HttpResponseInit): StrictResponse<BodyType>;
55
+ static json<BodyType extends JsonBodyType>(body?: BodyType | null, init?: HttpResponseInit): StrictResponse<BodyType>;
56
56
  /**
57
57
  * Create a `Response` with a `Content-Type: "application/xml"` body.
58
58
  * @example
@@ -83,13 +83,14 @@ declare class HttpResponse extends Response {
83
83
 
84
84
  type DefaultRequestMultipartBody = Record<string, string | File | Array<string | File>>;
85
85
  type DefaultBodyType = Record<string, any> | DefaultRequestMultipartBody | string | number | boolean | null | undefined;
86
+ type JsonBodyType = Record<string, any> | string | number | boolean | null | undefined;
86
87
  interface RequestHandlerDefaultInfo {
87
88
  header: string;
88
89
  }
89
90
  interface RequestHandlerInternalInfo {
90
91
  callFrame?: string;
91
92
  }
92
- type ResponseResolverReturnType<BodyType extends DefaultBodyType = undefined> = (BodyType extends undefined ? Response : StrictResponse<BodyType>) | undefined | void;
93
+ type ResponseResolverReturnType<BodyType extends DefaultBodyType = undefined> = ([BodyType] extends [undefined] ? Response : StrictResponse<BodyType>) | undefined | void;
93
94
  type MaybeAsyncResponseResolverReturnType<BodyType extends DefaultBodyType> = MaybePromise<ResponseResolverReturnType<BodyType>>;
94
95
  type AsyncResponseResolverReturnType<BodyType extends DefaultBodyType> = MaybeAsyncResponseResolverReturnType<BodyType> | Generator<MaybeAsyncResponseResolverReturnType<BodyType>, MaybeAsyncResponseResolverReturnType<BodyType>, MaybeAsyncResponseResolverReturnType<BodyType>>;
95
96
  type ResponseResolverInfo<ResolverExtraInfo extends Record<string, unknown>, RequestBodyType extends DefaultBodyType = DefaultBodyType> = {
@@ -169,4 +170,4 @@ declare abstract class RequestHandler<HandlerInfo extends RequestHandlerDefaultI
169
170
  private createExecutionResult;
170
171
  }
171
172
 
172
- export { AsyncResponseResolverReturnType as A, DefaultBodyType as D, HttpResponseInit as H, MaybeAsyncResponseResolverReturnType as M, RequestHandler as R, StrictRequest as S, ResponseResolver as a, ResponseResolverReturnType as b, RequestHandlerOptions as c, DefaultRequestMultipartBody as d, StrictResponse as e, HttpResponse as f, RequestHandlerDefaultInfo as g, ResponseLookupResult as h, ResponseResolutionContext as i, getResponse as j, RequestHandlerInternalInfo as k, ResponseResolverInfo as l, RequestHandlerArgs as m, RequestHandlerExecutionResult as n };
173
+ export { AsyncResponseResolverReturnType as A, DefaultBodyType as D, HttpResponseInit as H, JsonBodyType as J, MaybeAsyncResponseResolverReturnType as M, RequestHandler as R, StrictRequest as S, ResponseResolver as a, ResponseResolverReturnType as b, RequestHandlerOptions as c, DefaultRequestMultipartBody as d, StrictResponse as e, HttpResponse as f, RequestHandlerDefaultInfo as g, ResponseLookupResult as h, ResponseResolutionContext as i, getResponse as j, RequestHandlerInternalInfo as k, ResponseResolverInfo as l, RequestHandlerArgs as m, RequestHandlerExecutionResult as n };
@@ -1,5 +1,5 @@
1
1
  import { EventMap, Emitter } from 'strict-event-emitter';
2
- import { R as RequestHandler, g as RequestHandlerDefaultInfo } from './RequestHandler-1a5dbdc7.js';
2
+ import { R as RequestHandler, g as RequestHandlerDefaultInfo } from './RequestHandler-bb5cbb8f.js';
3
3
  import { LifeCycleEventEmitter } from './sharedOptions.js';
4
4
  import { Disposable } from './utils/internal/Disposable.js';
5
5
  import './typeUtils.js';
@@ -1,6 +1,6 @@
1
1
  import { DocumentNode } from 'graphql';
2
- import { a as ResponseResolver, c as RequestHandlerOptions } from './RequestHandler-1a5dbdc7.js';
3
- import { a as GraphQLVariables, d as GraphQLHandlerNameSelector, e as GraphQLResolverExtras, f as GraphQLResponseBody, G as GraphQLHandler } from './GraphQLHandler-b42ca96f.js';
2
+ import { a as ResponseResolver, c as RequestHandlerOptions } from './RequestHandler-bb5cbb8f.js';
3
+ import { a as GraphQLVariables, d as GraphQLHandlerNameSelector, e as GraphQLResolverExtras, f as GraphQLResponseBody, G as GraphQLHandler } from './GraphQLHandler-d46c4f60.js';
4
4
  import { Path } from './utils/matching/matchRequestUrl.js';
5
5
  import './typeUtils.js';
6
6
 
@@ -1,5 +1,5 @@
1
1
  import 'graphql';
2
- import '../RequestHandler-1a5dbdc7.js';
2
+ import '../RequestHandler-bb5cbb8f.js';
3
3
  import '../utils/matching/matchRequestUrl.js';
4
- export { E as ExpectedOperationTypeNode, G as GraphQLHandler, k as GraphQLHandlerInfo, d as GraphQLHandlerNameSelector, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, e as GraphQLResolverExtras, f as GraphQLResponseBody, a as GraphQLVariables, l as isDocumentNode } from '../GraphQLHandler-b42ca96f.js';
4
+ export { E as ExpectedOperationTypeNode, G as GraphQLHandler, k as GraphQLHandlerInfo, d as GraphQLHandlerNameSelector, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, e as GraphQLResolverExtras, f as GraphQLResponseBody, a as GraphQLVariables, l as isDocumentNode } from '../GraphQLHandler-d46c4f60.js';
5
5
  import '../typeUtils.js';
@@ -1,4 +1,4 @@
1
- import { g as RequestHandlerDefaultInfo, R as RequestHandler, a as ResponseResolver, c as RequestHandlerOptions, i as ResponseResolutionContext } from '../RequestHandler-1a5dbdc7.js';
1
+ import { g as RequestHandlerDefaultInfo, R as RequestHandler, a as ResponseResolver, c as RequestHandlerOptions, i as ResponseResolutionContext } from '../RequestHandler-bb5cbb8f.js';
2
2
  import { Path, Match, PathParams } from '../utils/matching/matchRequestUrl.js';
3
3
  import '../typeUtils.js';
4
4
 
@@ -1,2 +1,2 @@
1
- export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler, m as RequestHandlerArgs, g as RequestHandlerDefaultInfo, n as RequestHandlerExecutionResult, k as RequestHandlerInternalInfo, c as RequestHandlerOptions, a as ResponseResolver, l as ResponseResolverInfo, b as ResponseResolverReturnType } from '../RequestHandler-1a5dbdc7.js';
1
+ export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, J as JsonBodyType, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler, m as RequestHandlerArgs, g as RequestHandlerDefaultInfo, n as RequestHandlerExecutionResult, k as RequestHandlerInternalInfo, c as RequestHandlerOptions, a as ResponseResolver, l as ResponseResolverInfo, b as ResponseResolverReturnType } from '../RequestHandler-bb5cbb8f.js';
2
2
  import '../typeUtils.js';
@@ -1,4 +1,4 @@
1
- import { D as DefaultBodyType, a as ResponseResolver, c as RequestHandlerOptions } from './RequestHandler-1a5dbdc7.js';
1
+ import { D as DefaultBodyType, a as ResponseResolver, c as RequestHandlerOptions } from './RequestHandler-bb5cbb8f.js';
2
2
  import { HttpRequestResolverExtras, HttpHandler } from './handlers/HttpHandler.js';
3
3
  import { PathParams, Path } from './utils/matching/matchRequestUrl.js';
4
4
  import './typeUtils.js';
@@ -1,9 +1,9 @@
1
1
  export { SetupApi } from './SetupApi.js';
2
- export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, f as HttpResponse, H as HttpResponseInit, R as RequestHandler, c as RequestHandlerOptions, a as ResponseResolver, b as ResponseResolverReturnType, S as StrictRequest, e as StrictResponse } from './RequestHandler-1a5dbdc7.js';
2
+ export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, d as DefaultRequestMultipartBody, f as HttpResponse, H as HttpResponseInit, J as JsonBodyType, R as RequestHandler, c as RequestHandlerOptions, a as ResponseResolver, b as ResponseResolverReturnType, S as StrictRequest, e as StrictResponse } from './RequestHandler-bb5cbb8f.js';
3
3
  export { http } from './http.js';
4
4
  export { HttpHandler, HttpMethods, HttpRequestParsedResult, RequestQuery } from './handlers/HttpHandler.js';
5
5
  export { graphql } from './graphql.js';
6
- export { G as GraphQLHandler, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, a as GraphQLVariables, P as ParsedGraphQLRequest } from './GraphQLHandler-b42ca96f.js';
6
+ export { G as GraphQLHandler, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, a as GraphQLVariables, P as ParsedGraphQLRequest } from './GraphQLHandler-d46c4f60.js';
7
7
  export { Match, Path, PathParams, matchRequestUrl } from './utils/matching/matchRequestUrl.js';
8
8
  export { HandleRequestOptions, handleRequest } from './utils/handleRequest.js';
9
9
  export { cleanUrl } from './utils/url/cleanUrl.js';
@@ -1,6 +1,6 @@
1
1
  import { Emitter } from 'strict-event-emitter';
2
2
  import { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest.js';
3
- import './RequestHandler-1a5dbdc7.js';
3
+ import './RequestHandler-bb5cbb8f.js';
4
4
  import './typeUtils.js';
5
5
 
6
6
  interface SharedOptions {
@@ -1,4 +1,4 @@
1
- import { H as HttpResponseInit } from '../../RequestHandler-1a5dbdc7.js';
1
+ import { H as HttpResponseInit } from '../../RequestHandler-bb5cbb8f.js';
2
2
  import '../../typeUtils.js';
3
3
 
4
4
  interface HttpResponseDecoratedInit extends HttpResponseInit {
@@ -1,2 +1,2 @@
1
- export { h as ResponseLookupResult, i as ResponseResolutionContext, j as getResponse } from '../RequestHandler-1a5dbdc7.js';
1
+ export { h as ResponseLookupResult, i as ResponseResolutionContext, j as getResponse } from '../RequestHandler-bb5cbb8f.js';
2
2
  import '../typeUtils.js';
@@ -1,5 +1,5 @@
1
1
  import { Emitter } from 'strict-event-emitter';
2
- import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-1a5dbdc7.js';
2
+ import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-bb5cbb8f.js';
3
3
  import { SharedOptions, LifeCycleEventsMap } from '../sharedOptions.js';
4
4
  import { RequiredDeep } from '../typeUtils.js';
5
5
  import './request/onUnhandledRequest.js';
@@ -1,5 +1,5 @@
1
1
  import 'graphql';
2
- export { i as GraphQLMultipartRequestBody, h as GraphQLParsedOperationsMap, g as ParsedGraphQLQuery, P as ParsedGraphQLRequest, p as parseDocumentNode, j as parseGraphQLRequest } from '../../GraphQLHandler-b42ca96f.js';
3
- import '../../RequestHandler-1a5dbdc7.js';
2
+ export { i as GraphQLMultipartRequestBody, h as GraphQLParsedOperationsMap, g as ParsedGraphQLQuery, P as ParsedGraphQLRequest, p as parseDocumentNode, j as parseGraphQLRequest } from '../../GraphQLHandler-d46c4f60.js';
3
+ import '../../RequestHandler-bb5cbb8f.js';
4
4
  import '../../typeUtils.js';
5
5
  import '../matching/matchRequestUrl.js';
@@ -1,4 +1,4 @@
1
- import { d as DefaultRequestMultipartBody } from '../../RequestHandler-1a5dbdc7.js';
1
+ import { d as DefaultRequestMultipartBody } from '../../RequestHandler-bb5cbb8f.js';
2
2
  import '../../typeUtils.js';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { R as RequestHandler, g as RequestHandlerDefaultInfo, c as RequestHandlerOptions } from '../../RequestHandler-1a5dbdc7.js';
1
+ import { R as RequestHandler, g as RequestHandlerDefaultInfo, c as RequestHandlerOptions } from '../../RequestHandler-bb5cbb8f.js';
2
2
  import '../../typeUtils.js';
3
3
 
4
4
  declare function use(currentHandlers: Array<RequestHandler>, ...handlers: Array<RequestHandler>): void;
@@ -1,4 +1,4 @@
1
- import { R as RequestHandler } from '../../RequestHandler-1a5dbdc7.js';
1
+ import { R as RequestHandler } from '../../RequestHandler-bb5cbb8f.js';
2
2
  import '../../typeUtils.js';
3
3
 
4
4
  interface UnhandledRequestPrint {