msw 0.27.1 → 0.28.2

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;
195
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
+ });
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
  });
@@ -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;
@@ -812,13 +1104,6 @@
812
1104
  xml: xml
813
1105
  });
814
1106
 
815
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
816
-
817
- function createCommonjsModule(fn) {
818
- var module = { exports: {} };
819
- return fn(module, module.exports), module.exports;
820
- }
821
-
822
1107
  // Copyright Joyent, Inc. and other Node contributors.
823
1108
 
824
1109
  var R = typeof Reflect === 'object' ? Reflect : null;
@@ -1248,31 +1533,52 @@
1248
1533
 
1249
1534
  function once(emitter, name) {
1250
1535
  return new Promise(function (resolve, reject) {
1251
- function eventListener() {
1252
- if (errorListener !== undefined) {
1536
+ function errorListener(err) {
1537
+ emitter.removeListener(name, resolver);
1538
+ reject(err);
1539
+ }
1540
+
1541
+ function resolver() {
1542
+ if (typeof emitter.removeListener === 'function') {
1253
1543
  emitter.removeListener('error', errorListener);
1254
1544
  }
1255
1545
  resolve([].slice.call(arguments));
1256
- } var errorListener;
1257
-
1258
- // Adding an error listener is not optional because
1259
- // if an error is thrown on an event emitter we cannot
1260
- // guarantee that the actual event we are waiting will
1261
- // be fired. The result could be a silent way to create
1262
- // memory or file descriptor leaks, which is something
1263
- // we should avoid.
1546
+ }
1547
+ eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
1264
1548
  if (name !== 'error') {
1265
- errorListener = function errorListener(err) {
1266
- emitter.removeListener(name, eventListener);
1267
- reject(err);
1268
- };
1269
-
1270
- emitter.once('error', errorListener);
1549
+ addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
1271
1550
  }
1272
-
1273
- emitter.once(name, eventListener);
1274
1551
  });
1275
1552
  }
1553
+
1554
+ function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
1555
+ if (typeof emitter.on === 'function') {
1556
+ eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
1557
+ }
1558
+ }
1559
+
1560
+ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
1561
+ if (typeof emitter.on === 'function') {
1562
+ if (flags.once) {
1563
+ emitter.once(name, listener);
1564
+ } else {
1565
+ emitter.on(name, listener);
1566
+ }
1567
+ } else if (typeof emitter.addEventListener === 'function') {
1568
+ // EventTarget does not have `error` event semantics like Node
1569
+ // EventEmitters, we do not listen for `error` events here.
1570
+ emitter.addEventListener(name, function wrapListener(arg) {
1571
+ // IE does not have builtin `{ once: true }` support so we
1572
+ // have to do it manually.
1573
+ if (flags.once) {
1574
+ emitter.removeEventListener(name, wrapListener);
1575
+ }
1576
+ listener(arg);
1577
+ });
1578
+ } else {
1579
+ throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
1580
+ }
1581
+ }
1276
1582
  events.once = once_1;
1277
1583
 
1278
1584
  var StrictEventEmitter_1 = createCommonjsModule(function (module, exports) {
@@ -1331,7 +1637,7 @@
1331
1637
  exports.StrictEventEmitter = StrictEventEmitter;
1332
1638
  });
1333
1639
 
1334
- var lib = createCommonjsModule(function (module, exports) {
1640
+ var lib$1 = createCommonjsModule(function (module, exports) {
1335
1641
  var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1336
1642
  if (k2 === undefined) k2 = k;
1337
1643
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -1537,9 +1843,17 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
1537
1843
  return acc;
1538
1844
  }
1539
1845
  const result = yield handler.run(request);
1540
- if (result === null || !result.response || result.handler.shouldSkip) {
1846
+ if (result === null || result.handler.shouldSkip) {
1541
1847
  return null;
1542
1848
  }
1849
+ if (!result.response) {
1850
+ return {
1851
+ request: result.request,
1852
+ handler: result.handler,
1853
+ response: undefined,
1854
+ parsedResult: result.parsedResult,
1855
+ };
1856
+ }
1543
1857
  if (result.response.once) {
1544
1858
  handler.markAsSkipped(true);
1545
1859
  }
@@ -6275,12 +6589,12 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6275
6589
  * Formats a mocked request for introspection in browser's console.
6276
6590
  */
6277
6591
  function prepareRequest(request) {
6278
- return Object.assign(Object.assign({}, request), { headers: request.headers.getAllHeaders() });
6592
+ return Object.assign(Object.assign({}, request), { headers: request.headers.all() });
6279
6593
  }
6280
6594
 
6281
6595
  function parseContentHeaders(headersString) {
6282
6596
  var _a, _b;
6283
- const headers = stringToHeaders$1(headersString);
6597
+ const headers = lib.stringToHeaders(headersString);
6284
6598
  const contentType = headers.get('content-type') || 'text/plain';
6285
6599
  const disposition = headers.get('content-disposition');
6286
6600
  if (!disposition) {
@@ -6308,7 +6622,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6308
6622
  if (!contentType) {
6309
6623
  return undefined;
6310
6624
  }
6311
- const [, ...directives] = contentType.split('; ');
6625
+ const [, ...directives] = contentType.split(/; */);
6312
6626
  const boundary = directives
6313
6627
  .filter((d) => d.startsWith('boundary='))
6314
6628
  .map((s) => s.replace(/^boundary=/, ''))[0];
@@ -6379,7 +6693,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6379
6693
  * Formats a mocked response for introspection in browser's console.
6380
6694
  */
6381
6695
  function prepareResponse(res) {
6382
- const responseHeaders = listToHeaders$1(res.headers);
6696
+ const responseHeaders = lib.listToHeaders(res.headers);
6383
6697
  return Object.assign(Object.assign({}, res), {
6384
6698
  // Parse a response JSON body for preview in the logs
6385
6699
  body: parseBody(res.body, responseHeaders) });
@@ -6526,7 +6840,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6526
6840
  function createResponseComposition(responseOverrides, defaultTransformers = defaultResponseTransformers) {
6527
6841
  return (...transformers) => __awaiter(this, void 0, void 0, function* () {
6528
6842
  const initialResponse = Object.assign({}, defaultResponse, {
6529
- headers: new Headers$2({
6843
+ headers: new lib.Headers({
6530
6844
  'x-powered-by': 'msw',
6531
6845
  }),
6532
6846
  }, responseOverrides);
@@ -6551,7 +6865,9 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
6551
6865
  * Return the stack trace frame of a function's invocation.
6552
6866
  */
6553
6867
  function getCallFrame() {
6554
- const frames = new Error().stack.split('\n');
6868
+ // In <IE11, new Error may return an undefined stack
6869
+ const stack = (new Error().stack || '');
6870
+ const frames = stack.split('\n');
6555
6871
  // Get the first frame that doesn't reference the library's internal trace.
6556
6872
  // Assume that frame is the invocation frame.
6557
6873
  const ignoreFrameRegExp = /(node_modules)?[\/\\]lib[\/\\](umd|esm|iief|cjs)[\/\\]|^[^\/\\]*$/;
@@ -6697,7 +7013,7 @@ ${queryParams
6697
7013
  return matchRequestUrl(request.url, this.info.mask);
6698
7014
  }
6699
7015
  getPublicRequest(request, parsedResult) {
6700
- return Object.assign(Object.assign({}, request), { params: parsedResult.params });
7016
+ return Object.assign(Object.assign({}, request), { params: parsedResult.params || {} });
6701
7017
  }
6702
7018
  predicate(request, parsedResult) {
6703
7019
  return (isStringEqual(this.info.method, request.method) && parsedResult.matches);
@@ -6918,7 +7234,9 @@ Read more: https://mswjs.io/docs/getting-started/mocks\
6918
7234
  value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value
6919
7235
  } catch (e) {
6920
7236
  console.error(
6921
- `set-cookie-parser encountered an error while decoding a cookie with value '${value}'. Set options.decodeValues to false to disable this feature.`,
7237
+ "set-cookie-parser encountered an error while decoding a cookie with value '" +
7238
+ value +
7239
+ "'. Set options.decodeValues to false to disable this feature.",
6922
7240
  e
6923
7241
  );
6924
7242
  }
@@ -7196,8 +7514,14 @@ Read more: https://mswjs.io/docs/getting-started/mocks\
7196
7514
  if (persistedCookies) {
7197
7515
  try {
7198
7516
  const parsedCookies = JSON.parse(persistedCookies);
7199
- parsedCookies.forEach(([origin, cookie]) => {
7200
- this.store.set(origin, new Map(cookie));
7517
+ parsedCookies.forEach(([origin, cookies]) => {
7518
+ this.store.set(origin, new Map(cookies.map((_a) => {
7519
+ var [token, _b] = _a, { expires } = _b, cookie = __rest(_b, ["expires"]);
7520
+ return [
7521
+ token,
7522
+ expires === undefined ? cookie : Object.assign(Object.assign({}, cookie), { expires: new Date(expires) })
7523
+ ];
7524
+ })));
7201
7525
  });
7202
7526
  }
7203
7527
  catch (error) {
@@ -7245,7 +7569,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7245
7569
  exports.default = new CookieStore();
7246
7570
  });
7247
7571
 
7248
- var lib$1 = createCommonjsModule(function (module, exports) {
7572
+ var lib$2 = createCommonjsModule(function (module, exports) {
7249
7573
  var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {
7250
7574
  return (mod && mod.__esModule) ? mod : { "default": mod };
7251
7575
  };
@@ -7287,8 +7611,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7287
7611
 
7288
7612
  function setRequestCookies(request) {
7289
7613
  var _a;
7290
- lib$1.store.hydrate();
7291
- request.cookies = Object.assign(Object.assign({}, getRequestCookies(request)), Array.from((_a = lib$1.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 }), {}));
7614
+ lib$2.store.hydrate();
7615
+ 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 }), {}));
7292
7616
  request.headers.set('cookie', Object.entries(request.cookies)
7293
7617
  .map(([name, value]) => `${name}=${value}`)
7294
7618
  .join('; '));
@@ -7324,7 +7648,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7324
7648
  destination: rawRequest.destination,
7325
7649
  body: pruneGetRequestBody(rawRequest),
7326
7650
  bodyUsed: rawRequest.bodyUsed,
7327
- headers: new Headers$2(rawRequest.headers),
7651
+ headers: new lib.Headers(rawRequest.headers),
7328
7652
  };
7329
7653
  // Set document cookies on the request.
7330
7654
  setRequestCookies(request);
@@ -7334,8 +7658,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7334
7658
  }
7335
7659
 
7336
7660
  function readResponseCookies(request, response) {
7337
- lib$1.store.add(Object.assign(Object.assign({}, request), { url: request.url.toString() }), response);
7338
- lib$1.store.persist();
7661
+ lib$2.store.add(Object.assign(Object.assign({}, request), { url: request.url.toString() }), response);
7662
+ lib$2.store.persist();
7339
7663
  }
7340
7664
 
7341
7665
  const createRequestListener = (context, options) => {
@@ -7364,7 +7688,7 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7364
7688
  return channel.send({ type: 'MOCK_NOT_FOUND' });
7365
7689
  }
7366
7690
  readResponseCookies(request, response);
7367
- const responseWithSerializedHeaders = Object.assign(Object.assign({}, response), { headers: headersToList$1(response.headers) });
7691
+ const responseWithSerializedHeaders = Object.assign(Object.assign({}, response), { headers: lib.headersToList(response.headers) });
7368
7692
  if (!options.quiet) {
7369
7693
  setTimeout(() => {
7370
7694
  handler.log(publicRequest, responseWithSerializedHeaders, handler, parsedRequest);
@@ -7412,8 +7736,8 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
7412
7736
  const { payload: actualChecksum } = yield context.events.once('INTEGRITY_CHECK_RESPONSE');
7413
7737
  // Compare the response from the Service Worker and the
7414
7738
  // global variable set by webpack upon build.
7415
- if (actualChecksum !== "f7d0ed371e596d181f62c6f68c4b7baf") {
7416
- throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"f7d0ed371e596d181f62c6f68c4b7baf"}).`);
7739
+ if (actualChecksum !== "82ef9b96d8393b6da34527d1d6e19187") {
7740
+ throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"82ef9b96d8393b6da34527d1d6e19187"}).`);
7417
7741
  }
7418
7742
  return serviceWorker;
7419
7743
  });
@@ -7610,7 +7934,7 @@ If this message still persists after updating, please report an issue: https://g
7610
7934
  worker: null,
7611
7935
  registration: null,
7612
7936
  requestHandlers: [...requestHandlers],
7613
- emitter: new lib.StrictEventEmitter(),
7937
+ emitter: new lib$1.StrictEventEmitter(),
7614
7938
  workerChannel: {
7615
7939
  on(eventType, callback) {
7616
7940
  context.events.addListener(navigator.serviceWorker, 'message', (event) => {