msw 0.28.1 → 0.30.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/cli/init.js +14 -6
- package/lib/esm/RequestHandler-deps.js +162 -130
- package/lib/esm/fetch-deps.js +306 -95
- package/lib/esm/graphql-deps.js +26 -19
- package/lib/esm/index-deps.js +2 -2
- package/lib/esm/index.js +5291 -710
- package/lib/esm/index2.js +2 -2
- package/lib/esm/mockServiceWorker.js +4 -3
- package/lib/esm/rest-deps.js +4 -4
- package/lib/esm/xml-deps.js +1 -217
- package/lib/iife/index.js +4 -4
- package/lib/iife/mockServiceWorker.js +4 -3
- package/lib/types/context/body.d.ts +1 -1
- package/lib/types/context/json.d.ts +1 -1
- package/lib/types/context/text.d.ts +1 -1
- package/lib/types/context/xml.d.ts +1 -1
- package/lib/types/handlers/GraphQLHandler.d.ts +4 -2
- package/lib/types/handlers/RequestHandler.d.ts +12 -8
- package/lib/types/handlers/RestHandler.d.ts +2 -2
- package/lib/types/node/glossary.d.ts +2 -1
- package/lib/types/response.d.ts +1 -1
- package/lib/types/setupWorker/glossary.d.ts +21 -16
- package/lib/types/setupWorker/start/createFallbackStart.d.ts +2 -0
- package/lib/types/setupWorker/start/createStartHandler.d.ts +2 -0
- package/lib/types/setupWorker/start/utils/enableMocking.d.ts +5 -0
- package/lib/types/setupWorker/start/utils/prepareStartHandler.d.ts +9 -0
- package/lib/types/setupWorker/start/utils/printStartMessage.d.ts +7 -0
- package/lib/types/setupWorker/start/utils/validateWorkerScope.d.ts +2 -0
- package/lib/types/setupWorker/stop/createFallbackStop.d.ts +2 -0
- package/lib/types/setupWorker/stop/createStop.d.ts +2 -2
- package/lib/types/setupWorker/stop/utils/printStopMessage.d.ts +3 -0
- package/lib/types/sharedOptions.d.ts +3 -2
- package/lib/types/utils/getResponse.d.ts +2 -3
- package/lib/types/utils/handleRequest.d.ts +27 -0
- package/lib/types/utils/internal/isIterable.d.ts +4 -0
- package/lib/types/utils/internal/tryCatch.d.ts +1 -0
- package/lib/types/utils/logging/prepareResponse.d.ts +3 -3
- package/lib/types/utils/request/parseIsomorphicRequest.d.ts +6 -0
- package/lib/types/utils/request/parseWorkerRequest.d.ts +4 -0
- package/lib/types/utils/worker/createFallbackRequestListener.d.ts +3 -0
- package/lib/umd/index.js +27002 -5268
- package/lib/umd/mockServiceWorker.js +4 -3
- package/native/lib/index.js +4374 -4281
- package/node/lib/index.js +1385 -1292
- package/package.json +33 -33
- package/lib/types/setupWorker/start/createStart.d.ts +0 -2
- package/lib/types/setupWorker/start/utils/activateMocking.d.ts +0 -2
package/lib/esm/fetch-deps.js
CHANGED
|
@@ -82,14 +82,14 @@ const status = (statusCode, statusText) => {
|
|
|
82
82
|
|
|
83
83
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
var module = { exports: {} };
|
|
87
|
-
return fn(module, module.exports), module.exports;
|
|
88
|
-
}
|
|
85
|
+
var lib = {};
|
|
89
86
|
|
|
90
|
-
var
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
var Headers = {};
|
|
88
|
+
|
|
89
|
+
var normalizeHeaderName$1 = {};
|
|
90
|
+
|
|
91
|
+
Object.defineProperty(normalizeHeaderName$1, "__esModule", { value: true });
|
|
92
|
+
normalizeHeaderName$1.normalizeHeaderName = void 0;
|
|
93
93
|
var HEADERS_INVALID_CHARACTERS = /[^a-z0-9\-#$%&'*+.^_`|~]/i;
|
|
94
94
|
function normalizeHeaderName(name) {
|
|
95
95
|
if (typeof name !== 'string') {
|
|
@@ -100,20 +100,19 @@ function normalizeHeaderName(name) {
|
|
|
100
100
|
}
|
|
101
101
|
return name.toLowerCase();
|
|
102
102
|
}
|
|
103
|
-
|
|
104
|
-
});
|
|
103
|
+
normalizeHeaderName$1.normalizeHeaderName = normalizeHeaderName;
|
|
105
104
|
|
|
106
|
-
var
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
var normalizeHeaderValue$1 = {};
|
|
106
|
+
|
|
107
|
+
Object.defineProperty(normalizeHeaderValue$1, "__esModule", { value: true });
|
|
108
|
+
normalizeHeaderValue$1.normalizeHeaderValue = void 0;
|
|
109
109
|
function normalizeHeaderValue(value) {
|
|
110
110
|
if (typeof value !== 'string') {
|
|
111
111
|
value = String(value);
|
|
112
112
|
}
|
|
113
113
|
return value;
|
|
114
114
|
}
|
|
115
|
-
|
|
116
|
-
});
|
|
115
|
+
normalizeHeaderValue$1.normalizeHeaderValue = normalizeHeaderValue;
|
|
117
116
|
|
|
118
117
|
var __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
|
|
119
118
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
@@ -142,7 +141,7 @@ var __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (th
|
|
|
142
141
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
143
142
|
}
|
|
144
143
|
};
|
|
145
|
-
var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
144
|
+
var __read$3 = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
146
145
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
147
146
|
if (!m) return o;
|
|
148
147
|
var i = m.call(o), r, ar = [], e;
|
|
@@ -169,9 +168,9 @@ var __values = (commonjsGlobal && commonjsGlobal.__values) || function(o) {
|
|
|
169
168
|
};
|
|
170
169
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
171
170
|
};
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
Object.defineProperty(Headers, "__esModule", { value: true });
|
|
172
|
+
var normalizeHeaderName_1 = normalizeHeaderName$1;
|
|
173
|
+
var normalizeHeaderValue_1 = normalizeHeaderValue$1;
|
|
175
174
|
var HeadersPolyfill = /** @class */ (function () {
|
|
176
175
|
function HeadersPolyfill(init) {
|
|
177
176
|
var _this = this;
|
|
@@ -193,7 +192,7 @@ var HeadersPolyfill = /** @class */ (function () {
|
|
|
193
192
|
}
|
|
194
193
|
else if (Array.isArray(init)) {
|
|
195
194
|
init.forEach(function (_a) {
|
|
196
|
-
var _b = __read(_a, 2), name = _b[0], value = _b[1];
|
|
195
|
+
var _b = __read$3(_a, 2), name = _b[0], value = _b[1];
|
|
197
196
|
_this.append(name, Array.isArray(value) ? value.join(', ') : value);
|
|
198
197
|
});
|
|
199
198
|
}
|
|
@@ -354,7 +353,7 @@ var HeadersPolyfill = /** @class */ (function () {
|
|
|
354
353
|
HeadersPolyfill.prototype.raw = function () {
|
|
355
354
|
var _this = this;
|
|
356
355
|
return Object.entries(this._headers).reduce(function (headers, _a) {
|
|
357
|
-
var _b = __read(_a, 2), name = _b[0], value = _b[1];
|
|
356
|
+
var _b = __read$3(_a, 2), name = _b[0], value = _b[1];
|
|
358
357
|
headers[_this._names.get(name)] = value;
|
|
359
358
|
return headers;
|
|
360
359
|
}, {});
|
|
@@ -378,15 +377,14 @@ var HeadersPolyfill = /** @class */ (function () {
|
|
|
378
377
|
};
|
|
379
378
|
return HeadersPolyfill;
|
|
380
379
|
}());
|
|
381
|
-
|
|
380
|
+
Headers.default = HeadersPolyfill;
|
|
382
381
|
|
|
383
|
-
var
|
|
384
|
-
default: _default
|
|
385
|
-
}, '__esModule', {value: true});
|
|
382
|
+
var headersToString$1 = {};
|
|
386
383
|
|
|
387
|
-
var
|
|
388
|
-
|
|
389
|
-
|
|
384
|
+
var headersToList$1 = {};
|
|
385
|
+
|
|
386
|
+
Object.defineProperty(headersToList$1, "__esModule", { value: true });
|
|
387
|
+
headersToList$1.headersToList = void 0;
|
|
390
388
|
function headersToList(headers) {
|
|
391
389
|
var headersList = [];
|
|
392
390
|
headers.forEach(function (value, name) {
|
|
@@ -397,11 +395,9 @@ function headersToList(headers) {
|
|
|
397
395
|
});
|
|
398
396
|
return headersList;
|
|
399
397
|
}
|
|
400
|
-
|
|
401
|
-
});
|
|
398
|
+
headersToList$1.headersToList = headersToList;
|
|
402
399
|
|
|
403
|
-
var
|
|
404
|
-
var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
400
|
+
var __read$2 = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
405
401
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
406
402
|
if (!m) return o;
|
|
407
403
|
var i = m.call(o), r, ar = [], e;
|
|
@@ -417,27 +413,27 @@ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
|
417
413
|
}
|
|
418
414
|
return ar;
|
|
419
415
|
};
|
|
420
|
-
Object.defineProperty(
|
|
421
|
-
|
|
422
|
-
|
|
416
|
+
Object.defineProperty(headersToString$1, "__esModule", { value: true });
|
|
417
|
+
headersToString$1.headersToString = void 0;
|
|
418
|
+
var headersToList_1 = headersToList$1;
|
|
423
419
|
/**
|
|
424
420
|
* Converts a given `Headers` instance to its string representation.
|
|
425
421
|
*/
|
|
426
422
|
function headersToString(headers) {
|
|
427
423
|
var list = headersToList_1.headersToList(headers);
|
|
428
424
|
var lines = list.map(function (_a) {
|
|
429
|
-
var _b = __read(_a, 2), name = _b[0], value = _b[1];
|
|
425
|
+
var _b = __read$2(_a, 2), name = _b[0], value = _b[1];
|
|
430
426
|
var values = [].concat(value);
|
|
431
427
|
return name + ": " + values.join(', ');
|
|
432
428
|
});
|
|
433
429
|
return lines.join('\r\n');
|
|
434
430
|
}
|
|
435
|
-
|
|
436
|
-
});
|
|
431
|
+
headersToString$1.headersToString = headersToString;
|
|
437
432
|
|
|
438
|
-
var
|
|
439
|
-
|
|
440
|
-
|
|
433
|
+
var headersToObject$1 = {};
|
|
434
|
+
|
|
435
|
+
Object.defineProperty(headersToObject$1, "__esModule", { value: true });
|
|
436
|
+
headersToObject$1.headersToObject = void 0;
|
|
441
437
|
// List of headers that cannot have multiple values,
|
|
442
438
|
// while potentially having a comma in their single value.
|
|
443
439
|
var singleValueHeaders = ['user-agent'];
|
|
@@ -455,13 +451,13 @@ function headersToObject(headers) {
|
|
|
455
451
|
});
|
|
456
452
|
return headersObject;
|
|
457
453
|
}
|
|
458
|
-
|
|
459
|
-
});
|
|
454
|
+
headersToObject$1.headersToObject = headersToObject;
|
|
460
455
|
|
|
461
|
-
var
|
|
462
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
463
|
-
exports.stringToHeaders = void 0;
|
|
456
|
+
var stringToHeaders$1 = {};
|
|
464
457
|
|
|
458
|
+
Object.defineProperty(stringToHeaders$1, "__esModule", { value: true });
|
|
459
|
+
stringToHeaders$1.stringToHeaders = void 0;
|
|
460
|
+
var Headers_1$2 = Headers;
|
|
465
461
|
/**
|
|
466
462
|
* Converts a string representation of headers (i.e. from XMLHttpRequest)
|
|
467
463
|
* to a new `Headers` instance.
|
|
@@ -474,13 +470,13 @@ function stringToHeaders(str) {
|
|
|
474
470
|
var value = parts.join(': ');
|
|
475
471
|
headers.append(name, value);
|
|
476
472
|
return headers;
|
|
477
|
-
}, new
|
|
473
|
+
}, new Headers_1$2.default());
|
|
478
474
|
}
|
|
479
|
-
|
|
480
|
-
});
|
|
475
|
+
stringToHeaders$1.stringToHeaders = stringToHeaders;
|
|
481
476
|
|
|
482
|
-
var
|
|
483
|
-
|
|
477
|
+
var listToHeaders$1 = {};
|
|
478
|
+
|
|
479
|
+
var __read$1 = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
484
480
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
485
481
|
if (!m) return o;
|
|
486
482
|
var i = m.call(o), r, ar = [], e;
|
|
@@ -496,13 +492,13 @@ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
|
496
492
|
}
|
|
497
493
|
return ar;
|
|
498
494
|
};
|
|
499
|
-
Object.defineProperty(
|
|
500
|
-
|
|
501
|
-
|
|
495
|
+
Object.defineProperty(listToHeaders$1, "__esModule", { value: true });
|
|
496
|
+
listToHeaders$1.listToHeaders = void 0;
|
|
497
|
+
var Headers_1$1 = Headers;
|
|
502
498
|
function listToHeaders(list) {
|
|
503
|
-
var headers = new
|
|
499
|
+
var headers = new Headers_1$1.default();
|
|
504
500
|
list.forEach(function (_a) {
|
|
505
|
-
var _b = __read(_a, 2), name = _b[0], value = _b[1];
|
|
501
|
+
var _b = __read$1(_a, 2), name = _b[0], value = _b[1];
|
|
506
502
|
var values = [].concat(value);
|
|
507
503
|
values.forEach(function (value) {
|
|
508
504
|
headers.append(name, value);
|
|
@@ -510,12 +506,14 @@ function listToHeaders(list) {
|
|
|
510
506
|
});
|
|
511
507
|
return headers;
|
|
512
508
|
}
|
|
513
|
-
|
|
514
|
-
});
|
|
509
|
+
listToHeaders$1.listToHeaders = listToHeaders;
|
|
515
510
|
|
|
516
|
-
var
|
|
517
|
-
|
|
518
|
-
|
|
511
|
+
var objectToHeaders$1 = {};
|
|
512
|
+
|
|
513
|
+
var reduceHeadersObject$1 = {};
|
|
514
|
+
|
|
515
|
+
Object.defineProperty(reduceHeadersObject$1, "__esModule", { value: true });
|
|
516
|
+
reduceHeadersObject$1.reduceHeadersObject = void 0;
|
|
519
517
|
/**
|
|
520
518
|
* Reduces given headers object instnace.
|
|
521
519
|
*/
|
|
@@ -524,30 +522,28 @@ function reduceHeadersObject(headers, reducer, initialState) {
|
|
|
524
522
|
return reducer(nextHeaders, name, headers[name]);
|
|
525
523
|
}, initialState);
|
|
526
524
|
}
|
|
527
|
-
|
|
528
|
-
});
|
|
529
|
-
|
|
530
|
-
var objectToHeaders_1 = createCommonjsModule(function (module, exports) {
|
|
531
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
532
|
-
exports.objectToHeaders = void 0;
|
|
533
|
-
|
|
525
|
+
reduceHeadersObject$1.reduceHeadersObject = reduceHeadersObject;
|
|
534
526
|
|
|
527
|
+
Object.defineProperty(objectToHeaders$1, "__esModule", { value: true });
|
|
528
|
+
objectToHeaders$1.objectToHeaders = void 0;
|
|
529
|
+
var Headers_1 = Headers;
|
|
530
|
+
var reduceHeadersObject_1$1 = reduceHeadersObject$1;
|
|
535
531
|
/**
|
|
536
532
|
* Converts a given headers object to a new `Headers` instance.
|
|
537
533
|
*/
|
|
538
534
|
function objectToHeaders(headersObject) {
|
|
539
|
-
return reduceHeadersObject_1.reduceHeadersObject(headersObject, function (headers, name, value) {
|
|
535
|
+
return reduceHeadersObject_1$1.reduceHeadersObject(headersObject, function (headers, name, value) {
|
|
540
536
|
var values = [].concat(value).filter(Boolean);
|
|
541
537
|
values.forEach(function (value) {
|
|
542
538
|
headers.append(name, value);
|
|
543
539
|
});
|
|
544
540
|
return headers;
|
|
545
|
-
}, new
|
|
541
|
+
}, new Headers_1.default());
|
|
546
542
|
}
|
|
547
|
-
|
|
548
|
-
|
|
543
|
+
objectToHeaders$1.objectToHeaders = objectToHeaders;
|
|
544
|
+
|
|
545
|
+
var flattenHeadersList$1 = {};
|
|
549
546
|
|
|
550
|
-
var flattenHeadersList_1 = createCommonjsModule(function (module, exports) {
|
|
551
547
|
var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
552
548
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
553
549
|
if (!m) return o;
|
|
@@ -564,54 +560,53 @@ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
|
|
|
564
560
|
}
|
|
565
561
|
return ar;
|
|
566
562
|
};
|
|
567
|
-
Object.defineProperty(
|
|
568
|
-
|
|
563
|
+
Object.defineProperty(flattenHeadersList$1, "__esModule", { value: true });
|
|
564
|
+
flattenHeadersList$1.flattenHeadersList = void 0;
|
|
569
565
|
function flattenHeadersList(list) {
|
|
570
566
|
return list.map(function (_a) {
|
|
571
567
|
var _b = __read(_a, 2), name = _b[0], values = _b[1];
|
|
572
568
|
return [name, [].concat(values).join('; ')];
|
|
573
569
|
});
|
|
574
570
|
}
|
|
575
|
-
|
|
576
|
-
});
|
|
571
|
+
flattenHeadersList$1.flattenHeadersList = flattenHeadersList;
|
|
577
572
|
|
|
578
|
-
var
|
|
579
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
580
|
-
exports.flattenHeadersObject = void 0;
|
|
573
|
+
var flattenHeadersObject$1 = {};
|
|
581
574
|
|
|
575
|
+
Object.defineProperty(flattenHeadersObject$1, "__esModule", { value: true });
|
|
576
|
+
flattenHeadersObject$1.flattenHeadersObject = void 0;
|
|
577
|
+
var reduceHeadersObject_1 = reduceHeadersObject$1;
|
|
582
578
|
function flattenHeadersObject(headersObject) {
|
|
583
579
|
return reduceHeadersObject_1.reduceHeadersObject(headersObject, function (headers, name, value) {
|
|
584
580
|
headers[name] = [].concat(value).join('; ');
|
|
585
581
|
return headers;
|
|
586
582
|
}, {});
|
|
587
583
|
}
|
|
588
|
-
|
|
589
|
-
});
|
|
584
|
+
flattenHeadersObject$1.flattenHeadersObject = flattenHeadersObject;
|
|
590
585
|
|
|
591
|
-
|
|
586
|
+
(function (exports) {
|
|
592
587
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
593
588
|
exports.flattenHeadersObject = exports.flattenHeadersList = exports.reduceHeadersObject = exports.objectToHeaders = exports.listToHeaders = exports.stringToHeaders = exports.headersToObject = exports.headersToList = exports.headersToString = exports.Headers = void 0;
|
|
594
|
-
|
|
595
|
-
Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return
|
|
596
|
-
|
|
589
|
+
var Headers_1 = Headers;
|
|
590
|
+
Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return Headers_1.default; } });
|
|
591
|
+
var headersToString_1 = headersToString$1;
|
|
597
592
|
Object.defineProperty(exports, "headersToString", { enumerable: true, get: function () { return headersToString_1.headersToString; } });
|
|
598
|
-
|
|
593
|
+
var headersToList_1 = headersToList$1;
|
|
599
594
|
Object.defineProperty(exports, "headersToList", { enumerable: true, get: function () { return headersToList_1.headersToList; } });
|
|
600
|
-
|
|
595
|
+
var headersToObject_1 = headersToObject$1;
|
|
601
596
|
Object.defineProperty(exports, "headersToObject", { enumerable: true, get: function () { return headersToObject_1.headersToObject; } });
|
|
602
|
-
|
|
597
|
+
var stringToHeaders_1 = stringToHeaders$1;
|
|
603
598
|
Object.defineProperty(exports, "stringToHeaders", { enumerable: true, get: function () { return stringToHeaders_1.stringToHeaders; } });
|
|
604
|
-
|
|
599
|
+
var listToHeaders_1 = listToHeaders$1;
|
|
605
600
|
Object.defineProperty(exports, "listToHeaders", { enumerable: true, get: function () { return listToHeaders_1.listToHeaders; } });
|
|
606
|
-
|
|
601
|
+
var objectToHeaders_1 = objectToHeaders$1;
|
|
607
602
|
Object.defineProperty(exports, "objectToHeaders", { enumerable: true, get: function () { return objectToHeaders_1.objectToHeaders; } });
|
|
608
|
-
|
|
603
|
+
var reduceHeadersObject_1 = reduceHeadersObject$1;
|
|
609
604
|
Object.defineProperty(exports, "reduceHeadersObject", { enumerable: true, get: function () { return reduceHeadersObject_1.reduceHeadersObject; } });
|
|
610
|
-
|
|
605
|
+
var flattenHeadersList_1 = flattenHeadersList$1;
|
|
611
606
|
Object.defineProperty(exports, "flattenHeadersList", { enumerable: true, get: function () { return flattenHeadersList_1.flattenHeadersList; } });
|
|
612
|
-
|
|
607
|
+
var flattenHeadersObject_1 = flattenHeadersObject$1;
|
|
613
608
|
Object.defineProperty(exports, "flattenHeadersObject", { enumerable: true, get: function () { return flattenHeadersObject_1.flattenHeadersObject; } });
|
|
614
|
-
});
|
|
609
|
+
}(lib));
|
|
615
610
|
|
|
616
611
|
/**
|
|
617
612
|
* Sets one or multiple response headers.
|
|
@@ -633,6 +628,222 @@ function set(...args) {
|
|
|
633
628
|
};
|
|
634
629
|
}
|
|
635
630
|
|
|
631
|
+
/*!
|
|
632
|
+
* cookie
|
|
633
|
+
* Copyright(c) 2012-2014 Roman Shtylman
|
|
634
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
635
|
+
* MIT Licensed
|
|
636
|
+
*/
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Module exports.
|
|
640
|
+
* @public
|
|
641
|
+
*/
|
|
642
|
+
|
|
643
|
+
var parse_1 = parse;
|
|
644
|
+
var serialize_1 = serialize;
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
* Module variables.
|
|
648
|
+
* @private
|
|
649
|
+
*/
|
|
650
|
+
|
|
651
|
+
var decode = decodeURIComponent;
|
|
652
|
+
var encode = encodeURIComponent;
|
|
653
|
+
var pairSplitRegExp = /; */;
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* RegExp to match field-content in RFC 7230 sec 3.2
|
|
657
|
+
*
|
|
658
|
+
* field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
|
|
659
|
+
* field-vchar = VCHAR / obs-text
|
|
660
|
+
* obs-text = %x80-FF
|
|
661
|
+
*/
|
|
662
|
+
|
|
663
|
+
var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Parse a cookie header.
|
|
667
|
+
*
|
|
668
|
+
* Parse the given cookie header string into an object
|
|
669
|
+
* The object has the various cookies as keys(names) => values
|
|
670
|
+
*
|
|
671
|
+
* @param {string} str
|
|
672
|
+
* @param {object} [options]
|
|
673
|
+
* @return {object}
|
|
674
|
+
* @public
|
|
675
|
+
*/
|
|
676
|
+
|
|
677
|
+
function parse(str, options) {
|
|
678
|
+
if (typeof str !== 'string') {
|
|
679
|
+
throw new TypeError('argument str must be a string');
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
var obj = {};
|
|
683
|
+
var opt = options || {};
|
|
684
|
+
var pairs = str.split(pairSplitRegExp);
|
|
685
|
+
var dec = opt.decode || decode;
|
|
686
|
+
|
|
687
|
+
for (var i = 0; i < pairs.length; i++) {
|
|
688
|
+
var pair = pairs[i];
|
|
689
|
+
var eq_idx = pair.indexOf('=');
|
|
690
|
+
|
|
691
|
+
// skip things that don't look like key=value
|
|
692
|
+
if (eq_idx < 0) {
|
|
693
|
+
continue;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
var key = pair.substr(0, eq_idx).trim();
|
|
697
|
+
var val = pair.substr(++eq_idx, pair.length).trim();
|
|
698
|
+
|
|
699
|
+
// quoted values
|
|
700
|
+
if ('"' == val[0]) {
|
|
701
|
+
val = val.slice(1, -1);
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
// only assign once
|
|
705
|
+
if (undefined == obj[key]) {
|
|
706
|
+
obj[key] = tryDecode(val, dec);
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
return obj;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* Serialize data into a cookie header.
|
|
715
|
+
*
|
|
716
|
+
* Serialize the a name value pair into a cookie string suitable for
|
|
717
|
+
* http headers. An optional options object specified cookie parameters.
|
|
718
|
+
*
|
|
719
|
+
* serialize('foo', 'bar', { httpOnly: true })
|
|
720
|
+
* => "foo=bar; httpOnly"
|
|
721
|
+
*
|
|
722
|
+
* @param {string} name
|
|
723
|
+
* @param {string} val
|
|
724
|
+
* @param {object} [options]
|
|
725
|
+
* @return {string}
|
|
726
|
+
* @public
|
|
727
|
+
*/
|
|
728
|
+
|
|
729
|
+
function serialize(name, val, options) {
|
|
730
|
+
var opt = options || {};
|
|
731
|
+
var enc = opt.encode || encode;
|
|
732
|
+
|
|
733
|
+
if (typeof enc !== 'function') {
|
|
734
|
+
throw new TypeError('option encode is invalid');
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
if (!fieldContentRegExp.test(name)) {
|
|
738
|
+
throw new TypeError('argument name is invalid');
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
var value = enc(val);
|
|
742
|
+
|
|
743
|
+
if (value && !fieldContentRegExp.test(value)) {
|
|
744
|
+
throw new TypeError('argument val is invalid');
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
var str = name + '=' + value;
|
|
748
|
+
|
|
749
|
+
if (null != opt.maxAge) {
|
|
750
|
+
var maxAge = opt.maxAge - 0;
|
|
751
|
+
|
|
752
|
+
if (isNaN(maxAge) || !isFinite(maxAge)) {
|
|
753
|
+
throw new TypeError('option maxAge is invalid')
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
str += '; Max-Age=' + Math.floor(maxAge);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
if (opt.domain) {
|
|
760
|
+
if (!fieldContentRegExp.test(opt.domain)) {
|
|
761
|
+
throw new TypeError('option domain is invalid');
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
str += '; Domain=' + opt.domain;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
if (opt.path) {
|
|
768
|
+
if (!fieldContentRegExp.test(opt.path)) {
|
|
769
|
+
throw new TypeError('option path is invalid');
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
str += '; Path=' + opt.path;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
if (opt.expires) {
|
|
776
|
+
if (typeof opt.expires.toUTCString !== 'function') {
|
|
777
|
+
throw new TypeError('option expires is invalid');
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
str += '; Expires=' + opt.expires.toUTCString();
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
if (opt.httpOnly) {
|
|
784
|
+
str += '; HttpOnly';
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
if (opt.secure) {
|
|
788
|
+
str += '; Secure';
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
if (opt.sameSite) {
|
|
792
|
+
var sameSite = typeof opt.sameSite === 'string'
|
|
793
|
+
? opt.sameSite.toLowerCase() : opt.sameSite;
|
|
794
|
+
|
|
795
|
+
switch (sameSite) {
|
|
796
|
+
case true:
|
|
797
|
+
str += '; SameSite=Strict';
|
|
798
|
+
break;
|
|
799
|
+
case 'lax':
|
|
800
|
+
str += '; SameSite=Lax';
|
|
801
|
+
break;
|
|
802
|
+
case 'strict':
|
|
803
|
+
str += '; SameSite=Strict';
|
|
804
|
+
break;
|
|
805
|
+
case 'none':
|
|
806
|
+
str += '; SameSite=None';
|
|
807
|
+
break;
|
|
808
|
+
default:
|
|
809
|
+
throw new TypeError('option sameSite is invalid');
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
return str;
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* Try decoding a string using a decoding function.
|
|
818
|
+
*
|
|
819
|
+
* @param {string} str
|
|
820
|
+
* @param {function} decode
|
|
821
|
+
* @private
|
|
822
|
+
*/
|
|
823
|
+
|
|
824
|
+
function tryDecode(str, decode) {
|
|
825
|
+
try {
|
|
826
|
+
return decode(str);
|
|
827
|
+
} catch (e) {
|
|
828
|
+
return str;
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
/**
|
|
833
|
+
* Sets a given cookie on the mocked response.
|
|
834
|
+
* @example res(ctx.cookie('name', 'value'))
|
|
835
|
+
*/
|
|
836
|
+
const cookie = (name, value, options) => {
|
|
837
|
+
return (res) => {
|
|
838
|
+
const serializedCookie = serialize_1(name, value, options);
|
|
839
|
+
res.headers.set('Set-Cookie', serializedCookie);
|
|
840
|
+
if (typeof document !== 'undefined') {
|
|
841
|
+
document.cookie = serializedCookie;
|
|
842
|
+
}
|
|
843
|
+
return res;
|
|
844
|
+
};
|
|
845
|
+
};
|
|
846
|
+
|
|
636
847
|
/**
|
|
637
848
|
* Parses a given string into a JSON.
|
|
638
849
|
* Does not throw an exception on an invalid JSON string.
|
|
@@ -767,4 +978,4 @@ const fetch = (input, requestInit = {}) => {
|
|
|
767
978
|
return useFetch(input.url.href, derivedRequestInit);
|
|
768
979
|
};
|
|
769
980
|
|
|
770
|
-
export {
|
|
981
|
+
export { set as a, cookie as b, commonjsGlobal as c, delay as d, json as e, fetch as f, isNodeProcess as i, jsonParse as j, lib as l, parse_1 as p, status as s };
|