msw 0.42.0 → 0.42.3

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.
@@ -382,8 +382,8 @@ function parseMultipartData(data2, headers) {
382
382
  }
383
383
  const parsedBody = {};
384
384
  try {
385
- for (const field of fields) {
386
- const [contentHeaders, ...rest] = field.split("\r\n\r\n");
385
+ for (const field2 of fields) {
386
+ const [contentHeaders, ...rest] = field2.split("\r\n\r\n");
387
387
  const contentBody = rest.join("\r\n\r\n");
388
388
  const { contentType: contentType2, filename, name } = parseContentHeaders(contentHeaders);
389
389
  const value = filename === void 0 ? contentBody : new File([contentBody], filename, { type: contentType2 });
@@ -929,6 +929,23 @@ var RestHandler = class extends RequestHandler {
929
929
  }
930
930
  };
931
931
 
932
+ // src/context/field.ts
933
+ import { invariant } from "outvariant";
934
+ var field = (fieldName, fieldValue) => {
935
+ return (res) => {
936
+ validateFieldName(fieldName);
937
+ const prevBody = jsonParse(res.body) || {};
938
+ const nextBody = mergeRight(prevBody, { [fieldName]: fieldValue });
939
+ return json(nextBody)(res);
940
+ };
941
+ };
942
+ function validateFieldName(fieldName) {
943
+ invariant(fieldName.trim() !== "", devUtils.formatMessage("Failed to set a custom field on a GraphQL response: field name cannot be empty."));
944
+ invariant(fieldName !== "data", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.data()" instead?', fieldName));
945
+ invariant(fieldName !== "errors", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.errors()" instead?', fieldName));
946
+ invariant(fieldName !== "extensions", devUtils.formatMessage('Failed to set a custom "%s" field on a mocked GraphQL response: forbidden field name. Did you mean to call "ctx.extensions()" instead?', fieldName));
947
+ }
948
+
932
949
  // src/utils/internal/tryCatch.ts
933
950
  function tryCatch(fn, onException) {
934
951
  try {
@@ -944,7 +961,8 @@ var graphqlContext = __spreadProps(__spreadValues({}, defaultContext), {
944
961
  data,
945
962
  extensions,
946
963
  errors,
947
- cookie
964
+ cookie,
965
+ field
948
966
  });
949
967
  function isDocumentNode(value) {
950
968
  if (value == null) {
@@ -1132,7 +1150,7 @@ function readResponseCookies(request, response2) {
1132
1150
 
1133
1151
  // src/utils/handleRequest.ts
1134
1152
  async function handleRequest(request, handlers, options, emitter, handleRequestOptions) {
1135
- var _a, _b, _c, _d;
1153
+ var _a, _b, _c, _d, _e, _f, _g;
1136
1154
  emitter.emit("request:start", request);
1137
1155
  if (request.headers.get("x-msw-bypass") === "true") {
1138
1156
  emitter.emit("request:end", request);
@@ -1170,18 +1188,12 @@ async function handleRequest(request, handlers, options, emitter, handleRequestO
1170
1188
  }
1171
1189
  readResponseCookies(request, response2);
1172
1190
  emitter.emit("request:match", request);
1173
- return new Promise((resolve) => {
1174
- var _a2, _b2, _c2;
1175
- const requiredLookupResult = lookupResult;
1176
- const transformedResponse = ((_a2 = handleRequestOptions == null ? void 0 : handleRequestOptions.transformResponse) == null ? void 0 : _a2.call(handleRequestOptions, response2)) || response2;
1177
- (_b2 = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponse) == null ? void 0 : _b2.call(handleRequestOptions, transformedResponse, requiredLookupResult);
1178
- setTimeout(() => {
1179
- var _a3;
1180
- (_a3 = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponseSent) == null ? void 0 : _a3.call(handleRequestOptions, transformedResponse, requiredLookupResult);
1181
- emitter.emit("request:end", request);
1182
- resolve(transformedResponse);
1183
- }, (_c2 = response2.delay) != null ? _c2 : 0);
1184
- });
1191
+ const requiredLookupResult = lookupResult;
1192
+ const transformedResponse = ((_e = handleRequestOptions == null ? void 0 : handleRequestOptions.transformResponse) == null ? void 0 : _e.call(handleRequestOptions, response2)) || response2;
1193
+ (_f = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponse) == null ? void 0 : _f.call(handleRequestOptions, transformedResponse, requiredLookupResult);
1194
+ (_g = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponseSent) == null ? void 0 : _g.call(handleRequestOptions, transformedResponse, requiredLookupResult);
1195
+ emitter.emit("request:end", request);
1196
+ return transformedResponse;
1185
1197
  }
1186
1198
 
1187
1199
  // src/utils/internal/pipeEvents.ts
@@ -1217,7 +1229,7 @@ function createSetupServer(...interceptors) {
1217
1229
  let resolvedOptions = {};
1218
1230
  const interceptor = new BatchInterceptor({
1219
1231
  name: "setup-server",
1220
- interceptors
1232
+ interceptors: interceptors.map((Interceptor2) => new Interceptor2())
1221
1233
  });
1222
1234
  interceptor.on("request", async function setupServerListener(request) {
1223
1235
  const mockedRequest = parseIsomorphicRequest(request);
@@ -1227,11 +1239,17 @@ function createSetupServer(...interceptors) {
1227
1239
  status: response3.status,
1228
1240
  statusText: response3.statusText,
1229
1241
  headers: response3.headers.all(),
1230
- body: response3.body
1242
+ body: response3.body,
1243
+ delay: response3.delay
1231
1244
  };
1232
1245
  }
1233
1246
  });
1234
1247
  if (response2) {
1248
+ if (response2.delay) {
1249
+ await new Promise((resolve) => {
1250
+ setTimeout(resolve, response2.delay);
1251
+ });
1252
+ }
1235
1253
  request.respondWith(response2);
1236
1254
  }
1237
1255
  return;
@@ -1290,7 +1308,7 @@ function createSetupServer(...interceptors) {
1290
1308
  }
1291
1309
 
1292
1310
  // src/node/setupServer.ts
1293
- var setupServer = createSetupServer(new ClientRequestInterceptor(), new XMLHttpRequestInterceptor());
1311
+ var setupServer = createSetupServer(ClientRequestInterceptor, XMLHttpRequestInterceptor);
1294
1312
  export {
1295
1313
  setupServer
1296
1314
  };