msw 0.40.2 → 0.42.0

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.
Files changed (118) hide show
  1. package/config/constants.js +1 -3
  2. package/config/scripts/postinstall.js +32 -25
  3. package/lib/glossary-58eca5a8.d.ts +332 -0
  4. package/lib/iife/index.js +10911 -21
  5. package/lib/iife/index.js.map +1 -0
  6. package/lib/index.d.ts +353 -0
  7. package/lib/index.js +1875 -0
  8. package/lib/index.js.map +1 -0
  9. package/lib/{esm/mockServiceWorker.js → mockServiceWorker.js} +1 -1
  10. package/lib/native/index.d.ts +9 -0
  11. package/lib/native/index.js +1304 -0
  12. package/lib/native/index.mjs +1291 -0
  13. package/lib/node/index.d.ts +15 -0
  14. package/lib/node/index.js +1312 -0
  15. package/lib/node/index.js.map +1 -0
  16. package/lib/node/index.mjs +1297 -0
  17. package/lib/node/index.mjs.map +1 -0
  18. package/native/package.json +3 -2
  19. package/node/package.json +3 -2
  20. package/package.json +14 -24
  21. package/lib/esm/errors-deps.js +0 -74
  22. package/lib/esm/fetch-deps.js +0 -1005
  23. package/lib/esm/graphql-deps.js +0 -3545
  24. package/lib/esm/graphql.js +0 -5
  25. package/lib/esm/index-deps.js +0 -21
  26. package/lib/esm/index.js +0 -1731
  27. package/lib/esm/index2.js +0 -3
  28. package/lib/esm/matchRequestUrl-deps.js +0 -992
  29. package/lib/esm/rest-deps.js +0 -103
  30. package/lib/esm/rest.js +0 -5
  31. package/lib/esm/xml-deps.js +0 -44
  32. package/lib/iife/mockServiceWorker.js +0 -338
  33. package/lib/types/context/body.d.ts +0 -9
  34. package/lib/types/context/cookie.d.ts +0 -7
  35. package/lib/types/context/data.d.ts +0 -8
  36. package/lib/types/context/delay.d.ts +0 -15
  37. package/lib/types/context/errors.d.ts +0 -8
  38. package/lib/types/context/extensions.d.ts +0 -8
  39. package/lib/types/context/fetch.d.ts +0 -9
  40. package/lib/types/context/index.d.ts +0 -12
  41. package/lib/types/context/json.d.ts +0 -12
  42. package/lib/types/context/set.d.ts +0 -18
  43. package/lib/types/context/status.d.ts +0 -9
  44. package/lib/types/context/text.d.ts +0 -8
  45. package/lib/types/context/xml.d.ts +0 -9
  46. package/lib/types/graphql.d.ts +0 -74
  47. package/lib/types/handlers/GraphQLHandler.d.ts +0 -39
  48. package/lib/types/handlers/RequestHandler.d.ts +0 -103
  49. package/lib/types/handlers/RestHandler.d.ts +0 -47
  50. package/lib/types/index.d.ts +0 -26
  51. package/lib/types/native/index.d.ts +0 -1
  52. package/lib/types/node/createSetupServer.d.ts +0 -8
  53. package/lib/types/node/glossary.d.ts +0 -38
  54. package/lib/types/node/index.d.ts +0 -2
  55. package/lib/types/node/setupServer.d.ts +0 -6
  56. package/lib/types/response.d.ts +0 -35
  57. package/lib/types/rest.d.ts +0 -13
  58. package/lib/types/setupWorker/glossary.d.ts +0 -161
  59. package/lib/types/setupWorker/setupWorker.d.ts +0 -9
  60. package/lib/types/setupWorker/start/createFallbackStart.d.ts +0 -2
  61. package/lib/types/setupWorker/start/createStartHandler.d.ts +0 -2
  62. package/lib/types/setupWorker/start/utils/enableMocking.d.ts +0 -5
  63. package/lib/types/setupWorker/start/utils/getWorkerByRegistration.d.ts +0 -6
  64. package/lib/types/setupWorker/start/utils/getWorkerInstance.d.ts +0 -6
  65. package/lib/types/setupWorker/start/utils/prepareStartHandler.d.ts +0 -9
  66. package/lib/types/setupWorker/start/utils/printStartMessage.d.ts +0 -10
  67. package/lib/types/setupWorker/start/utils/validateWorkerScope.d.ts +0 -2
  68. package/lib/types/setupWorker/stop/createFallbackStop.d.ts +0 -2
  69. package/lib/types/setupWorker/stop/createStop.d.ts +0 -2
  70. package/lib/types/setupWorker/stop/utils/printStopMessage.d.ts +0 -3
  71. package/lib/types/sharedOptions.d.ts +0 -24
  72. package/lib/types/typeUtils.d.ts +0 -7
  73. package/lib/types/utils/NetworkError.d.ts +0 -3
  74. package/lib/types/utils/createBroadcastChannel.d.ts +0 -18
  75. package/lib/types/utils/deferNetworkRequestsUntil.d.ts +0 -6
  76. package/lib/types/utils/getResponse.d.ts +0 -15
  77. package/lib/types/utils/handleRequest.d.ts +0 -34
  78. package/lib/types/utils/internal/compose.d.ts +0 -14
  79. package/lib/types/utils/internal/devUtils.d.ts +0 -18
  80. package/lib/types/utils/internal/getCallFrame.d.ts +0 -4
  81. package/lib/types/utils/internal/isIterable.d.ts +0 -4
  82. package/lib/types/utils/internal/isObject.d.ts +0 -4
  83. package/lib/types/utils/internal/isStringEqual.d.ts +0 -4
  84. package/lib/types/utils/internal/jsonParse.d.ts +0 -5
  85. package/lib/types/utils/internal/mergeRight.d.ts +0 -5
  86. package/lib/types/utils/internal/parseGraphQLRequest.d.ts +0 -23
  87. package/lib/types/utils/internal/parseMultipartData.d.ts +0 -6
  88. package/lib/types/utils/internal/pipeEvents.d.ts +0 -6
  89. package/lib/types/utils/internal/requestHandlerUtils.d.ts +0 -4
  90. package/lib/types/utils/internal/requestIntegrityCheck.d.ts +0 -2
  91. package/lib/types/utils/internal/tryCatch.d.ts +0 -1
  92. package/lib/types/utils/internal/uuidv4.d.ts +0 -1
  93. package/lib/types/utils/logging/getStatusCodeColor.d.ts +0 -9
  94. package/lib/types/utils/logging/getTimestamp.d.ts +0 -4
  95. package/lib/types/utils/logging/prepareRequest.d.ts +0 -23
  96. package/lib/types/utils/logging/prepareResponse.d.ts +0 -10
  97. package/lib/types/utils/matching/matchRequestUrl.d.ts +0 -17
  98. package/lib/types/utils/matching/normalizePath.d.ts +0 -9
  99. package/lib/types/utils/request/getPublicUrlFromRequest.d.ts +0 -6
  100. package/lib/types/utils/request/getRequestCookies.d.ts +0 -7
  101. package/lib/types/utils/request/onUnhandledRequest.d.ts +0 -8
  102. package/lib/types/utils/request/parseBody.d.ts +0 -5
  103. package/lib/types/utils/request/parseIsomorphicRequest.d.ts +0 -6
  104. package/lib/types/utils/request/parseWorkerRequest.d.ts +0 -7
  105. package/lib/types/utils/request/pruneGetRequestBody.d.ts +0 -7
  106. package/lib/types/utils/request/readResponseCookies.d.ts +0 -3
  107. package/lib/types/utils/request/setRequestCookies.d.ts +0 -9
  108. package/lib/types/utils/url/cleanUrl.d.ts +0 -5
  109. package/lib/types/utils/url/getAbsoluteUrl.d.ts +0 -4
  110. package/lib/types/utils/url/getAbsoluteWorkerUrl.d.ts +0 -5
  111. package/lib/types/utils/url/isAbsoluteUrl.d.ts +0 -4
  112. package/lib/types/utils/worker/createFallbackRequestListener.d.ts +0 -4
  113. package/lib/types/utils/worker/createRequestListener.d.ts +0 -4
  114. package/lib/types/utils/worker/createResponseListener.d.ts +0 -3
  115. package/lib/umd/index.js +0 -31617
  116. package/lib/umd/mockServiceWorker.js +0 -338
  117. package/native/lib/index.js +0 -6384
  118. package/node/lib/index.js +0 -8276
@@ -1,1005 +0,0 @@
1
- var statuses = {
2
- "100": "Continue",
3
- "101": "Switching Protocols",
4
- "102": "Processing",
5
- "103": "Early Hints",
6
- "200": "OK",
7
- "201": "Created",
8
- "202": "Accepted",
9
- "203": "Non-Authoritative Information",
10
- "204": "No Content",
11
- "205": "Reset Content",
12
- "206": "Partial Content",
13
- "207": "Multi-Status",
14
- "208": "Already Reported",
15
- "226": "IM Used",
16
- "300": "Multiple Choices",
17
- "301": "Moved Permanently",
18
- "302": "Found",
19
- "303": "See Other",
20
- "304": "Not Modified",
21
- "305": "Use Proxy",
22
- "307": "Temporary Redirect",
23
- "308": "Permanent Redirect",
24
- "400": "Bad Request",
25
- "401": "Unauthorized",
26
- "402": "Payment Required",
27
- "403": "Forbidden",
28
- "404": "Not Found",
29
- "405": "Method Not Allowed",
30
- "406": "Not Acceptable",
31
- "407": "Proxy Authentication Required",
32
- "408": "Request Timeout",
33
- "409": "Conflict",
34
- "410": "Gone",
35
- "411": "Length Required",
36
- "412": "Precondition Failed",
37
- "413": "Payload Too Large",
38
- "414": "URI Too Long",
39
- "415": "Unsupported Media Type",
40
- "416": "Range Not Satisfiable",
41
- "417": "Expectation Failed",
42
- "418": "I'm a Teapot",
43
- "421": "Misdirected Request",
44
- "422": "Unprocessable Entity",
45
- "423": "Locked",
46
- "424": "Failed Dependency",
47
- "425": "Too Early",
48
- "426": "Upgrade Required",
49
- "428": "Precondition Required",
50
- "429": "Too Many Requests",
51
- "431": "Request Header Fields Too Large",
52
- "451": "Unavailable For Legal Reasons",
53
- "500": "Internal Server Error",
54
- "501": "Not Implemented",
55
- "502": "Bad Gateway",
56
- "503": "Service Unavailable",
57
- "504": "Gateway Timeout",
58
- "505": "HTTP Version Not Supported",
59
- "506": "Variant Also Negotiates",
60
- "507": "Insufficient Storage",
61
- "508": "Loop Detected",
62
- "509": "Bandwidth Limit Exceeded",
63
- "510": "Not Extended",
64
- "511": "Network Authentication Required"
65
- };
66
-
67
- /**
68
- * Sets a response status code and text.
69
- * @example
70
- * res(ctx.status(301))
71
- * res(ctx.status(400, 'Custom status text'))
72
- * @see {@link https://mswjs.io/docs/api/context/status `ctx.status()`}
73
- */
74
- const status = (statusCode, statusText) => {
75
- return (res) => {
76
- res.status = statusCode;
77
- res.statusText =
78
- statusText || statuses[String(statusCode)];
79
- return res;
80
- };
81
- };
82
-
83
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
84
-
85
- var lib$1 = {};
86
-
87
- var Headers = {};
88
-
89
- var normalizeHeaderName$1 = {};
90
-
91
- Object.defineProperty(normalizeHeaderName$1, "__esModule", { value: true });
92
- normalizeHeaderName$1.normalizeHeaderName = void 0;
93
- var HEADERS_INVALID_CHARACTERS = /[^a-z0-9\-#$%&'*+.^_`|~]/i;
94
- function normalizeHeaderName(name) {
95
- if (typeof name !== 'string') {
96
- name = String(name);
97
- }
98
- if (HEADERS_INVALID_CHARACTERS.test(name) || name.trim() === '') {
99
- throw new TypeError('Invalid character in header field name');
100
- }
101
- return name.toLowerCase();
102
- }
103
- normalizeHeaderName$1.normalizeHeaderName = normalizeHeaderName;
104
-
105
- var normalizeHeaderValue$1 = {};
106
-
107
- Object.defineProperty(normalizeHeaderValue$1, "__esModule", { value: true });
108
- normalizeHeaderValue$1.normalizeHeaderValue = void 0;
109
- function normalizeHeaderValue(value) {
110
- if (typeof value !== 'string') {
111
- value = String(value);
112
- }
113
- return value;
114
- }
115
- normalizeHeaderValue$1.normalizeHeaderValue = normalizeHeaderValue;
116
-
117
- var __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
118
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
119
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
120
- function verb(n) { return function (v) { return step([n, v]); }; }
121
- function step(op) {
122
- if (f) throw new TypeError("Generator is already executing.");
123
- while (_) try {
124
- 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;
125
- if (y = 0, t) op = [op[0] & 2, t.value];
126
- switch (op[0]) {
127
- case 0: case 1: t = op; break;
128
- case 4: _.label++; return { value: op[1], done: false };
129
- case 5: _.label++; y = op[1]; op = [0]; continue;
130
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
131
- default:
132
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
133
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
134
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
135
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
136
- if (t[2]) _.ops.pop();
137
- _.trys.pop(); continue;
138
- }
139
- op = body.call(thisArg, _);
140
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
141
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
142
- }
143
- };
144
- var __read$3 = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
145
- var m = typeof Symbol === "function" && o[Symbol.iterator];
146
- if (!m) return o;
147
- var i = m.call(o), r, ar = [], e;
148
- try {
149
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
150
- }
151
- catch (error) { e = { error: error }; }
152
- finally {
153
- try {
154
- if (r && !r.done && (m = i["return"])) m.call(i);
155
- }
156
- finally { if (e) throw e.error; }
157
- }
158
- return ar;
159
- };
160
- var __values = (commonjsGlobal && commonjsGlobal.__values) || function(o) {
161
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
162
- if (m) return m.call(o);
163
- if (o && typeof o.length === "number") return {
164
- next: function () {
165
- if (o && i >= o.length) o = void 0;
166
- return { value: o && o[i++], done: !o };
167
- }
168
- };
169
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
170
- };
171
- Object.defineProperty(Headers, "__esModule", { value: true });
172
- var normalizeHeaderName_1 = normalizeHeaderName$1;
173
- var normalizeHeaderValue_1 = normalizeHeaderValue$1;
174
- var HeadersPolyfill = /** @class */ (function () {
175
- function HeadersPolyfill(init) {
176
- var _this = this;
177
- // Normalized header {"name":"a, b"} storage.
178
- this._headers = {};
179
- // Keeps the mapping between the raw header name
180
- // and the normalized header name to ease the lookup.
181
- this._names = new Map();
182
- /**
183
- * @note Cannot check if the `init` is an instance of the `Headers`
184
- * because that class is only defined in the browser.
185
- */
186
- if (['Headers', 'HeadersPolyfill'].includes(init === null || init === void 0 ? void 0 : init.constructor.name) ||
187
- init instanceof HeadersPolyfill) {
188
- var initialHeaders = init;
189
- initialHeaders.forEach(function (value, name) {
190
- _this.append(name, value);
191
- }, this);
192
- }
193
- else if (Array.isArray(init)) {
194
- init.forEach(function (_a) {
195
- var _b = __read$3(_a, 2), name = _b[0], value = _b[1];
196
- _this.append(name, Array.isArray(value) ? value.join(', ') : value);
197
- });
198
- }
199
- else if (init) {
200
- Object.getOwnPropertyNames(init).forEach(function (name) {
201
- var value = init[name];
202
- _this.append(name, Array.isArray(value) ? value.join(', ') : value);
203
- });
204
- }
205
- }
206
- HeadersPolyfill.prototype[Symbol.iterator] = function () {
207
- return this.entries();
208
- };
209
- HeadersPolyfill.prototype.keys = function () {
210
- var _a, _b, name_1, e_1_1;
211
- var e_1, _c;
212
- return __generator(this, function (_d) {
213
- switch (_d.label) {
214
- case 0:
215
- _d.trys.push([0, 5, 6, 7]);
216
- _a = __values(Object.keys(this._headers)), _b = _a.next();
217
- _d.label = 1;
218
- case 1:
219
- if (!!_b.done) return [3 /*break*/, 4];
220
- name_1 = _b.value;
221
- return [4 /*yield*/, name_1];
222
- case 2:
223
- _d.sent();
224
- _d.label = 3;
225
- case 3:
226
- _b = _a.next();
227
- return [3 /*break*/, 1];
228
- case 4: return [3 /*break*/, 7];
229
- case 5:
230
- e_1_1 = _d.sent();
231
- e_1 = { error: e_1_1 };
232
- return [3 /*break*/, 7];
233
- case 6:
234
- try {
235
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
236
- }
237
- finally { if (e_1) throw e_1.error; }
238
- return [7 /*endfinally*/];
239
- case 7: return [2 /*return*/];
240
- }
241
- });
242
- };
243
- HeadersPolyfill.prototype.values = function () {
244
- var _a, _b, value, e_2_1;
245
- var e_2, _c;
246
- return __generator(this, function (_d) {
247
- switch (_d.label) {
248
- case 0:
249
- _d.trys.push([0, 5, 6, 7]);
250
- _a = __values(Object.values(this._headers)), _b = _a.next();
251
- _d.label = 1;
252
- case 1:
253
- if (!!_b.done) return [3 /*break*/, 4];
254
- value = _b.value;
255
- return [4 /*yield*/, value];
256
- case 2:
257
- _d.sent();
258
- _d.label = 3;
259
- case 3:
260
- _b = _a.next();
261
- return [3 /*break*/, 1];
262
- case 4: return [3 /*break*/, 7];
263
- case 5:
264
- e_2_1 = _d.sent();
265
- e_2 = { error: e_2_1 };
266
- return [3 /*break*/, 7];
267
- case 6:
268
- try {
269
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
270
- }
271
- finally { if (e_2) throw e_2.error; }
272
- return [7 /*endfinally*/];
273
- case 7: return [2 /*return*/];
274
- }
275
- });
276
- };
277
- HeadersPolyfill.prototype.entries = function () {
278
- var _a, _b, name_2, e_3_1;
279
- var e_3, _c;
280
- return __generator(this, function (_d) {
281
- switch (_d.label) {
282
- case 0:
283
- _d.trys.push([0, 5, 6, 7]);
284
- _a = __values(Object.keys(this._headers)), _b = _a.next();
285
- _d.label = 1;
286
- case 1:
287
- if (!!_b.done) return [3 /*break*/, 4];
288
- name_2 = _b.value;
289
- return [4 /*yield*/, [name_2, this.get(name_2)]];
290
- case 2:
291
- _d.sent();
292
- _d.label = 3;
293
- case 3:
294
- _b = _a.next();
295
- return [3 /*break*/, 1];
296
- case 4: return [3 /*break*/, 7];
297
- case 5:
298
- e_3_1 = _d.sent();
299
- e_3 = { error: e_3_1 };
300
- return [3 /*break*/, 7];
301
- case 6:
302
- try {
303
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
304
- }
305
- finally { if (e_3) throw e_3.error; }
306
- return [7 /*endfinally*/];
307
- case 7: return [2 /*return*/];
308
- }
309
- });
310
- };
311
- /**
312
- * Returns a `ByteString` sequence of all the values of a header with a given name.
313
- */
314
- HeadersPolyfill.prototype.get = function (name) {
315
- return this._headers[normalizeHeaderName_1.normalizeHeaderName(name)] || null;
316
- };
317
- /**
318
- * Sets a new value for an existing header inside a `Headers` object, or adds the header if it does not already exist.
319
- */
320
- HeadersPolyfill.prototype.set = function (name, value) {
321
- var normalizedName = normalizeHeaderName_1.normalizeHeaderName(name);
322
- this._headers[normalizedName] = normalizeHeaderValue_1.normalizeHeaderValue(value);
323
- this._names.set(normalizedName, name);
324
- };
325
- /**
326
- * Appends a new value onto an existing header inside a `Headers` object, or adds the header if it does not already exist.
327
- */
328
- HeadersPolyfill.prototype.append = function (name, value) {
329
- var resolvedValue = this.has(name) ? this.get(name) + ", " + value : value;
330
- this.set(name, resolvedValue);
331
- };
332
- /**
333
- * Deletes a header from the `Headers` object.
334
- */
335
- HeadersPolyfill.prototype.delete = function (name) {
336
- if (!this.has(name)) {
337
- return this;
338
- }
339
- var normalizedName = normalizeHeaderName_1.normalizeHeaderName(name);
340
- delete this._headers[normalizedName];
341
- this._names.delete(normalizedName);
342
- return this;
343
- };
344
- /**
345
- * Returns the object of all the normalized headers.
346
- */
347
- HeadersPolyfill.prototype.all = function () {
348
- return this._headers;
349
- };
350
- /**
351
- * Returns the object of all the raw headers.
352
- */
353
- HeadersPolyfill.prototype.raw = function () {
354
- var _this = this;
355
- return Object.entries(this._headers).reduce(function (headers, _a) {
356
- var _b = __read$3(_a, 2), name = _b[0], value = _b[1];
357
- headers[_this._names.get(name)] = value;
358
- return headers;
359
- }, {});
360
- };
361
- /**
362
- * Returns a boolean stating whether a `Headers` object contains a certain header.
363
- */
364
- HeadersPolyfill.prototype.has = function (name) {
365
- return this._headers.hasOwnProperty(normalizeHeaderName_1.normalizeHeaderName(name));
366
- };
367
- /**
368
- * Traverses the `Headers` object,
369
- * calling the given callback for each header.
370
- */
371
- HeadersPolyfill.prototype.forEach = function (callback, thisArg) {
372
- for (var name_3 in this._headers) {
373
- if (this._headers.hasOwnProperty(name_3)) {
374
- callback.call(thisArg, this._headers[name_3], name_3, this);
375
- }
376
- }
377
- };
378
- return HeadersPolyfill;
379
- }());
380
- Headers.default = HeadersPolyfill;
381
-
382
- var headersToString$1 = {};
383
-
384
- var headersToList$1 = {};
385
-
386
- Object.defineProperty(headersToList$1, "__esModule", { value: true });
387
- headersToList$1.headersToList = void 0;
388
- function headersToList(headers) {
389
- var headersList = [];
390
- headers.forEach(function (value, name) {
391
- var resolvedValue = value.includes(',')
392
- ? value.split(',').map(function (value) { return value.trim(); })
393
- : value;
394
- headersList.push([name, resolvedValue]);
395
- });
396
- return headersList;
397
- }
398
- headersToList$1.headersToList = headersToList;
399
-
400
- var __read$2 = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
401
- var m = typeof Symbol === "function" && o[Symbol.iterator];
402
- if (!m) return o;
403
- var i = m.call(o), r, ar = [], e;
404
- try {
405
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
406
- }
407
- catch (error) { e = { error: error }; }
408
- finally {
409
- try {
410
- if (r && !r.done && (m = i["return"])) m.call(i);
411
- }
412
- finally { if (e) throw e.error; }
413
- }
414
- return ar;
415
- };
416
- Object.defineProperty(headersToString$1, "__esModule", { value: true });
417
- headersToString$1.headersToString = void 0;
418
- var headersToList_1 = headersToList$1;
419
- /**
420
- * Converts a given `Headers` instance to its string representation.
421
- */
422
- function headersToString(headers) {
423
- var list = headersToList_1.headersToList(headers);
424
- var lines = list.map(function (_a) {
425
- var _b = __read$2(_a, 2), name = _b[0], value = _b[1];
426
- var values = [].concat(value);
427
- return name + ": " + values.join(', ');
428
- });
429
- return lines.join('\r\n');
430
- }
431
- headersToString$1.headersToString = headersToString;
432
-
433
- var headersToObject$1 = {};
434
-
435
- Object.defineProperty(headersToObject$1, "__esModule", { value: true });
436
- headersToObject$1.headersToObject = void 0;
437
- // List of headers that cannot have multiple values,
438
- // while potentially having a comma in their single value.
439
- var singleValueHeaders = ['user-agent'];
440
- /**
441
- * Converts a given `Headers` instance into a plain object.
442
- * Respects headers with multiple values.
443
- */
444
- function headersToObject(headers) {
445
- var headersObject = {};
446
- headers.forEach(function (value, name) {
447
- var isMultiValue = !singleValueHeaders.includes(name.toLowerCase()) && value.includes(',');
448
- headersObject[name] = isMultiValue
449
- ? value.split(',').map(function (s) { return s.trim(); })
450
- : value;
451
- });
452
- return headersObject;
453
- }
454
- headersToObject$1.headersToObject = headersToObject;
455
-
456
- var stringToHeaders$1 = {};
457
-
458
- Object.defineProperty(stringToHeaders$1, "__esModule", { value: true });
459
- stringToHeaders$1.stringToHeaders = void 0;
460
- var Headers_1$2 = Headers;
461
- /**
462
- * Converts a string representation of headers (i.e. from XMLHttpRequest)
463
- * to a new `Headers` instance.
464
- */
465
- function stringToHeaders(str) {
466
- var lines = str.trim().split(/[\r\n]+/);
467
- return lines.reduce(function (headers, line) {
468
- if (line.trim() === '') {
469
- return headers;
470
- }
471
- var parts = line.split(': ');
472
- var name = parts.shift();
473
- var value = parts.join(': ');
474
- headers.append(name, value);
475
- return headers;
476
- }, new Headers_1$2.default());
477
- }
478
- stringToHeaders$1.stringToHeaders = stringToHeaders;
479
-
480
- var listToHeaders$1 = {};
481
-
482
- var __read$1 = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
483
- var m = typeof Symbol === "function" && o[Symbol.iterator];
484
- if (!m) return o;
485
- var i = m.call(o), r, ar = [], e;
486
- try {
487
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
488
- }
489
- catch (error) { e = { error: error }; }
490
- finally {
491
- try {
492
- if (r && !r.done && (m = i["return"])) m.call(i);
493
- }
494
- finally { if (e) throw e.error; }
495
- }
496
- return ar;
497
- };
498
- Object.defineProperty(listToHeaders$1, "__esModule", { value: true });
499
- listToHeaders$1.listToHeaders = void 0;
500
- var Headers_1$1 = Headers;
501
- function listToHeaders(list) {
502
- var headers = new Headers_1$1.default();
503
- list.forEach(function (_a) {
504
- var _b = __read$1(_a, 2), name = _b[0], value = _b[1];
505
- var values = [].concat(value);
506
- values.forEach(function (value) {
507
- headers.append(name, value);
508
- });
509
- });
510
- return headers;
511
- }
512
- listToHeaders$1.listToHeaders = listToHeaders;
513
-
514
- var objectToHeaders$1 = {};
515
-
516
- var reduceHeadersObject$1 = {};
517
-
518
- Object.defineProperty(reduceHeadersObject$1, "__esModule", { value: true });
519
- reduceHeadersObject$1.reduceHeadersObject = void 0;
520
- /**
521
- * Reduces given headers object instnace.
522
- */
523
- function reduceHeadersObject(headers, reducer, initialState) {
524
- return Object.keys(headers).reduce(function (nextHeaders, name) {
525
- return reducer(nextHeaders, name, headers[name]);
526
- }, initialState);
527
- }
528
- reduceHeadersObject$1.reduceHeadersObject = reduceHeadersObject;
529
-
530
- Object.defineProperty(objectToHeaders$1, "__esModule", { value: true });
531
- objectToHeaders$1.objectToHeaders = void 0;
532
- var Headers_1 = Headers;
533
- var reduceHeadersObject_1$1 = reduceHeadersObject$1;
534
- /**
535
- * Converts a given headers object to a new `Headers` instance.
536
- */
537
- function objectToHeaders(headersObject) {
538
- return reduceHeadersObject_1$1.reduceHeadersObject(headersObject, function (headers, name, value) {
539
- var values = [].concat(value).filter(Boolean);
540
- values.forEach(function (value) {
541
- headers.append(name, value);
542
- });
543
- return headers;
544
- }, new Headers_1.default());
545
- }
546
- objectToHeaders$1.objectToHeaders = objectToHeaders;
547
-
548
- var flattenHeadersList$1 = {};
549
-
550
- var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
551
- var m = typeof Symbol === "function" && o[Symbol.iterator];
552
- if (!m) return o;
553
- var i = m.call(o), r, ar = [], e;
554
- try {
555
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
556
- }
557
- catch (error) { e = { error: error }; }
558
- finally {
559
- try {
560
- if (r && !r.done && (m = i["return"])) m.call(i);
561
- }
562
- finally { if (e) throw e.error; }
563
- }
564
- return ar;
565
- };
566
- Object.defineProperty(flattenHeadersList$1, "__esModule", { value: true });
567
- flattenHeadersList$1.flattenHeadersList = void 0;
568
- function flattenHeadersList(list) {
569
- return list.map(function (_a) {
570
- var _b = __read(_a, 2), name = _b[0], values = _b[1];
571
- return [name, [].concat(values).join('; ')];
572
- });
573
- }
574
- flattenHeadersList$1.flattenHeadersList = flattenHeadersList;
575
-
576
- var flattenHeadersObject$1 = {};
577
-
578
- Object.defineProperty(flattenHeadersObject$1, "__esModule", { value: true });
579
- flattenHeadersObject$1.flattenHeadersObject = void 0;
580
- var reduceHeadersObject_1 = reduceHeadersObject$1;
581
- function flattenHeadersObject(headersObject) {
582
- return reduceHeadersObject_1.reduceHeadersObject(headersObject, function (headers, name, value) {
583
- headers[name] = [].concat(value).join('; ');
584
- return headers;
585
- }, {});
586
- }
587
- flattenHeadersObject$1.flattenHeadersObject = flattenHeadersObject;
588
-
589
- (function (exports) {
590
- Object.defineProperty(exports, "__esModule", { value: true });
591
- exports.flattenHeadersObject = exports.flattenHeadersList = exports.reduceHeadersObject = exports.objectToHeaders = exports.listToHeaders = exports.stringToHeaders = exports.headersToObject = exports.headersToList = exports.headersToString = exports.Headers = void 0;
592
- var Headers_1 = Headers;
593
- Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return Headers_1.default; } });
594
- var headersToString_1 = headersToString$1;
595
- Object.defineProperty(exports, "headersToString", { enumerable: true, get: function () { return headersToString_1.headersToString; } });
596
- var headersToList_1 = headersToList$1;
597
- Object.defineProperty(exports, "headersToList", { enumerable: true, get: function () { return headersToList_1.headersToList; } });
598
- var headersToObject_1 = headersToObject$1;
599
- Object.defineProperty(exports, "headersToObject", { enumerable: true, get: function () { return headersToObject_1.headersToObject; } });
600
- var stringToHeaders_1 = stringToHeaders$1;
601
- Object.defineProperty(exports, "stringToHeaders", { enumerable: true, get: function () { return stringToHeaders_1.stringToHeaders; } });
602
- var listToHeaders_1 = listToHeaders$1;
603
- Object.defineProperty(exports, "listToHeaders", { enumerable: true, get: function () { return listToHeaders_1.listToHeaders; } });
604
- var objectToHeaders_1 = objectToHeaders$1;
605
- Object.defineProperty(exports, "objectToHeaders", { enumerable: true, get: function () { return objectToHeaders_1.objectToHeaders; } });
606
- var reduceHeadersObject_1 = reduceHeadersObject$1;
607
- Object.defineProperty(exports, "reduceHeadersObject", { enumerable: true, get: function () { return reduceHeadersObject_1.reduceHeadersObject; } });
608
- var flattenHeadersList_1 = flattenHeadersList$1;
609
- Object.defineProperty(exports, "flattenHeadersList", { enumerable: true, get: function () { return flattenHeadersList_1.flattenHeadersList; } });
610
- var flattenHeadersObject_1 = flattenHeadersObject$1;
611
- Object.defineProperty(exports, "flattenHeadersObject", { enumerable: true, get: function () { return flattenHeadersObject_1.flattenHeadersObject; } });
612
- }(lib$1));
613
-
614
- /**
615
- * Sets one or multiple response headers.
616
- * @example
617
- * ctx.set('Content-Type', 'text/plain')
618
- * ctx.set({
619
- * 'Accept': 'application/javascript',
620
- * 'Content-Type': "text/plain"
621
- * })
622
- * @see {@link https://mswjs.io/docs/api/context/set `ctx.set()`}
623
- */
624
- function set(...args) {
625
- return (res) => {
626
- const [name, value] = args;
627
- if (typeof name === 'string') {
628
- res.headers.append(name, value);
629
- }
630
- else {
631
- const headers = lib$1.objectToHeaders(name);
632
- headers.forEach((value, name) => {
633
- res.headers.append(name, value);
634
- });
635
- }
636
- return res;
637
- };
638
- }
639
-
640
- /*!
641
- * cookie
642
- * Copyright(c) 2012-2014 Roman Shtylman
643
- * Copyright(c) 2015 Douglas Christopher Wilson
644
- * MIT Licensed
645
- */
646
-
647
- /**
648
- * Module exports.
649
- * @public
650
- */
651
-
652
- var parse_1 = parse;
653
- var serialize_1 = serialize;
654
-
655
- /**
656
- * Module variables.
657
- * @private
658
- */
659
-
660
- var decode = decodeURIComponent;
661
- var encode = encodeURIComponent;
662
-
663
- /**
664
- * RegExp to match field-content in RFC 7230 sec 3.2
665
- *
666
- * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
667
- * field-vchar = VCHAR / obs-text
668
- * obs-text = %x80-FF
669
- */
670
-
671
- var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
672
-
673
- /**
674
- * Parse a cookie header.
675
- *
676
- * Parse the given cookie header string into an object
677
- * The object has the various cookies as keys(names) => values
678
- *
679
- * @param {string} str
680
- * @param {object} [options]
681
- * @return {object}
682
- * @public
683
- */
684
-
685
- function parse(str, options) {
686
- if (typeof str !== 'string') {
687
- throw new TypeError('argument str must be a string');
688
- }
689
-
690
- var obj = {};
691
- var opt = options || {};
692
- var pairs = str.split(';');
693
- var dec = opt.decode || decode;
694
-
695
- for (var i = 0; i < pairs.length; i++) {
696
- var pair = pairs[i];
697
- var index = pair.indexOf('=');
698
-
699
- // skip things that don't look like key=value
700
- if (index < 0) {
701
- continue;
702
- }
703
-
704
- var key = pair.substring(0, index).trim();
705
-
706
- // only assign once
707
- if (undefined == obj[key]) {
708
- var val = pair.substring(index + 1, pair.length).trim();
709
-
710
- // quoted values
711
- if (val[0] === '"') {
712
- val = val.slice(1, -1);
713
- }
714
-
715
- obj[key] = tryDecode(val, dec);
716
- }
717
- }
718
-
719
- return obj;
720
- }
721
-
722
- /**
723
- * Serialize data into a cookie header.
724
- *
725
- * Serialize the a name value pair into a cookie string suitable for
726
- * http headers. An optional options object specified cookie parameters.
727
- *
728
- * serialize('foo', 'bar', { httpOnly: true })
729
- * => "foo=bar; httpOnly"
730
- *
731
- * @param {string} name
732
- * @param {string} val
733
- * @param {object} [options]
734
- * @return {string}
735
- * @public
736
- */
737
-
738
- function serialize(name, val, options) {
739
- var opt = options || {};
740
- var enc = opt.encode || encode;
741
-
742
- if (typeof enc !== 'function') {
743
- throw new TypeError('option encode is invalid');
744
- }
745
-
746
- if (!fieldContentRegExp.test(name)) {
747
- throw new TypeError('argument name is invalid');
748
- }
749
-
750
- var value = enc(val);
751
-
752
- if (value && !fieldContentRegExp.test(value)) {
753
- throw new TypeError('argument val is invalid');
754
- }
755
-
756
- var str = name + '=' + value;
757
-
758
- if (null != opt.maxAge) {
759
- var maxAge = opt.maxAge - 0;
760
-
761
- if (isNaN(maxAge) || !isFinite(maxAge)) {
762
- throw new TypeError('option maxAge is invalid')
763
- }
764
-
765
- str += '; Max-Age=' + Math.floor(maxAge);
766
- }
767
-
768
- if (opt.domain) {
769
- if (!fieldContentRegExp.test(opt.domain)) {
770
- throw new TypeError('option domain is invalid');
771
- }
772
-
773
- str += '; Domain=' + opt.domain;
774
- }
775
-
776
- if (opt.path) {
777
- if (!fieldContentRegExp.test(opt.path)) {
778
- throw new TypeError('option path is invalid');
779
- }
780
-
781
- str += '; Path=' + opt.path;
782
- }
783
-
784
- if (opt.expires) {
785
- if (typeof opt.expires.toUTCString !== 'function') {
786
- throw new TypeError('option expires is invalid');
787
- }
788
-
789
- str += '; Expires=' + opt.expires.toUTCString();
790
- }
791
-
792
- if (opt.httpOnly) {
793
- str += '; HttpOnly';
794
- }
795
-
796
- if (opt.secure) {
797
- str += '; Secure';
798
- }
799
-
800
- if (opt.sameSite) {
801
- var sameSite = typeof opt.sameSite === 'string'
802
- ? opt.sameSite.toLowerCase() : opt.sameSite;
803
-
804
- switch (sameSite) {
805
- case true:
806
- str += '; SameSite=Strict';
807
- break;
808
- case 'lax':
809
- str += '; SameSite=Lax';
810
- break;
811
- case 'strict':
812
- str += '; SameSite=Strict';
813
- break;
814
- case 'none':
815
- str += '; SameSite=None';
816
- break;
817
- default:
818
- throw new TypeError('option sameSite is invalid');
819
- }
820
- }
821
-
822
- return str;
823
- }
824
-
825
- /**
826
- * Try decoding a string using a decoding function.
827
- *
828
- * @param {string} str
829
- * @param {function} decode
830
- * @private
831
- */
832
-
833
- function tryDecode(str, decode) {
834
- try {
835
- return decode(str);
836
- } catch (e) {
837
- return str;
838
- }
839
- }
840
-
841
- /**
842
- * Sets a given cookie on the mocked response.
843
- * @example res(ctx.cookie('name', 'value'))
844
- */
845
- const cookie = (name, value, options) => {
846
- return (res) => {
847
- const serializedCookie = serialize_1(name, value, options);
848
- res.headers.set('Set-Cookie', serializedCookie);
849
- if (typeof document !== 'undefined') {
850
- document.cookie = serializedCookie;
851
- }
852
- return res;
853
- };
854
- };
855
-
856
- /**
857
- * Parses a given value into a JSON.
858
- * Does not throw an exception on an invalid JSON string.
859
- */
860
- function jsonParse(value) {
861
- try {
862
- return JSON.parse(value);
863
- }
864
- catch (error) {
865
- return undefined;
866
- }
867
- }
868
-
869
- /**
870
- * Sets the given value as the JSON body of the response.
871
- * Appends a `Content-Type: application/json` header on the
872
- * mocked response.
873
- * @example
874
- * res(ctx.json('Some string'))
875
- * res(ctx.json({ key: 'value' }))
876
- * res(ctx.json([1, '2', false, { ok: true }]))
877
- * @see {@link https://mswjs.io/docs/api/context/json `ctx.json()`}
878
- */
879
- const json = (body) => {
880
- return (res) => {
881
- res.headers.set('Content-Type', 'application/json');
882
- res.body = JSON.stringify(body);
883
- return res;
884
- };
885
- };
886
-
887
- var lib = {exports: {}};
888
-
889
- (function (module, exports) {
890
- (function (global, factory) {
891
- factory(exports) ;
892
- }(commonjsGlobal, (function (exports) {
893
- /**
894
- * Determines if the current process is a Node.js process.
895
- */
896
- function isNodeProcess() {
897
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
898
- return true;
899
- }
900
- return !!(typeof process !== 'undefined' &&
901
- process.versions &&
902
- process.versions.node);
903
- }
904
-
905
- exports.isNodeProcess = isNodeProcess;
906
-
907
- Object.defineProperty(exports, '__esModule', { value: true });
908
-
909
- })));
910
- }(lib, lib.exports));
911
-
912
- const SET_TIMEOUT_MAX_ALLOWED_INT = 2147483647;
913
- const MIN_SERVER_RESPONSE_TIME = 100;
914
- const MAX_SERVER_RESPONSE_TIME = 400;
915
- const NODE_SERVER_RESPONSE_TIME = 5;
916
- const getRandomServerResponseTime = () => {
917
- if (lib.exports.isNodeProcess()) {
918
- return NODE_SERVER_RESPONSE_TIME;
919
- }
920
- return Math.floor(Math.random() * (MAX_SERVER_RESPONSE_TIME - MIN_SERVER_RESPONSE_TIME) +
921
- MIN_SERVER_RESPONSE_TIME);
922
- };
923
- /**
924
- * Delays the response by the given duration (ms).
925
- * @example
926
- * res(ctx.delay(1200)) // delay response by 1200ms
927
- * res(ctx.delay()) // emulate realistic server response time
928
- * res(ctx.delay('infinite')) // delay response infinitely
929
- * @see {@link https://mswjs.io/docs/api/context/delay `ctx.delay()`}
930
- */
931
- const delay = (durationOrMode) => {
932
- return (res) => {
933
- let delayTime;
934
- if (typeof durationOrMode === 'string') {
935
- switch (durationOrMode) {
936
- case 'infinite': {
937
- // Using `Infinity` as a delay value executes the response timeout immediately.
938
- // Instead, use the maximum allowed integer for `setTimeout`.
939
- delayTime = SET_TIMEOUT_MAX_ALLOWED_INT;
940
- break;
941
- }
942
- case 'real': {
943
- delayTime = getRandomServerResponseTime();
944
- break;
945
- }
946
- default: {
947
- throw new Error(`Failed to delay a response: unknown delay mode "${durationOrMode}". Please make sure you provide one of the supported modes ("real", "infinite") or a number to "ctx.delay".`);
948
- }
949
- }
950
- }
951
- else if (typeof durationOrMode === 'undefined') {
952
- // Use random realistic server response time when no explicit delay duration was provided.
953
- delayTime = getRandomServerResponseTime();
954
- }
955
- else {
956
- // Guard against passing values like `Infinity` or `Number.MAX_VALUE`
957
- // as the response delay duration. They don't produce the result you may expect.
958
- if (durationOrMode > SET_TIMEOUT_MAX_ALLOWED_INT) {
959
- throw new Error(`Failed to delay a response: provided delay duration (${durationOrMode}) exceeds the maximum allowed duration for "setTimeout" (${SET_TIMEOUT_MAX_ALLOWED_INT}). This will cause the response to be returned immediately. Please use a number within the allowed range to delay the response by exact duration, or consider the "infinite" delay mode to delay the response indefinitely.`);
960
- }
961
- delayTime = durationOrMode;
962
- }
963
- res.delay = delayTime;
964
- return res;
965
- };
966
- };
967
-
968
- const useFetch = lib.exports.isNodeProcess() ? require('node-fetch') : window.fetch;
969
- const augmentRequestInit = (requestInit) => {
970
- const headers = new lib$1.Headers(requestInit.headers);
971
- headers.set('x-msw-bypass', 'true');
972
- return Object.assign(Object.assign({}, requestInit), { headers: headers.all() });
973
- };
974
- const createFetchRequestParameters = (input) => {
975
- const { body, method } = input;
976
- const requestParameters = Object.assign(Object.assign({}, input), { body: undefined });
977
- if (['GET', 'HEAD'].includes(method)) {
978
- return requestParameters;
979
- }
980
- if (typeof body === 'object' ||
981
- typeof body === 'number' ||
982
- typeof body === 'boolean') {
983
- requestParameters.body = JSON.stringify(body);
984
- }
985
- else {
986
- requestParameters.body = body;
987
- }
988
- return requestParameters;
989
- };
990
- /**
991
- * Performs a bypassed request inside a request handler.
992
- * @example
993
- * const originalResponse = await ctx.fetch(req)
994
- * @see {@link https://mswjs.io/docs/api/context/fetch `ctx.fetch()`}
995
- */
996
- const fetch = (input, requestInit = {}) => {
997
- if (typeof input === 'string') {
998
- return useFetch(input, augmentRequestInit(requestInit));
999
- }
1000
- const requestParameters = createFetchRequestParameters(input);
1001
- const derivedRequestInit = augmentRequestInit(requestParameters);
1002
- return useFetch(input.url.href, derivedRequestInit);
1003
- };
1004
-
1005
- export { lib as a, set as b, commonjsGlobal as c, cookie as d, delay as e, fetch as f, json as g, jsonParse as j, lib$1 as l, parse_1 as p, status as s };