msw 0.27.0 → 0.28.1

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/umd/index.js CHANGED
@@ -86,113 +86,364 @@
86
86
  };
87
87
  };
88
88
 
89
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
90
+
91
+ function createCommonjsModule(fn) {
92
+ var module = { exports: {} };
93
+ return fn(module, module.exports), module.exports;
94
+ }
95
+
96
+ var normalizeHeaderName_1 = createCommonjsModule(function (module, exports) {
97
+ Object.defineProperty(exports, "__esModule", { value: true });
98
+ exports.normalizeHeaderName = void 0;
89
99
  var HEADERS_INVALID_CHARACTERS = /[^a-z0-9\-#$%&'*+.^_`|~]/i;
90
- var Headers$1 = /** @class */ (function () {
91
- function Headers(headers) {
100
+ function normalizeHeaderName(name) {
101
+ if (typeof name !== 'string') {
102
+ name = String(name);
103
+ }
104
+ if (HEADERS_INVALID_CHARACTERS.test(name) || name.trim() === '') {
105
+ throw new TypeError('Invalid character in header field name');
106
+ }
107
+ return name.toLowerCase();
108
+ }
109
+ exports.normalizeHeaderName = normalizeHeaderName;
110
+ });
111
+
112
+ var normalizeHeaderValue_1 = createCommonjsModule(function (module, exports) {
113
+ Object.defineProperty(exports, "__esModule", { value: true });
114
+ exports.normalizeHeaderValue = void 0;
115
+ function normalizeHeaderValue(value) {
116
+ if (typeof value !== 'string') {
117
+ value = String(value);
118
+ }
119
+ return value;
120
+ }
121
+ exports.normalizeHeaderValue = normalizeHeaderValue;
122
+ });
123
+
124
+ var __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
125
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
126
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
127
+ function verb(n) { return function (v) { return step([n, v]); }; }
128
+ function step(op) {
129
+ if (f) throw new TypeError("Generator is already executing.");
130
+ while (_) try {
131
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
132
+ if (y = 0, t) op = [op[0] & 2, t.value];
133
+ switch (op[0]) {
134
+ case 0: case 1: t = op; break;
135
+ case 4: _.label++; return { value: op[1], done: false };
136
+ case 5: _.label++; y = op[1]; op = [0]; continue;
137
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
138
+ default:
139
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
140
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
141
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
142
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
143
+ if (t[2]) _.ops.pop();
144
+ _.trys.pop(); continue;
145
+ }
146
+ op = body.call(thisArg, _);
147
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
148
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
149
+ }
150
+ };
151
+ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
152
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
153
+ if (!m) return o;
154
+ var i = m.call(o), r, ar = [], e;
155
+ try {
156
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
157
+ }
158
+ catch (error) { e = { error: error }; }
159
+ finally {
160
+ try {
161
+ if (r && !r.done && (m = i["return"])) m.call(i);
162
+ }
163
+ finally { if (e) throw e.error; }
164
+ }
165
+ return ar;
166
+ };
167
+ var __values = (commonjsGlobal && commonjsGlobal.__values) || function(o) {
168
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
169
+ if (m) return m.call(o);
170
+ if (o && typeof o.length === "number") return {
171
+ next: function () {
172
+ if (o && i >= o.length) o = void 0;
173
+ return { value: o && o[i++], done: !o };
174
+ }
175
+ };
176
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
177
+ };
178
+
179
+
180
+
181
+ var HeadersPolyfill = /** @class */ (function () {
182
+ function HeadersPolyfill(init) {
92
183
  var _this = this;
93
- this.map = {};
94
- if ((headers === null || headers === void 0 ? void 0 : headers.constructor.name) === 'Headers') {
95
- headers.forEach(function (value, name) {
184
+ // Normalized header {"name":"a, b"} storage.
185
+ this._headers = {};
186
+ // Keeps the mapping between the raw header name
187
+ // and the normalized header name to ease the lookup.
188
+ this._names = new Map();
189
+ /**
190
+ * @note Cannot check if the `init` is an instance of the `Headers`
191
+ * because that class is only defined in the browser.
192
+ */
193
+ if (['Headers', 'HeadersPolyfill'].includes(init === null || init === void 0 ? void 0 : init.constructor.name) ||
194
+ init instanceof HeadersPolyfill) {
195
+ var initialHeaders = init;
196
+ initialHeaders.forEach(function (value, name) {
96
197
  _this.append(name, value);
97
198
  }, this);
98
199
  }
99
- else if (Array.isArray(headers)) {
100
- headers.forEach(function (_a) {
101
- var name = _a[0], value = _a[1];
200
+ else if (Array.isArray(init)) {
201
+ init.forEach(function (_a) {
202
+ var _b = __read(_a, 2), name = _b[0], value = _b[1];
102
203
  _this.append(name, Array.isArray(value) ? value.join(', ') : value);
103
204
  });
104
205
  }
105
- else if (headers) {
106
- Object.getOwnPropertyNames(headers).forEach(function (name) {
107
- _this.append(name, headers[name]);
206
+ else if (init) {
207
+ Object.getOwnPropertyNames(init).forEach(function (name) {
208
+ var value = init[name];
209
+ _this.append(name, Array.isArray(value) ? value.join(', ') : value);
108
210
  });
109
211
  }
110
212
  }
213
+ HeadersPolyfill.prototype[Symbol.iterator] = function () {
214
+ return this.entries();
215
+ };
216
+ HeadersPolyfill.prototype.keys = function () {
217
+ var _a, _b, name_1, e_1_1;
218
+ var e_1, _c;
219
+ return __generator(this, function (_d) {
220
+ switch (_d.label) {
221
+ case 0:
222
+ _d.trys.push([0, 5, 6, 7]);
223
+ _a = __values(Object.keys(this._headers)), _b = _a.next();
224
+ _d.label = 1;
225
+ case 1:
226
+ if (!!_b.done) return [3 /*break*/, 4];
227
+ name_1 = _b.value;
228
+ return [4 /*yield*/, name_1];
229
+ case 2:
230
+ _d.sent();
231
+ _d.label = 3;
232
+ case 3:
233
+ _b = _a.next();
234
+ return [3 /*break*/, 1];
235
+ case 4: return [3 /*break*/, 7];
236
+ case 5:
237
+ e_1_1 = _d.sent();
238
+ e_1 = { error: e_1_1 };
239
+ return [3 /*break*/, 7];
240
+ case 6:
241
+ try {
242
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
243
+ }
244
+ finally { if (e_1) throw e_1.error; }
245
+ return [7 /*endfinally*/];
246
+ case 7: return [2 /*return*/];
247
+ }
248
+ });
249
+ };
250
+ HeadersPolyfill.prototype.values = function () {
251
+ var _a, _b, value, e_2_1;
252
+ var e_2, _c;
253
+ return __generator(this, function (_d) {
254
+ switch (_d.label) {
255
+ case 0:
256
+ _d.trys.push([0, 5, 6, 7]);
257
+ _a = __values(Object.values(this._headers)), _b = _a.next();
258
+ _d.label = 1;
259
+ case 1:
260
+ if (!!_b.done) return [3 /*break*/, 4];
261
+ value = _b.value;
262
+ return [4 /*yield*/, value];
263
+ case 2:
264
+ _d.sent();
265
+ _d.label = 3;
266
+ case 3:
267
+ _b = _a.next();
268
+ return [3 /*break*/, 1];
269
+ case 4: return [3 /*break*/, 7];
270
+ case 5:
271
+ e_2_1 = _d.sent();
272
+ e_2 = { error: e_2_1 };
273
+ return [3 /*break*/, 7];
274
+ case 6:
275
+ try {
276
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
277
+ }
278
+ finally { if (e_2) throw e_2.error; }
279
+ return [7 /*endfinally*/];
280
+ case 7: return [2 /*return*/];
281
+ }
282
+ });
283
+ };
284
+ HeadersPolyfill.prototype.entries = function () {
285
+ var _a, _b, name_2, e_3_1;
286
+ var e_3, _c;
287
+ return __generator(this, function (_d) {
288
+ switch (_d.label) {
289
+ case 0:
290
+ _d.trys.push([0, 5, 6, 7]);
291
+ _a = __values(Object.keys(this._headers)), _b = _a.next();
292
+ _d.label = 1;
293
+ case 1:
294
+ if (!!_b.done) return [3 /*break*/, 4];
295
+ name_2 = _b.value;
296
+ return [4 /*yield*/, [name_2, this.get(name_2)]];
297
+ case 2:
298
+ _d.sent();
299
+ _d.label = 3;
300
+ case 3:
301
+ _b = _a.next();
302
+ return [3 /*break*/, 1];
303
+ case 4: return [3 /*break*/, 7];
304
+ case 5:
305
+ e_3_1 = _d.sent();
306
+ e_3 = { error: e_3_1 };
307
+ return [3 /*break*/, 7];
308
+ case 6:
309
+ try {
310
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
311
+ }
312
+ finally { if (e_3) throw e_3.error; }
313
+ return [7 /*endfinally*/];
314
+ case 7: return [2 /*return*/];
315
+ }
316
+ });
317
+ };
318
+ /**
319
+ * Returns a `ByteString` sequence of all the values of a header with a given name.
320
+ */
321
+ HeadersPolyfill.prototype.get = function (name) {
322
+ return this._headers[normalizeHeaderName_1.normalizeHeaderName(name)] || null;
323
+ };
111
324
  /**
112
325
  * Sets a new value for an existing header inside a `Headers` object, or adds the header if it does not already exist.
113
326
  */
114
- Headers.prototype.set = function (name, value) {
115
- this.map[this.normalizeName(name)] = this.normalizeValue(value);
327
+ HeadersPolyfill.prototype.set = function (name, value) {
328
+ var normalizedName = normalizeHeaderName_1.normalizeHeaderName(name);
329
+ this._headers[normalizedName] = normalizeHeaderValue_1.normalizeHeaderValue(value);
330
+ this._names.set(normalizedName, name);
116
331
  };
117
332
  /**
118
333
  * Appends a new value onto an existing header inside a `Headers` object, or adds the header if it does not already exist.
119
334
  */
120
- Headers.prototype.append = function (name, value) {
121
- name = this.normalizeName(name);
122
- value = this.normalizeValue(value);
123
- this.map[name] = this.has(name) ? this.map[name] + ", " + value : value;
335
+ HeadersPolyfill.prototype.append = function (name, value) {
336
+ var resolvedValue = this.has(name) ? this.get(name) + ", " + value : value;
337
+ this.set(name, resolvedValue);
124
338
  };
125
339
  /**
126
340
  * Deletes a header from the `Headers` object.
127
341
  */
128
- Headers.prototype.delete = function (name) {
129
- delete this.map[this.normalizeName(name)];
342
+ HeadersPolyfill.prototype.delete = function (name) {
343
+ if (!this.has(name)) {
344
+ return this;
345
+ }
346
+ var normalizedName = normalizeHeaderName_1.normalizeHeaderName(name);
347
+ delete this._headers[normalizedName];
348
+ this._names.delete(normalizedName);
130
349
  return this;
131
350
  };
132
351
  /**
133
- * Returns a `ByteString` sequence of all the values of a header with a given name.
352
+ * Returns the object of all the normalized headers.
134
353
  */
135
- Headers.prototype.get = function (name) {
136
- return this.map[this.normalizeName(name)] || null;
354
+ HeadersPolyfill.prototype.all = function () {
355
+ return this._headers;
137
356
  };
138
357
  /**
139
- * Returns the map of all headers in a `Headers` object.
358
+ * Returns the object of all the raw headers.
140
359
  */
141
- Headers.prototype.getAllHeaders = function () {
142
- return this.map;
360
+ HeadersPolyfill.prototype.raw = function () {
361
+ var _this = this;
362
+ return Object.entries(this._headers).reduce(function (headers, _a) {
363
+ var _b = __read(_a, 2), name = _b[0], value = _b[1];
364
+ headers[_this._names.get(name)] = value;
365
+ return headers;
366
+ }, {});
143
367
  };
144
368
  /**
145
369
  * Returns a boolean stating whether a `Headers` object contains a certain header.
146
370
  */
147
- Headers.prototype.has = function (name) {
148
- return this.map.hasOwnProperty(this.normalizeName(name));
371
+ HeadersPolyfill.prototype.has = function (name) {
372
+ return this._headers.hasOwnProperty(normalizeHeaderName_1.normalizeHeaderName(name));
149
373
  };
150
- Headers.prototype.forEach = function (callback, thisArg) {
151
- for (var name_1 in this.map) {
152
- if (this.map.hasOwnProperty(name_1)) {
153
- callback.call(thisArg, this.map[name_1], name_1, this);
374
+ /**
375
+ * Traverses the `Headers` object,
376
+ * calling the given callback for each header.
377
+ */
378
+ HeadersPolyfill.prototype.forEach = function (callback, thisArg) {
379
+ for (var name_3 in this._headers) {
380
+ if (this._headers.hasOwnProperty(name_3)) {
381
+ callback.call(thisArg, this._headers[name_3], name_3, this);
154
382
  }
155
383
  }
156
384
  };
157
- Headers.prototype.normalizeName = function (name) {
158
- if (typeof name !== 'string') {
159
- name = String(name);
160
- }
161
- if (HEADERS_INVALID_CHARACTERS.test(name) || name.trim() === '') {
162
- throw new TypeError('Invalid character in header field name');
163
- }
164
- return name.toLowerCase();
165
- };
166
- Headers.prototype.normalizeValue = function (value) {
167
- if (typeof value !== 'string') {
168
- value = String(value);
169
- }
170
- return value;
171
- };
172
- return Headers;
385
+ return HeadersPolyfill;
173
386
  }());
174
- var Headers_2 = Headers$1;
387
+ var _default = HeadersPolyfill;
175
388
 
176
- var Headers_1 = /*#__PURE__*/Object.defineProperty({
177
- Headers: Headers_2
389
+ var Headers = /*#__PURE__*/Object.defineProperty({
390
+ default: _default
178
391
  }, '__esModule', {value: true});
179
392
 
393
+ var headersToList_1 = createCommonjsModule(function (module, exports) {
394
+ Object.defineProperty(exports, "__esModule", { value: true });
395
+ exports.headersToList = void 0;
180
396
  function headersToList(headers) {
181
397
  var headersList = [];
182
398
  headers.forEach(function (value, name) {
183
399
  var resolvedValue = value.includes(',')
184
- ? value.split(',').map(function (v) { return v.trim(); })
400
+ ? value.split(',').map(function (value) { return value.trim(); })
185
401
  : value;
186
402
  headersList.push([name, resolvedValue]);
187
403
  });
188
404
  return headersList;
189
405
  }
190
- var headersToList_2 = headersToList;
406
+ exports.headersToList = headersToList;
407
+ });
191
408
 
192
- var headersToList_1 = /*#__PURE__*/Object.defineProperty({
193
- headersToList: headersToList_2
194
- }, '__esModule', {value: true});
409
+ var headersToString_1 = createCommonjsModule(function (module, exports) {
410
+ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
411
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
412
+ if (!m) return o;
413
+ var i = m.call(o), r, ar = [], e;
414
+ try {
415
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
416
+ }
417
+ catch (error) { e = { error: error }; }
418
+ finally {
419
+ try {
420
+ if (r && !r.done && (m = i["return"])) m.call(i);
421
+ }
422
+ finally { if (e) throw e.error; }
423
+ }
424
+ return ar;
425
+ };
426
+ Object.defineProperty(exports, "__esModule", { value: true });
427
+ exports.headersToString = void 0;
428
+
429
+ /**
430
+ * Converts a given `Headers` instance to its string representation.
431
+ */
432
+ function headersToString(headers) {
433
+ var list = headersToList_1.headersToList(headers);
434
+ var lines = list.map(function (_a) {
435
+ var _b = __read(_a, 2), name = _b[0], value = _b[1];
436
+ var values = [].concat(value);
437
+ return name + ": " + values.join(', ');
438
+ });
439
+ return lines.join('\r\n');
440
+ }
441
+ exports.headersToString = headersToString;
442
+ });
195
443
 
444
+ var headersToObject_1 = createCommonjsModule(function (module, exports) {
445
+ Object.defineProperty(exports, "__esModule", { value: true });
446
+ exports.headersToObject = void 0;
196
447
  // List of headers that cannot have multiple values,
197
448
  // while potentially having a comma in their single value.
198
449
  var singleValueHeaders = ['user-agent'];
@@ -210,11 +461,12 @@
210
461
  });
211
462
  return headersObject;
212
463
  }
213
- var headersToObject_2 = headersToObject;
464
+ exports.headersToObject = headersToObject;
465
+ });
214
466
 
215
- var headersToObject_1 = /*#__PURE__*/Object.defineProperty({
216
- headersToObject: headersToObject_2
217
- }, '__esModule', {value: true});
467
+ var stringToHeaders_1 = createCommonjsModule(function (module, exports) {
468
+ Object.defineProperty(exports, "__esModule", { value: true });
469
+ exports.stringToHeaders = void 0;
218
470
 
219
471
  /**
220
472
  * Converts a string representation of headers (i.e. from XMLHttpRequest)
@@ -228,18 +480,35 @@
228
480
  var value = parts.join(': ');
229
481
  headers.append(name, value);
230
482
  return headers;
231
- }, new Headers());
483
+ }, new Headers.default());
232
484
  }
233
- var stringToHeaders_2 = stringToHeaders;
485
+ exports.stringToHeaders = stringToHeaders;
486
+ });
234
487
 
235
- var stringToHeaders_1 = /*#__PURE__*/Object.defineProperty({
236
- stringToHeaders: stringToHeaders_2
237
- }, '__esModule', {value: true});
488
+ var listToHeaders_1 = createCommonjsModule(function (module, exports) {
489
+ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
490
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
491
+ if (!m) return o;
492
+ var i = m.call(o), r, ar = [], e;
493
+ try {
494
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
495
+ }
496
+ catch (error) { e = { error: error }; }
497
+ finally {
498
+ try {
499
+ if (r && !r.done && (m = i["return"])) m.call(i);
500
+ }
501
+ finally { if (e) throw e.error; }
502
+ }
503
+ return ar;
504
+ };
505
+ Object.defineProperty(exports, "__esModule", { value: true });
506
+ exports.listToHeaders = void 0;
238
507
 
239
508
  function listToHeaders(list) {
240
- var headers = new Headers();
509
+ var headers = new Headers.default();
241
510
  list.forEach(function (_a) {
242
- var name = _a[0], value = _a[1];
511
+ var _b = __read(_a, 2), name = _b[0], value = _b[1];
243
512
  var values = [].concat(value);
244
513
  values.forEach(function (value) {
245
514
  headers.append(name, value);
@@ -247,12 +516,12 @@
247
516
  });
248
517
  return headers;
249
518
  }
250
- var listToHeaders_2 = listToHeaders;
251
-
252
- var listToHeaders_1 = /*#__PURE__*/Object.defineProperty({
253
- listToHeaders: listToHeaders_2
254
- }, '__esModule', {value: true});
519
+ exports.listToHeaders = listToHeaders;
520
+ });
255
521
 
522
+ var reduceHeadersObject_1 = createCommonjsModule(function (module, exports) {
523
+ Object.defineProperty(exports, "__esModule", { value: true });
524
+ exports.reduceHeadersObject = void 0;
256
525
  /**
257
526
  * Reduces given headers object instnace.
258
527
  */
@@ -261,71 +530,94 @@
261
530
  return reducer(nextHeaders, name, headers[name]);
262
531
  }, initialState);
263
532
  }
264
- var reduceHeadersObject_2 = reduceHeadersObject;
533
+ exports.reduceHeadersObject = reduceHeadersObject;
534
+ });
535
+
536
+ var objectToHeaders_1 = createCommonjsModule(function (module, exports) {
537
+ Object.defineProperty(exports, "__esModule", { value: true });
538
+ exports.objectToHeaders = void 0;
265
539
 
266
- var reduceHeadersObject_1 = /*#__PURE__*/Object.defineProperty({
267
- reduceHeadersObject: reduceHeadersObject_2
268
- }, '__esModule', {value: true});
269
540
 
270
541
  /**
271
542
  * Converts a given headers object to a new `Headers` instance.
272
543
  */
273
- function objectToHeaders(obj) {
274
- return reduceHeadersObject_1.reduceHeadersObject(obj, function (headers, name, value) {
275
- var values = [].concat(value);
544
+ function objectToHeaders(headersObject) {
545
+ return reduceHeadersObject_1.reduceHeadersObject(headersObject, function (headers, name, value) {
546
+ var values = [].concat(value).filter(Boolean);
276
547
  values.forEach(function (value) {
277
548
  headers.append(name, value);
278
549
  });
279
550
  return headers;
280
- }, new Headers());
551
+ }, new Headers.default());
281
552
  }
282
- var objectToHeaders_2 = objectToHeaders;
283
-
284
- var objectToHeaders_1 = /*#__PURE__*/Object.defineProperty({
285
- objectToHeaders: objectToHeaders_2
286
- }, '__esModule', {value: true});
553
+ exports.objectToHeaders = objectToHeaders;
554
+ });
287
555
 
556
+ var flattenHeadersList_1 = createCommonjsModule(function (module, exports) {
557
+ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
558
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
559
+ if (!m) return o;
560
+ var i = m.call(o), r, ar = [], e;
561
+ try {
562
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
563
+ }
564
+ catch (error) { e = { error: error }; }
565
+ finally {
566
+ try {
567
+ if (r && !r.done && (m = i["return"])) m.call(i);
568
+ }
569
+ finally { if (e) throw e.error; }
570
+ }
571
+ return ar;
572
+ };
573
+ Object.defineProperty(exports, "__esModule", { value: true });
574
+ exports.flattenHeadersList = void 0;
288
575
  function flattenHeadersList(list) {
289
576
  return list.map(function (_a) {
290
- var name = _a[0], values = _a[1];
577
+ var _b = __read(_a, 2), name = _b[0], values = _b[1];
291
578
  return [name, [].concat(values).join('; ')];
292
579
  });
293
580
  }
294
- var flattenHeadersList_2 = flattenHeadersList;
581
+ exports.flattenHeadersList = flattenHeadersList;
582
+ });
295
583
 
296
- var flattenHeadersList_1 = /*#__PURE__*/Object.defineProperty({
297
- flattenHeadersList: flattenHeadersList_2
298
- }, '__esModule', {value: true});
584
+ var flattenHeadersObject_1 = createCommonjsModule(function (module, exports) {
585
+ Object.defineProperty(exports, "__esModule", { value: true });
586
+ exports.flattenHeadersObject = void 0;
299
587
 
300
- function flattenHeadersObject(obj) {
301
- return reduceHeadersObject_1.reduceHeadersObject(obj, function (headers, name, value) {
588
+ function flattenHeadersObject(headersObject) {
589
+ return reduceHeadersObject_1.reduceHeadersObject(headersObject, function (headers, name, value) {
302
590
  headers[name] = [].concat(value).join('; ');
303
591
  return headers;
304
592
  }, {});
305
593
  }
306
- var flattenHeadersObject_2 = flattenHeadersObject;
594
+ exports.flattenHeadersObject = flattenHeadersObject;
595
+ });
307
596
 
308
- var flattenHeadersObject_1 = /*#__PURE__*/Object.defineProperty({
309
- flattenHeadersObject: flattenHeadersObject_2
310
- }, '__esModule', {value: true});
597
+ var lib = createCommonjsModule(function (module, exports) {
598
+ Object.defineProperty(exports, "__esModule", { value: true });
599
+ exports.flattenHeadersObject = exports.flattenHeadersList = exports.reduceHeadersObject = exports.objectToHeaders = exports.listToHeaders = exports.stringToHeaders = exports.headersToObject = exports.headersToList = exports.headersToString = exports.Headers = void 0;
311
600
 
312
- var Headers$2 = Headers_1.Headers;
601
+ Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return Headers.default; } });
313
602
 
314
- var headersToList$1 = headersToList_1.headersToList;
603
+ Object.defineProperty(exports, "headersToString", { enumerable: true, get: function () { return headersToString_1.headersToString; } });
315
604
 
316
- headersToObject_1.headersToObject;
605
+ Object.defineProperty(exports, "headersToList", { enumerable: true, get: function () { return headersToList_1.headersToList; } });
317
606
 
318
- var stringToHeaders$1 = stringToHeaders_1.stringToHeaders;
607
+ Object.defineProperty(exports, "headersToObject", { enumerable: true, get: function () { return headersToObject_1.headersToObject; } });
319
608
 
320
- var listToHeaders$1 = listToHeaders_1.listToHeaders;
609
+ Object.defineProperty(exports, "stringToHeaders", { enumerable: true, get: function () { return stringToHeaders_1.stringToHeaders; } });
321
610
 
322
- var objectToHeaders$1 = objectToHeaders_1.objectToHeaders;
611
+ Object.defineProperty(exports, "listToHeaders", { enumerable: true, get: function () { return listToHeaders_1.listToHeaders; } });
323
612
 
324
- reduceHeadersObject_1.reduceHeadersObject;
613
+ Object.defineProperty(exports, "objectToHeaders", { enumerable: true, get: function () { return objectToHeaders_1.objectToHeaders; } });
325
614
 
326
- flattenHeadersList_1.flattenHeadersList;
615
+ Object.defineProperty(exports, "reduceHeadersObject", { enumerable: true, get: function () { return reduceHeadersObject_1.reduceHeadersObject; } });
327
616
 
328
- flattenHeadersObject_1.flattenHeadersObject;
617
+ Object.defineProperty(exports, "flattenHeadersList", { enumerable: true, get: function () { return flattenHeadersList_1.flattenHeadersList; } });
618
+
619
+ Object.defineProperty(exports, "flattenHeadersObject", { enumerable: true, get: function () { return flattenHeadersObject_1.flattenHeadersObject; } });
620
+ });
329
621
 
330
622
  /**
331
623
  * Sets one or multiple response headers.
@@ -338,7 +630,7 @@
338
630
  res.headers.append(name, value);
339
631
  }
340
632
  else {
341
- const headers = objectToHeaders$1(name);
633
+ const headers = lib.objectToHeaders(name);
342
634
  headers.forEach((value, name) => {
343
635
  res.headers.append(name, value);
344
636
  });
@@ -650,7 +942,7 @@
650
942
  };
651
943
 
652
944
  /**
653
- * Returns a boolean indicating if the current process is running in NodeJS environment.
945
+ * Returns a boolean indicating if the current process is running in Node.js environment.
654
946
  * @see https://github.com/mswjs/msw/pull/255
655
947
  */
656
948
  function isNodeProcess() {
@@ -680,7 +972,7 @@
680
972
  * Delays the response by the given duration (ms).
681
973
  * @example
682
974
  * res(ctx.delay(1200)) // delay response by 1200ms
683
- * res(ctx.delay()) // emilate realistic server response time
975
+ * res(ctx.delay()) // emulate realistic server response time
684
976
  * res(ctx.delay('infinite')) // delay response infinitely
685
977
  * @see {@link https://mswjs.io/docs/api/context/delay `ctx.delay()`}
686
978
  */
@@ -739,9 +1031,9 @@
739
1031
 
740
1032
  const useFetch = isNodeProcess() ? require('node-fetch') : window.fetch;
741
1033
  const augmentRequestInit = (requestInit) => {
742
- const headers = new Headers$2(requestInit.headers);
1034
+ const headers = new lib.Headers(requestInit.headers);
743
1035
  headers.set('x-msw-bypass', 'true');
744
- return Object.assign(Object.assign({}, requestInit), { headers: headers.getAllHeaders() });
1036
+ return Object.assign(Object.assign({}, requestInit), { headers: headers.all() });
745
1037
  };
746
1038
  const createFetchRequestParameters = (input) => {
747
1039
  const { body, method } = input;
@@ -760,7 +1052,6 @@
760
1052
  * @see {@link https://mswjs.io/docs/api/context/fetch `ctx.fetch()`}
761
1053
  */
762
1054
  const fetch = (input, requestInit = {}) => {
763
- // Keep the default `window.fetch()` call signature
764
1055
  if (typeof input === 'string') {
765
1056
  return useFetch(input, augmentRequestInit(requestInit));
766
1057
  }
@@ -813,13 +1104,6 @@
813
1104
  xml: xml
814
1105
  });
815
1106
 
816
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
817
-
818
- function createCommonjsModule(fn) {
819
- var module = { exports: {} };
820
- return fn(module, module.exports), module.exports;
821
- }
822
-
823
1107
  // Copyright Joyent, Inc. and other Node contributors.
824
1108
 
825
1109
  var R = typeof Reflect === 'object' ? Reflect : null;
@@ -1332,7 +1616,7 @@
1332
1616
  exports.StrictEventEmitter = StrictEventEmitter;
1333
1617
  });
1334
1618
 
1335
- var lib = createCommonjsModule(function (module, exports) {
1619
+ var lib$1 = createCommonjsModule(function (module, exports) {
1336
1620
  var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1337
1621
  if (k2 === undefined) k2 = k;
1338
1622
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -1538,9 +1822,17 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
1538
1822
  return acc;
1539
1823
  }
1540
1824
  const result = yield handler.run(request);
1541
- if (result === null || !result.response || result.handler.shouldSkip) {
1825
+ if (result === null || result.handler.shouldSkip) {
1542
1826
  return null;
1543
1827
  }
1828
+ if (!result.response) {
1829
+ return {
1830
+ request: result.request,
1831
+ handler: result.handler,
1832
+ response: undefined,
1833
+ parsedResult: result.parsedResult,
1834
+ };
1835
+ }
1544
1836
  if (result.response.once) {
1545
1837
  handler.markAsSkipped(true);
1546
1838
  }
@@ -2415,11 +2707,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
2415
2707
  */
2416
2708
  // See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production
2417
2709
  // See: https://webpack.js.org/guides/production/
2418
- var instanceOf = process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
2419
- // eslint-disable-next-line no-shadow
2420
- function instanceOf(value, constructor) {
2421
- return value instanceof constructor;
2422
- } : // eslint-disable-next-line no-shadow
2710
+ var instanceOf = // eslint-disable-next-line no-shadow
2423
2711
  function instanceOf(value, constructor) {
2424
2712
  if (value instanceof constructor) {
2425
2713
  return true;
@@ -6280,12 +6568,12 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6280
6568
  * Formats a mocked request for introspection in browser's console.
6281
6569
  */
6282
6570
  function prepareRequest(request) {
6283
- return Object.assign(Object.assign({}, request), { headers: request.headers.getAllHeaders() });
6571
+ return Object.assign(Object.assign({}, request), { headers: request.headers.all() });
6284
6572
  }
6285
6573
 
6286
6574
  function parseContentHeaders(headersString) {
6287
6575
  var _a, _b;
6288
- const headers = stringToHeaders$1(headersString);
6576
+ const headers = lib.stringToHeaders(headersString);
6289
6577
  const contentType = headers.get('content-type') || 'text/plain';
6290
6578
  const disposition = headers.get('content-disposition');
6291
6579
  if (!disposition) {
@@ -6313,7 +6601,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6313
6601
  if (!contentType) {
6314
6602
  return undefined;
6315
6603
  }
6316
- const [, ...directives] = contentType.split('; ');
6604
+ const [, ...directives] = contentType.split(/; */);
6317
6605
  const boundary = directives
6318
6606
  .filter((d) => d.startsWith('boundary='))
6319
6607
  .map((s) => s.replace(/^boundary=/, ''))[0];
@@ -6384,7 +6672,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6384
6672
  * Formats a mocked response for introspection in browser's console.
6385
6673
  */
6386
6674
  function prepareResponse(res) {
6387
- const responseHeaders = listToHeaders$1(res.headers);
6675
+ const responseHeaders = lib.listToHeaders(res.headers);
6388
6676
  return Object.assign(Object.assign({}, res), {
6389
6677
  // Parse a response JSON body for preview in the logs
6390
6678
  body: parseBody(res.body, responseHeaders) });
@@ -6531,7 +6819,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6531
6819
  function createResponseComposition(responseOverrides, defaultTransformers = defaultResponseTransformers) {
6532
6820
  return (...transformers) => __awaiter(this, void 0, void 0, function* () {
6533
6821
  const initialResponse = Object.assign({}, defaultResponse, {
6534
- headers: new Headers$2({
6822
+ headers: new lib.Headers({
6535
6823
  'x-powered-by': 'msw',
6536
6824
  }),
6537
6825
  }, responseOverrides);
@@ -6556,7 +6844,9 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6556
6844
  * Return the stack trace frame of a function's invocation.
6557
6845
  */
6558
6846
  function getCallFrame() {
6559
- const frames = new Error().stack.split('\n');
6847
+ // In <IE11, new Error may return an undefined stack
6848
+ const stack = (new Error().stack || '');
6849
+ const frames = stack.split('\n');
6560
6850
  // Get the first frame that doesn't reference the library's internal trace.
6561
6851
  // Assume that frame is the invocation frame.
6562
6852
  const ignoreFrameRegExp = /(node_modules)?[\/\\]lib[\/\\](umd|esm|iief|cjs)[\/\\]|^[^\/\\]*$/;
@@ -6923,7 +7213,9 @@ Read more: https://mswjs.io/docs/getting-started/mocks\
6923
7213
  value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value
6924
7214
  } catch (e) {
6925
7215
  console.error(
6926
- `set-cookie-parser encountered an error while decoding a cookie with value '${value}'. Set options.decodeValues to false to disable this feature.`,
7216
+ "set-cookie-parser encountered an error while decoding a cookie with value '" +
7217
+ value +
7218
+ "'. Set options.decodeValues to false to disable this feature.",
6927
7219
  e
6928
7220
  );
6929
7221
  }
@@ -7201,8 +7493,14 @@ Read more: https://mswjs.io/docs/getting-started/mocks\
7201
7493
  if (persistedCookies) {
7202
7494
  try {
7203
7495
  const parsedCookies = JSON.parse(persistedCookies);
7204
- parsedCookies.forEach(([origin, cookie]) => {
7205
- this.store.set(origin, new Map(cookie));
7496
+ parsedCookies.forEach(([origin, cookies]) => {
7497
+ this.store.set(origin, new Map(cookies.map((_a) => {
7498
+ var [token, _b] = _a, { expires } = _b, cookie = __rest(_b, ["expires"]);
7499
+ return [
7500
+ token,
7501
+ expires === undefined ? cookie : Object.assign(Object.assign({}, cookie), { expires: new Date(expires) })
7502
+ ];
7503
+ })));
7206
7504
  });
7207
7505
  }
7208
7506
  catch (error) {
@@ -7250,7 +7548,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7250
7548
  exports.default = new CookieStore();
7251
7549
  });
7252
7550
 
7253
- var lib$1 = createCommonjsModule(function (module, exports) {
7551
+ var lib$2 = createCommonjsModule(function (module, exports) {
7254
7552
  var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
7255
7553
  return (mod && mod.__esModule) ? mod : { "default": mod };
7256
7554
  };
@@ -7269,7 +7567,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7269
7567
  */
7270
7568
  function getRequestCookies(request) {
7271
7569
  /**
7272
- * @note No cookies persist on the document in NodeJS: no document.
7570
+ * @note No cookies persist on the document in Node.js: no document.
7273
7571
  */
7274
7572
  if (typeof location === 'undefined') {
7275
7573
  return {};
@@ -7292,8 +7590,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7292
7590
 
7293
7591
  function setRequestCookies(request) {
7294
7592
  var _a;
7295
- lib$1.store.hydrate();
7296
- request.cookies = Object.assign(Object.assign({}, getRequestCookies(request)), Object.fromEntries(Array.from((_a = lib$1.store.get(Object.assign(Object.assign({}, request), { url: request.url.toString() }))) === null || _a === void 0 ? void 0 : _a.entries()).map(([name, { value }]) => [name, value])));
7593
+ lib$2.store.hydrate();
7594
+ request.cookies = Object.assign(Object.assign({}, getRequestCookies(request)), Array.from((_a = lib$2.store.get(Object.assign(Object.assign({}, request), { url: request.url.toString() }))) === null || _a === void 0 ? void 0 : _a.entries()).reduce((cookies, [name, { value }]) => Object.assign(cookies, { [name]: value }), {}));
7297
7595
  request.headers.set('cookie', Object.entries(request.cookies)
7298
7596
  .map(([name, value]) => `${name}=${value}`)
7299
7597
  .join('; '));
@@ -7329,7 +7627,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7329
7627
  destination: rawRequest.destination,
7330
7628
  body: pruneGetRequestBody(rawRequest),
7331
7629
  bodyUsed: rawRequest.bodyUsed,
7332
- headers: new Headers$2(rawRequest.headers),
7630
+ headers: new lib.Headers(rawRequest.headers),
7333
7631
  };
7334
7632
  // Set document cookies on the request.
7335
7633
  setRequestCookies(request);
@@ -7339,8 +7637,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7339
7637
  }
7340
7638
 
7341
7639
  function readResponseCookies(request, response) {
7342
- lib$1.store.add(Object.assign(Object.assign({}, request), { url: request.url.toString() }), response);
7343
- lib$1.store.persist();
7640
+ lib$2.store.add(Object.assign(Object.assign({}, request), { url: request.url.toString() }), response);
7641
+ lib$2.store.persist();
7344
7642
  }
7345
7643
 
7346
7644
  const createRequestListener = (context, options) => {
@@ -7369,7 +7667,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7369
7667
  return channel.send({ type: 'MOCK_NOT_FOUND' });
7370
7668
  }
7371
7669
  readResponseCookies(request, response);
7372
- const responseWithSerializedHeaders = Object.assign(Object.assign({}, response), { headers: headersToList$1(response.headers) });
7670
+ const responseWithSerializedHeaders = Object.assign(Object.assign({}, response), { headers: lib.headersToList(response.headers) });
7373
7671
  if (!options.quiet) {
7374
7672
  setTimeout(() => {
7375
7673
  handler.log(publicRequest, responseWithSerializedHeaders, handler, parsedRequest);
@@ -7417,8 +7715,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7417
7715
  const { payload: actualChecksum } = yield context.events.once('INTEGRITY_CHECK_RESPONSE');
7418
7716
  // Compare the response from the Service Worker and the
7419
7717
  // global variable set by webpack upon build.
7420
- if (actualChecksum !== "f7d0ed371e596d181f62c6f68c4b7baf") {
7421
- throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"f7d0ed371e596d181f62c6f68c4b7baf"}).`);
7718
+ if (actualChecksum !== "82ef9b96d8393b6da34527d1d6e19187") {
7719
+ throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"82ef9b96d8393b6da34527d1d6e19187"}).`);
7422
7720
  }
7423
7721
  return serviceWorker;
7424
7722
  });
@@ -7507,7 +7805,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7507
7805
  const instance = yield getWorkerInstance(resolvedOptions.serviceWorker.url, resolvedOptions.serviceWorker.options, resolvedOptions.findWorker);
7508
7806
  const [worker, registration] = instance;
7509
7807
  if (!worker) {
7510
- const missingWorkerMessage = (options === null || options === void 0 ? void 0 : options.findWorker) ? `[MSW] Failed to locate the Service Worker registration using a custom "findWorker" predicate.
7808
+ const missingWorkerMessage = (options === null || options === void 0 ? void 0 : options.findWorker)
7809
+ ? `[MSW] Failed to locate the Service Worker registration using a custom "findWorker" predicate.
7511
7810
 
7512
7811
  Please ensure that the custom predicate properly locates the Service Worker registration at "${resolvedOptions.serviceWorker.url}".
7513
7812
  More details: https://mswjs.io/docs/api/setup-worker/start#findworker
@@ -7614,7 +7913,7 @@ If this message still persists after updating, please report an issue: https://g
7614
7913
  worker: null,
7615
7914
  registration: null,
7616
7915
  requestHandlers: [...requestHandlers],
7617
- emitter: new lib.StrictEventEmitter(),
7916
+ emitter: new lib$1.StrictEventEmitter(),
7618
7917
  workerChannel: {
7619
7918
  on(eventType, callback) {
7620
7919
  context.events.addListener(navigator.serviceWorker, 'message', (event) => {
@@ -7671,9 +7970,9 @@ If this message still persists after updating, please report an issue: https://g
7671
7970
  },
7672
7971
  },
7673
7972
  };
7674
- // Error when attempting to run this function in a NodeJS environment.
7973
+ // Error when attempting to run this function in a Node.js environment.
7675
7974
  if (isNodeProcess()) {
7676
- throw new Error('[MSW] Failed to execute `setupWorker` in a non-browser environment. Consider using `setupServer` for NodeJS environment instead.');
7975
+ throw new Error('[MSW] Failed to execute `setupWorker` in a non-browser environment. Consider using `setupServer` for Node.js environment instead.');
7677
7976
  }
7678
7977
  return {
7679
7978
  start: createStart(context),
@@ -7776,6 +8075,7 @@ If this message still persists after updating, please report an issue: https://g
7776
8075
 
7777
8076
  exports.GraphQLHandler = GraphQLHandler;
7778
8077
  exports.RequestHandler = RequestHandler;
8078
+ exports.RestHandler = RestHandler;
7779
8079
  exports.compose = compose;
7780
8080
  exports.context = index;
7781
8081
  exports.createResponseComposition = createResponseComposition;