@mswjs/interceptors 0.36.7 → 0.36.9
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/browser/{chunk-THPGBWJQ.mjs → chunk-4K55BZMG.mjs} +2 -2
- package/lib/browser/{chunk-XVPRNJO7.mjs → chunk-6MOMO77R.mjs} +1 -1
- package/lib/browser/chunk-6MOMO77R.mjs.map +1 -0
- package/lib/browser/{chunk-2CAGU4FT.js → chunk-7TPGF5DM.js} +1 -1
- package/lib/browser/chunk-7TPGF5DM.js.map +1 -0
- package/lib/browser/{chunk-YV5F3DAI.mjs → chunk-C6BKAAQW.mjs} +4 -4
- package/lib/browser/{chunk-TJ2ZCQ33.js → chunk-LMBCDE7C.js} +13 -13
- package/lib/{node/chunk-7Z3OOH2U.js → browser/chunk-PFGO5BSM.js} +7 -1
- package/lib/browser/chunk-PFGO5BSM.js.map +1 -0
- package/lib/browser/{chunk-V6CPQFVJ.mjs → chunk-Q7PXVXSL.mjs} +4 -4
- package/lib/browser/{chunk-6YUX267Y.js → chunk-RKQSZCUD.js} +11 -11
- package/lib/{node/chunk-7W52P3VX.mjs → browser/chunk-TX5GBTFY.mjs} +7 -1
- package/lib/browser/chunk-TX5GBTFY.mjs.map +1 -0
- package/lib/browser/{chunk-FYSUKT3F.js → chunk-UXPG527I.js} +4 -4
- package/lib/browser/{glossary-7d7adb4b.d.ts → glossary-6564c252.d.ts} +2 -1
- package/lib/browser/index.d.ts +1 -1
- package/lib/browser/index.js +2 -2
- package/lib/browser/index.mjs +1 -1
- package/lib/browser/interceptors/WebSocket/index.js +2 -2
- package/lib/browser/interceptors/WebSocket/index.mjs +1 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +1 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.js +5 -5
- package/lib/browser/interceptors/XMLHttpRequest/index.mjs +4 -4
- package/lib/browser/interceptors/fetch/index.d.ts +1 -1
- package/lib/browser/interceptors/fetch/index.js +5 -5
- package/lib/browser/interceptors/fetch/index.mjs +4 -4
- package/lib/browser/presets/browser.d.ts +1 -1
- package/lib/browser/presets/browser.js +7 -7
- package/lib/browser/presets/browser.mjs +5 -5
- package/lib/node/{BatchInterceptor-13d40c95.d.ts → BatchInterceptor-67bf41ba.d.ts} +1 -1
- package/lib/node/{Interceptor-a31b1217.d.ts → Interceptor-436630be.d.ts} +2 -1
- package/lib/node/RemoteHttpInterceptor.d.ts +2 -2
- package/lib/node/RemoteHttpInterceptor.js +4 -4
- package/lib/node/RemoteHttpInterceptor.mjs +3 -3
- package/lib/node/{chunk-KVQI7UNN.js → chunk-4YT2XSVO.js} +7 -7
- package/lib/node/{chunk-GXB3PZMC.mjs → chunk-6DIWEMO7.mjs} +3 -3
- package/lib/node/{chunk-BZ3Y7YV5.mjs → chunk-6YM4PLBI.mjs} +1 -1
- package/lib/node/chunk-6YM4PLBI.mjs.map +1 -0
- package/lib/node/{chunk-IDEEMJ3F.js → chunk-73NOP3T5.js} +1 -1
- package/lib/node/chunk-73NOP3T5.js.map +1 -0
- package/lib/node/{chunk-RNZHVDD2.mjs → chunk-EBDS6VMR.mjs} +3 -3
- package/lib/{browser/chunk-7Z3OOH2U.js → node/chunk-PFGO5BSM.js} +7 -1
- package/lib/node/chunk-PFGO5BSM.js.map +1 -0
- package/lib/{browser/chunk-7W52P3VX.mjs → node/chunk-TX5GBTFY.mjs} +7 -1
- package/lib/node/chunk-TX5GBTFY.mjs.map +1 -0
- package/lib/node/{chunk-XR7ZDC5N.js → chunk-X2CFRRWY.js} +7 -7
- package/lib/node/index.d.ts +2 -2
- package/lib/node/index.js +2 -2
- package/lib/node/index.mjs +1 -1
- package/lib/node/interceptors/ClientRequest/index.d.ts +1 -1
- package/lib/node/interceptors/XMLHttpRequest/index.d.ts +1 -1
- package/lib/node/interceptors/XMLHttpRequest/index.js +4 -4
- package/lib/node/interceptors/XMLHttpRequest/index.mjs +3 -3
- package/lib/node/interceptors/fetch/index.d.ts +1 -1
- package/lib/node/interceptors/fetch/index.js +4 -4
- package/lib/node/interceptors/fetch/index.mjs +3 -3
- package/lib/node/presets/node.d.ts +1 -1
- package/lib/node/presets/node.js +6 -6
- package/lib/node/presets/node.mjs +4 -4
- package/package.json +1 -1
- package/src/glossary.ts +6 -0
- package/src/utils/hasConfigurableGlobal.test.ts +24 -0
- package/src/utils/hasConfigurableGlobal.ts +14 -0
- package/lib/browser/chunk-2CAGU4FT.js.map +0 -1
- package/lib/browser/chunk-7W52P3VX.mjs.map +0 -1
- package/lib/browser/chunk-7Z3OOH2U.js.map +0 -1
- package/lib/browser/chunk-XVPRNJO7.mjs.map +0 -1
- package/lib/node/chunk-7W52P3VX.mjs.map +0 -1
- package/lib/node/chunk-7Z3OOH2U.js.map +0 -1
- package/lib/node/chunk-BZ3Y7YV5.mjs.map +0 -1
- package/lib/node/chunk-IDEEMJ3F.js.map +0 -1
- /package/lib/browser/{chunk-THPGBWJQ.mjs.map → chunk-4K55BZMG.mjs.map} +0 -0
- /package/lib/browser/{chunk-YV5F3DAI.mjs.map → chunk-C6BKAAQW.mjs.map} +0 -0
- /package/lib/browser/{chunk-TJ2ZCQ33.js.map → chunk-LMBCDE7C.js.map} +0 -0
- /package/lib/browser/{chunk-V6CPQFVJ.mjs.map → chunk-Q7PXVXSL.mjs.map} +0 -0
- /package/lib/browser/{chunk-6YUX267Y.js.map → chunk-RKQSZCUD.js.map} +0 -0
- /package/lib/browser/{chunk-FYSUKT3F.js.map → chunk-UXPG527I.js.map} +0 -0
- /package/lib/node/{chunk-KVQI7UNN.js.map → chunk-4YT2XSVO.js.map} +0 -0
- /package/lib/node/{chunk-GXB3PZMC.mjs.map → chunk-6DIWEMO7.mjs.map} +0 -0
- /package/lib/node/{chunk-RNZHVDD2.mjs.map → chunk-EBDS6VMR.mjs.map} +0 -0
- /package/lib/node/{chunk-XR7ZDC5N.js.map → chunk-X2CFRRWY.js.map} +0 -0
|
@@ -6,10 +6,10 @@ var _chunkPGTBKPWNjs = require('./chunk-PGTBKPWN.js');
|
|
|
6
6
|
var _chunkFPLETXGAjs = require('./chunk-FPLETXGA.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkX2CFRRWYjs = require('./chunk-X2CFRRWY.js');
|
|
10
10
|
require('./chunk-LK6DILFK.js');
|
|
11
|
-
require('./chunk-
|
|
12
|
-
require('./chunk-
|
|
11
|
+
require('./chunk-PFGO5BSM.js');
|
|
12
|
+
require('./chunk-73NOP3T5.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -25,7 +25,7 @@ var RemoteHttpInterceptor = class extends _chunkPGTBKPWNjs.BatchInterceptor {
|
|
|
25
25
|
name: "remote-interceptor",
|
|
26
26
|
interceptors: [
|
|
27
27
|
new (0, _chunkFPLETXGAjs.ClientRequestInterceptor)(),
|
|
28
|
-
new (0,
|
|
28
|
+
new (0, _chunkX2CFRRWYjs.XMLHttpRequestInterceptor)()
|
|
29
29
|
]
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-MG3S53QP.mjs";
|
|
7
7
|
import {
|
|
8
8
|
XMLHttpRequestInterceptor
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EBDS6VMR.mjs";
|
|
10
10
|
import "./chunk-6HYIRFX2.mjs";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-TX5GBTFY.mjs";
|
|
12
|
+
import "./chunk-6YM4PLBI.mjs";
|
|
13
13
|
import {
|
|
14
14
|
RequestController,
|
|
15
15
|
handleRequest
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkPFGO5BSMjs = require('./chunk-PFGO5BSM.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunk73NOP3T5js = require('./chunk-73NOP3T5.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -190,12 +190,12 @@ var _FetchInterceptor = class extends _chunkAABH3XLQjs.Interceptor {
|
|
|
190
190
|
super(_FetchInterceptor.symbol);
|
|
191
191
|
}
|
|
192
192
|
checkEnvironment() {
|
|
193
|
-
return
|
|
193
|
+
return _chunkPFGO5BSMjs.hasConfigurableGlobal.call(void 0, "fetch");
|
|
194
194
|
}
|
|
195
195
|
async setup() {
|
|
196
196
|
const pureFetch = globalThis.fetch;
|
|
197
197
|
_outvariant.invariant.call(void 0,
|
|
198
|
-
!pureFetch[
|
|
198
|
+
!pureFetch[_chunk73NOP3T5js.IS_PATCHED_MODULE],
|
|
199
199
|
'Failed to patch the "fetch" module: already patched.'
|
|
200
200
|
);
|
|
201
201
|
globalThis.fetch = async (input, init) => {
|
|
@@ -289,13 +289,13 @@ var _FetchInterceptor = class extends _chunkAABH3XLQjs.Interceptor {
|
|
|
289
289
|
return response;
|
|
290
290
|
});
|
|
291
291
|
};
|
|
292
|
-
Object.defineProperty(globalThis.fetch,
|
|
292
|
+
Object.defineProperty(globalThis.fetch, _chunk73NOP3T5js.IS_PATCHED_MODULE, {
|
|
293
293
|
enumerable: true,
|
|
294
294
|
configurable: true,
|
|
295
295
|
value: true
|
|
296
296
|
});
|
|
297
297
|
this.subscriptions.push(() => {
|
|
298
|
-
Object.defineProperty(globalThis.fetch,
|
|
298
|
+
Object.defineProperty(globalThis.fetch, _chunk73NOP3T5js.IS_PATCHED_MODULE, {
|
|
299
299
|
value: void 0
|
|
300
300
|
});
|
|
301
301
|
globalThis.fetch = pureFetch;
|
|
@@ -312,4 +312,4 @@ FetchInterceptor.symbol = Symbol("fetch");
|
|
|
312
312
|
|
|
313
313
|
|
|
314
314
|
exports.FetchInterceptor = FetchInterceptor;
|
|
315
|
-
//# sourceMappingURL=chunk-
|
|
315
|
+
//# sourceMappingURL=chunk-4YT2XSVO.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
hasConfigurableGlobal
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TX5GBTFY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
IS_PATCHED_MODULE
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6YM4PLBI.mjs";
|
|
7
7
|
import {
|
|
8
8
|
RequestController,
|
|
9
9
|
emitAsync,
|
|
@@ -312,4 +312,4 @@ FetchInterceptor.symbol = Symbol("fetch");
|
|
|
312
312
|
export {
|
|
313
313
|
FetchInterceptor
|
|
314
314
|
};
|
|
315
|
-
//# sourceMappingURL=chunk-
|
|
315
|
+
//# sourceMappingURL=chunk-6DIWEMO7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/glossary.ts"],"sourcesContent":["import type { RequestController } from './RequestController'\n\nexport const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')\n\n/**\n * @note Export `RequestController` as a type only.\n * It's never meant to be created in the userland.\n */\nexport type { RequestController }\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\nexport type HttpRequestEventMap = {\n request: [\n args: {\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n response: [\n args: {\n response: Response\n isMockedResponse: boolean\n request: Request\n requestId: string\n }\n ]\n unhandledException: [\n args: {\n error: unknown\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n}\n"],"mappings":";AAEO,IAAM,oBAAmC,OAAO,iBAAiB;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/glossary.ts"],"names":[],"mappings":";AAEO,IAAM,oBAAmC,OAAO,iBAAiB","sourcesContent":["import type { RequestController } from './RequestController'\n\nexport const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')\n\n/**\n * @note Export `RequestController` as a type only.\n * It's never meant to be created in the userland.\n */\nexport type { RequestController }\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\nexport type HttpRequestEventMap = {\n request: [\n args: {\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n response: [\n args: {\n response: Response\n isMockedResponse: boolean\n request: Request\n requestId: string\n }\n ]\n unhandledException: [\n args: {\n error: unknown\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n}\n"]}
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-6HYIRFX2.mjs";
|
|
6
6
|
import {
|
|
7
7
|
hasConfigurableGlobal
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TX5GBTFY.mjs";
|
|
9
9
|
import {
|
|
10
10
|
IS_PATCHED_MODULE
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6YM4PLBI.mjs";
|
|
12
12
|
import {
|
|
13
13
|
RequestController,
|
|
14
14
|
handleRequest
|
|
@@ -840,4 +840,4 @@ XMLHttpRequestInterceptor.interceptorSymbol = Symbol("xhr");
|
|
|
840
840
|
export {
|
|
841
841
|
XMLHttpRequestInterceptor
|
|
842
842
|
};
|
|
843
|
-
//# sourceMappingURL=chunk-
|
|
843
|
+
//# sourceMappingURL=chunk-EBDS6VMR.mjs.map
|
|
@@ -4,6 +4,12 @@ function hasConfigurableGlobal(propertyName) {
|
|
|
4
4
|
if (typeof descriptor === "undefined") {
|
|
5
5
|
return false;
|
|
6
6
|
}
|
|
7
|
+
if (typeof descriptor.get === "function" && typeof descriptor.get() === "undefined") {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (typeof descriptor.get === "undefined" && descriptor.value == null) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
7
13
|
if (typeof descriptor.set === "undefined" && !descriptor.configurable) {
|
|
8
14
|
console.error(
|
|
9
15
|
`[MSW] Failed to apply interceptor: the global \`${propertyName}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`
|
|
@@ -16,4 +22,4 @@ function hasConfigurableGlobal(propertyName) {
|
|
|
16
22
|
|
|
17
23
|
|
|
18
24
|
exports.hasConfigurableGlobal = hasConfigurableGlobal;
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-PFGO5BSM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/hasConfigurableGlobal.ts"],"names":[],"mappings":";AAIO,SAAS,sBAAsB,cAA+B;AACnE,QAAM,aAAa,OAAO,yBAAyB,YAAY,YAAY;AAG3E,MAAI,OAAO,eAAe,aAAa;AACrC,WAAO;AAAA,EACT;AAGA,MACE,OAAO,WAAW,QAAQ,cAC1B,OAAO,WAAW,IAAI,MAAM,aAC5B;AACA,WAAO;AAAA,EACT;AAGA,MAAI,OAAO,WAAW,QAAQ,eAAe,WAAW,SAAS,MAAM;AACrE,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,QAAQ,eAAe,CAAC,WAAW,cAAc;AACrE,YAAQ;AAAA,MACN,mDAAmD;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT","sourcesContent":["/**\n * Returns a boolean indicating whether the given global property\n * is defined and is configurable.\n */\nexport function hasConfigurableGlobal(propertyName: string): boolean {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)\n\n // The property is not set at all.\n if (typeof descriptor === 'undefined') {\n return false\n }\n\n // The property is set to a getter that returns undefined.\n if (\n typeof descriptor.get === 'function' &&\n typeof descriptor.get() === 'undefined'\n ) {\n return false\n }\n\n // The property is set to a value equal to undefined.\n if (typeof descriptor.get === 'undefined' && descriptor.value == null) {\n return false\n }\n\n if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n )\n return false\n }\n\n return true\n}\n"]}
|
|
@@ -4,6 +4,12 @@ function hasConfigurableGlobal(propertyName) {
|
|
|
4
4
|
if (typeof descriptor === "undefined") {
|
|
5
5
|
return false;
|
|
6
6
|
}
|
|
7
|
+
if (typeof descriptor.get === "function" && typeof descriptor.get() === "undefined") {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (typeof descriptor.get === "undefined" && descriptor.value == null) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
7
13
|
if (typeof descriptor.set === "undefined" && !descriptor.configurable) {
|
|
8
14
|
console.error(
|
|
9
15
|
`[MSW] Failed to apply interceptor: the global \`${propertyName}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`
|
|
@@ -16,4 +22,4 @@ function hasConfigurableGlobal(propertyName) {
|
|
|
16
22
|
export {
|
|
17
23
|
hasConfigurableGlobal
|
|
18
24
|
};
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-TX5GBTFY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/hasConfigurableGlobal.ts"],"sourcesContent":["/**\n * Returns a boolean indicating whether the given global property\n * is defined and is configurable.\n */\nexport function hasConfigurableGlobal(propertyName: string): boolean {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)\n\n // The property is not set at all.\n if (typeof descriptor === 'undefined') {\n return false\n }\n\n // The property is set to a getter that returns undefined.\n if (\n typeof descriptor.get === 'function' &&\n typeof descriptor.get() === 'undefined'\n ) {\n return false\n }\n\n // The property is set to a value equal to undefined.\n if (typeof descriptor.get === 'undefined' && descriptor.value == null) {\n return false\n }\n\n if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n )\n return false\n }\n\n return true\n}\n"],"mappings":";AAIO,SAAS,sBAAsB,cAA+B;AACnE,QAAM,aAAa,OAAO,yBAAyB,YAAY,YAAY;AAG3E,MAAI,OAAO,eAAe,aAAa;AACrC,WAAO;AAAA,EACT;AAGA,MACE,OAAO,WAAW,QAAQ,cAC1B,OAAO,WAAW,IAAI,MAAM,aAC5B;AACA,WAAO;AAAA,EACT;AAGA,MAAI,OAAO,WAAW,QAAQ,eAAe,WAAW,SAAS,MAAM;AACrE,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,QAAQ,eAAe,CAAC,WAAW,cAAc;AACrE,YAAQ;AAAA,MACN,mDAAmD;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
var _chunkLK6DILFKjs = require('./chunk-LK6DILFK.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkPFGO5BSMjs = require('./chunk-PFGO5BSM.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunk73NOP3T5js = require('./chunk-73NOP3T5.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -799,14 +799,14 @@ var _XMLHttpRequestInterceptor = class extends _chunkAABH3XLQjs.Interceptor {
|
|
|
799
799
|
super(_XMLHttpRequestInterceptor.interceptorSymbol);
|
|
800
800
|
}
|
|
801
801
|
checkEnvironment() {
|
|
802
|
-
return
|
|
802
|
+
return _chunkPFGO5BSMjs.hasConfigurableGlobal.call(void 0, "XMLHttpRequest");
|
|
803
803
|
}
|
|
804
804
|
setup() {
|
|
805
805
|
const logger = this.logger.extend("setup");
|
|
806
806
|
logger.info('patching "XMLHttpRequest" module...');
|
|
807
807
|
const PureXMLHttpRequest = globalThis.XMLHttpRequest;
|
|
808
808
|
_outvariant.invariant.call(void 0,
|
|
809
|
-
!PureXMLHttpRequest[
|
|
809
|
+
!PureXMLHttpRequest[_chunk73NOP3T5js.IS_PATCHED_MODULE],
|
|
810
810
|
'Failed to patch the "XMLHttpRequest" module: already patched.'
|
|
811
811
|
);
|
|
812
812
|
globalThis.XMLHttpRequest = createXMLHttpRequestProxy({
|
|
@@ -817,13 +817,13 @@ var _XMLHttpRequestInterceptor = class extends _chunkAABH3XLQjs.Interceptor {
|
|
|
817
817
|
'native "XMLHttpRequest" module patched!',
|
|
818
818
|
globalThis.XMLHttpRequest.name
|
|
819
819
|
);
|
|
820
|
-
Object.defineProperty(globalThis.XMLHttpRequest,
|
|
820
|
+
Object.defineProperty(globalThis.XMLHttpRequest, _chunk73NOP3T5js.IS_PATCHED_MODULE, {
|
|
821
821
|
enumerable: true,
|
|
822
822
|
configurable: true,
|
|
823
823
|
value: true
|
|
824
824
|
});
|
|
825
825
|
this.subscriptions.push(() => {
|
|
826
|
-
Object.defineProperty(globalThis.XMLHttpRequest,
|
|
826
|
+
Object.defineProperty(globalThis.XMLHttpRequest, _chunk73NOP3T5js.IS_PATCHED_MODULE, {
|
|
827
827
|
value: void 0
|
|
828
828
|
});
|
|
829
829
|
globalThis.XMLHttpRequest = PureXMLHttpRequest;
|
|
@@ -840,4 +840,4 @@ XMLHttpRequestInterceptor.interceptorSymbol = Symbol("xhr");
|
|
|
840
840
|
|
|
841
841
|
|
|
842
842
|
exports.XMLHttpRequestInterceptor = XMLHttpRequestInterceptor;
|
|
843
|
-
//# sourceMappingURL=chunk-
|
|
843
|
+
//# sourceMappingURL=chunk-X2CFRRWY.js.map
|
package/lib/node/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { E as ExtractEventNames, H as HttpRequestEventMap,
|
|
2
|
-
export { a as BatchInterceptor, B as BatchInterceptorOptions, E as ExtractEventMapType } from './BatchInterceptor-
|
|
1
|
+
export { E as ExtractEventNames, H as HttpRequestEventMap, d as INTERNAL_REQUEST_ID_HEADER_NAME, I as IS_PATCHED_MODULE, h as Interceptor, b as InterceptorEventMap, f as InterceptorReadyState, c as InterceptorSubscription, R as RequestController, a as RequestCredentials, e as deleteGlobalSymbol, g as getGlobalSymbol } from './Interceptor-436630be.js';
|
|
2
|
+
export { a as BatchInterceptor, B as BatchInterceptorOptions, E as ExtractEventMapType } from './BatchInterceptor-67bf41ba.js';
|
|
3
3
|
import '@open-draft/deferred-promise';
|
|
4
4
|
import '@open-draft/logger';
|
|
5
5
|
import 'strict-event-emitter';
|
package/lib/node/index.js
CHANGED
|
@@ -7,7 +7,7 @@ var _chunkPGTBKPWNjs = require('./chunk-PGTBKPWN.js');
|
|
|
7
7
|
var _chunkLK6DILFKjs = require('./chunk-LK6DILFK.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunk73NOP3T5js = require('./chunk-73NOP3T5.js');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
@@ -35,5 +35,5 @@ function getCleanUrl(url, isAbsolute = true) {
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
exports.BatchInterceptor = _chunkPGTBKPWNjs.BatchInterceptor; exports.INTERNAL_REQUEST_ID_HEADER_NAME = _chunkAABH3XLQjs.INTERNAL_REQUEST_ID_HEADER_NAME; exports.IS_PATCHED_MODULE =
|
|
38
|
+
exports.BatchInterceptor = _chunkPGTBKPWNjs.BatchInterceptor; exports.INTERNAL_REQUEST_ID_HEADER_NAME = _chunkAABH3XLQjs.INTERNAL_REQUEST_ID_HEADER_NAME; exports.IS_PATCHED_MODULE = _chunk73NOP3T5js.IS_PATCHED_MODULE; exports.Interceptor = _chunkAABH3XLQjs.Interceptor; exports.InterceptorReadyState = _chunkAABH3XLQjs.InterceptorReadyState; exports.createRequestId = _chunkAABH3XLQjs.createRequestId; exports.decodeBuffer = _chunkLK6DILFKjs.decodeBuffer; exports.deleteGlobalSymbol = _chunkAABH3XLQjs.deleteGlobalSymbol; exports.encodeBuffer = _chunkLK6DILFKjs.encodeBuffer; exports.getCleanUrl = getCleanUrl; exports.getGlobalSymbol = _chunkAABH3XLQjs.getGlobalSymbol; exports.isResponseWithoutBody = _chunkAABH3XLQjs.isResponseWithoutBody;
|
|
39
39
|
//# sourceMappingURL=index.js.map
|
package/lib/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h as Interceptor, H as HttpRequestEventMap } from '../../Interceptor-436630be.js';
|
|
2
2
|
import net from 'node:net';
|
|
3
3
|
import '@open-draft/deferred-promise';
|
|
4
4
|
import '@open-draft/logger';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Emitter } from 'strict-event-emitter';
|
|
2
|
-
import { H as HttpRequestEventMap,
|
|
2
|
+
import { H as HttpRequestEventMap, h as Interceptor } from '../../Interceptor-436630be.js';
|
|
3
3
|
import '@open-draft/deferred-promise';
|
|
4
4
|
import '@open-draft/logger';
|
|
5
5
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkX2CFRRWYjs = require('../../chunk-X2CFRRWY.js');
|
|
4
4
|
require('../../chunk-LK6DILFK.js');
|
|
5
|
-
require('../../chunk-
|
|
6
|
-
require('../../chunk-
|
|
5
|
+
require('../../chunk-PFGO5BSM.js');
|
|
6
|
+
require('../../chunk-73NOP3T5.js');
|
|
7
7
|
require('../../chunk-VCUEA4PL.js');
|
|
8
8
|
require('../../chunk-AABH3XLQ.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.XMLHttpRequestInterceptor =
|
|
11
|
+
exports.XMLHttpRequestInterceptor = _chunkX2CFRRWYjs.XMLHttpRequestInterceptor;
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
XMLHttpRequestInterceptor
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-EBDS6VMR.mjs";
|
|
4
4
|
import "../../chunk-6HYIRFX2.mjs";
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-TX5GBTFY.mjs";
|
|
6
|
+
import "../../chunk-6YM4PLBI.mjs";
|
|
7
7
|
import "../../chunk-M4WQE4TR.mjs";
|
|
8
8
|
import "../../chunk-FQQAJBI2.mjs";
|
|
9
9
|
export {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h as Interceptor, H as HttpRequestEventMap } from '../../Interceptor-436630be.js';
|
|
2
2
|
import '@open-draft/deferred-promise';
|
|
3
3
|
import '@open-draft/logger';
|
|
4
4
|
import 'strict-event-emitter';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../chunk-
|
|
5
|
-
require('../../chunk-
|
|
3
|
+
var _chunk4YT2XSVOjs = require('../../chunk-4YT2XSVO.js');
|
|
4
|
+
require('../../chunk-PFGO5BSM.js');
|
|
5
|
+
require('../../chunk-73NOP3T5.js');
|
|
6
6
|
require('../../chunk-VCUEA4PL.js');
|
|
7
7
|
require('../../chunk-AABH3XLQ.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.FetchInterceptor =
|
|
10
|
+
exports.FetchInterceptor = _chunk4YT2XSVOjs.FetchInterceptor;
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FetchInterceptor
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-6DIWEMO7.mjs";
|
|
4
|
+
import "../../chunk-TX5GBTFY.mjs";
|
|
5
|
+
import "../../chunk-6YM4PLBI.mjs";
|
|
6
6
|
import "../../chunk-M4WQE4TR.mjs";
|
|
7
7
|
import "../../chunk-FQQAJBI2.mjs";
|
|
8
8
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClientRequestInterceptor } from '../interceptors/ClientRequest/index.js';
|
|
2
2
|
import { XMLHttpRequestInterceptor } from '../interceptors/XMLHttpRequest/index.js';
|
|
3
3
|
import { FetchInterceptor } from '../interceptors/fetch/index.js';
|
|
4
|
-
import '../Interceptor-
|
|
4
|
+
import '../Interceptor-436630be.js';
|
|
5
5
|
import '@open-draft/deferred-promise';
|
|
6
6
|
import '@open-draft/logger';
|
|
7
7
|
import 'strict-event-emitter';
|
package/lib/node/presets/node.js
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
var _chunkFPLETXGAjs = require('../chunk-FPLETXGA.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkX2CFRRWYjs = require('../chunk-X2CFRRWY.js');
|
|
7
7
|
require('../chunk-LK6DILFK.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
10
|
+
var _chunk4YT2XSVOjs = require('../chunk-4YT2XSVO.js');
|
|
11
|
+
require('../chunk-PFGO5BSM.js');
|
|
12
|
+
require('../chunk-73NOP3T5.js');
|
|
13
13
|
require('../chunk-VCUEA4PL.js');
|
|
14
14
|
require('../chunk-AABH3XLQ.js');
|
|
15
15
|
|
|
16
16
|
// src/presets/node.ts
|
|
17
17
|
var node_default = [
|
|
18
18
|
new (0, _chunkFPLETXGAjs.ClientRequestInterceptor)(),
|
|
19
|
-
new (0,
|
|
20
|
-
new (0,
|
|
19
|
+
new (0, _chunkX2CFRRWYjs.XMLHttpRequestInterceptor)(),
|
|
20
|
+
new (0, _chunk4YT2XSVOjs.FetchInterceptor)()
|
|
21
21
|
];
|
|
22
22
|
|
|
23
23
|
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
} from "../chunk-MG3S53QP.mjs";
|
|
4
4
|
import {
|
|
5
5
|
XMLHttpRequestInterceptor
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-EBDS6VMR.mjs";
|
|
7
7
|
import "../chunk-6HYIRFX2.mjs";
|
|
8
8
|
import {
|
|
9
9
|
FetchInterceptor
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-6DIWEMO7.mjs";
|
|
11
|
+
import "../chunk-TX5GBTFY.mjs";
|
|
12
|
+
import "../chunk-6YM4PLBI.mjs";
|
|
13
13
|
import "../chunk-M4WQE4TR.mjs";
|
|
14
14
|
import "../chunk-FQQAJBI2.mjs";
|
|
15
15
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mswjs/interceptors",
|
|
3
3
|
"description": "Low-level HTTP/HTTPS/XHR/fetch request interception library.",
|
|
4
|
-
"version": "0.36.
|
|
4
|
+
"version": "0.36.9",
|
|
5
5
|
"main": "./lib/node/index.js",
|
|
6
6
|
"module": "./lib/node/index.mjs",
|
|
7
7
|
"types": "./lib/node/index.d.ts",
|
package/src/glossary.ts
CHANGED
|
@@ -2,6 +2,12 @@ import type { RequestController } from './RequestController'
|
|
|
2
2
|
|
|
3
3
|
export const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @note Export `RequestController` as a type only.
|
|
7
|
+
* It's never meant to be created in the userland.
|
|
8
|
+
*/
|
|
9
|
+
export type { RequestController }
|
|
10
|
+
|
|
5
11
|
export type RequestCredentials = 'omit' | 'include' | 'same-origin'
|
|
6
12
|
|
|
7
13
|
export type HttpRequestEventMap = {
|
|
@@ -26,6 +26,30 @@ it('returns false if the global property does not exist', () => {
|
|
|
26
26
|
expect(hasConfigurableGlobal('_non-existing')).toBe(false)
|
|
27
27
|
})
|
|
28
28
|
|
|
29
|
+
it('returns false for existing global with undefined as a value', () => {
|
|
30
|
+
Object.defineProperty(global, '_existsAndUndefined', {
|
|
31
|
+
value: undefined,
|
|
32
|
+
configurable: true,
|
|
33
|
+
})
|
|
34
|
+
expect(hasConfigurableGlobal('_existsAndUndefined')).toBe(false)
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
it('returns false for existing global with null as a value', () => {
|
|
38
|
+
Object.defineProperty(global, '_existsAndNull', {
|
|
39
|
+
value: null,
|
|
40
|
+
configurable: true,
|
|
41
|
+
})
|
|
42
|
+
expect(hasConfigurableGlobal('_existsAndNull')).toBe(false)
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
it('returns false for existing global with a getter that returns undefined', () => {
|
|
46
|
+
Object.defineProperty(global, '_existsGetterUndefined', {
|
|
47
|
+
get: () => undefined,
|
|
48
|
+
configurable: true,
|
|
49
|
+
})
|
|
50
|
+
expect(hasConfigurableGlobal('_existsGetterUndefined')).toBe(false)
|
|
51
|
+
})
|
|
52
|
+
|
|
29
53
|
it('returns false and prints an error for implicitly non-configurable global property', () => {
|
|
30
54
|
Object.defineProperty(global, '_implicitlyNonConfigurable', {
|
|
31
55
|
value: 'something',
|
|
@@ -5,10 +5,24 @@
|
|
|
5
5
|
export function hasConfigurableGlobal(propertyName: string): boolean {
|
|
6
6
|
const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)
|
|
7
7
|
|
|
8
|
+
// The property is not set at all.
|
|
8
9
|
if (typeof descriptor === 'undefined') {
|
|
9
10
|
return false
|
|
10
11
|
}
|
|
11
12
|
|
|
13
|
+
// The property is set to a getter that returns undefined.
|
|
14
|
+
if (
|
|
15
|
+
typeof descriptor.get === 'function' &&
|
|
16
|
+
typeof descriptor.get() === 'undefined'
|
|
17
|
+
) {
|
|
18
|
+
return false
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// The property is set to a value equal to undefined.
|
|
22
|
+
if (typeof descriptor.get === 'undefined' && descriptor.value == null) {
|
|
23
|
+
return false
|
|
24
|
+
}
|
|
25
|
+
|
|
12
26
|
if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {
|
|
13
27
|
console.error(
|
|
14
28
|
`[MSW] Failed to apply interceptor: the global \`${propertyName}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/glossary.ts","../../src/utils/isPropertyAccessible.ts","../../src/utils/responseUtils.ts"],"names":[],"mappings":";AAEO,IAAM,oBAAmC,OAAO,iBAAiB;;;ACMjE,SAAS,qBACd,KACA,KACA;AACA,MAAI;AACF,QAAI,GAAG;AACP,WAAO;AAAA,EACT,SAAQ,GAAN;AACA,WAAO;AAAA,EACT;AACF;;;ACZO,IAAM,qCAAqC,oBAAI,IAAI;AAAA,EACxD;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AACtB,CAAC;AAEM,IAAM,sCAAsC,oBAAI,IAAI;AAAA,EACzD;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AACtB,CAAC;AAMM,SAAS,sBAAsB,QAAyB;AAC7D,SAAO,mCAAmC,IAAI,MAAM;AACtD;AAKO,SAAS,0BAA0B,MAAyB;AACjE,SAAO,IAAI;AAAA,IACT,KAAK;AAAA,MACH,gBAAgB,QACZ;AAAA,QACE,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,QACd,OAAO,KAAK;AAAA,MACd,IACA;AAAA,IACN;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;AAYO,SAAS,gBAAgB,UAA+C;AAC7E,SAAO,qBAAqB,UAAU,MAAM,KAAK,SAAS,SAAS;AACrE","sourcesContent":["import type { RequestController } from './RequestController'\n\nexport const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\nexport type HttpRequestEventMap = {\n request: [\n args: {\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n response: [\n args: {\n response: Response\n isMockedResponse: boolean\n request: Request\n requestId: string\n }\n ]\n unhandledException: [\n args: {\n error: unknown\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n}\n","/**\n * A function that validates if property access is possible on an object\n * without throwing. It returns `true` if the property access is possible\n * and `false` otherwise.\n *\n * Environments like miniflare will throw on property access on certain objects\n * like Request and Response, for unimplemented properties.\n */\nexport function isPropertyAccessible<Obj extends Record<string, any>>(\n obj: Obj,\n key: keyof Obj\n) {\n try {\n obj[key]\n return true\n } catch {\n return false\n }\n}\n","import { isPropertyAccessible } from './isPropertyAccessible'\n\n/**\n * Response status codes for responses that cannot have body.\n * @see https://fetch.spec.whatwg.org/#statuses\n */\nexport const RESPONSE_STATUS_CODES_WITHOUT_BODY = new Set([\n 101, 103, 204, 205, 304,\n])\n\nexport const RESPONSE_STATUS_CODES_WITH_REDIRECT = new Set([\n 301, 302, 303, 307, 308,\n])\n\n/**\n * Returns a boolean indicating whether the given response status\n * code represents a response that cannot have a body.\n */\nexport function isResponseWithoutBody(status: number): boolean {\n return RESPONSE_STATUS_CODES_WITHOUT_BODY.has(status)\n}\n\n/**\n * Creates a generic 500 Unhandled Exception response.\n */\nexport function createServerErrorResponse(body: unknown): Response {\n return new Response(\n JSON.stringify(\n body instanceof Error\n ? {\n name: body.name,\n message: body.message,\n stack: body.stack,\n }\n : body\n ),\n {\n status: 500,\n statusText: 'Unhandled Exception',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n}\n\nexport type ResponseError = Response & { type: 'error' }\n\n/**\n * Check if the given response is a `Response.error()`.\n *\n * @note Some environments, like Miniflare (Cloudflare) do not\n * implement the \"Response.type\" property and throw on its access.\n * Safely check if we can access \"type\" on \"Response\" before continuing.\n * @see https://github.com/mswjs/msw/issues/1834\n */\nexport function isResponseError(response: Response): response is ResponseError {\n return isPropertyAccessible(response, 'type') && response.type === 'error'\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/hasConfigurableGlobal.ts"],"sourcesContent":["/**\n * Returns a boolean indicating whether the given global property\n * is defined and is configurable.\n */\nexport function hasConfigurableGlobal(propertyName: string): boolean {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)\n\n if (typeof descriptor === 'undefined') {\n return false\n }\n\n if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n )\n return false\n }\n\n return true\n}\n"],"mappings":";AAIO,SAAS,sBAAsB,cAA+B;AACnE,QAAM,aAAa,OAAO,yBAAyB,YAAY,YAAY;AAE3E,MAAI,OAAO,eAAe,aAAa;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,QAAQ,eAAe,CAAC,WAAW,cAAc;AACrE,YAAQ;AAAA,MACN,mDAAmD;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/hasConfigurableGlobal.ts"],"names":[],"mappings":";AAIO,SAAS,sBAAsB,cAA+B;AACnE,QAAM,aAAa,OAAO,yBAAyB,YAAY,YAAY;AAE3E,MAAI,OAAO,eAAe,aAAa;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,QAAQ,eAAe,CAAC,WAAW,cAAc;AACrE,YAAQ;AAAA,MACN,mDAAmD;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT","sourcesContent":["/**\n * Returns a boolean indicating whether the given global property\n * is defined and is configurable.\n */\nexport function hasConfigurableGlobal(propertyName: string): boolean {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)\n\n if (typeof descriptor === 'undefined') {\n return false\n }\n\n if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n )\n return false\n }\n\n return true\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/glossary.ts","../../src/utils/isPropertyAccessible.ts","../../src/utils/responseUtils.ts"],"sourcesContent":["import type { RequestController } from './RequestController'\n\nexport const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\nexport type HttpRequestEventMap = {\n request: [\n args: {\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n response: [\n args: {\n response: Response\n isMockedResponse: boolean\n request: Request\n requestId: string\n }\n ]\n unhandledException: [\n args: {\n error: unknown\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n}\n","/**\n * A function that validates if property access is possible on an object\n * without throwing. It returns `true` if the property access is possible\n * and `false` otherwise.\n *\n * Environments like miniflare will throw on property access on certain objects\n * like Request and Response, for unimplemented properties.\n */\nexport function isPropertyAccessible<Obj extends Record<string, any>>(\n obj: Obj,\n key: keyof Obj\n) {\n try {\n obj[key]\n return true\n } catch {\n return false\n }\n}\n","import { isPropertyAccessible } from './isPropertyAccessible'\n\n/**\n * Response status codes for responses that cannot have body.\n * @see https://fetch.spec.whatwg.org/#statuses\n */\nexport const RESPONSE_STATUS_CODES_WITHOUT_BODY = new Set([\n 101, 103, 204, 205, 304,\n])\n\nexport const RESPONSE_STATUS_CODES_WITH_REDIRECT = new Set([\n 301, 302, 303, 307, 308,\n])\n\n/**\n * Returns a boolean indicating whether the given response status\n * code represents a response that cannot have a body.\n */\nexport function isResponseWithoutBody(status: number): boolean {\n return RESPONSE_STATUS_CODES_WITHOUT_BODY.has(status)\n}\n\n/**\n * Creates a generic 500 Unhandled Exception response.\n */\nexport function createServerErrorResponse(body: unknown): Response {\n return new Response(\n JSON.stringify(\n body instanceof Error\n ? {\n name: body.name,\n message: body.message,\n stack: body.stack,\n }\n : body\n ),\n {\n status: 500,\n statusText: 'Unhandled Exception',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n}\n\nexport type ResponseError = Response & { type: 'error' }\n\n/**\n * Check if the given response is a `Response.error()`.\n *\n * @note Some environments, like Miniflare (Cloudflare) do not\n * implement the \"Response.type\" property and throw on its access.\n * Safely check if we can access \"type\" on \"Response\" before continuing.\n * @see https://github.com/mswjs/msw/issues/1834\n */\nexport function isResponseError(response: Response): response is ResponseError {\n return isPropertyAccessible(response, 'type') && response.type === 'error'\n}\n"],"mappings":";AAEO,IAAM,oBAAmC,OAAO,iBAAiB;;;ACMjE,SAAS,qBACd,KACA,KACA;AACA,MAAI;AACF,QAAI,GAAG;AACP,WAAO;AAAA,EACT,SAAQ,GAAN;AACA,WAAO;AAAA,EACT;AACF;;;ACZO,IAAM,qCAAqC,oBAAI,IAAI;AAAA,EACxD;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AACtB,CAAC;AAEM,IAAM,sCAAsC,oBAAI,IAAI;AAAA,EACzD;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AACtB,CAAC;AAMM,SAAS,sBAAsB,QAAyB;AAC7D,SAAO,mCAAmC,IAAI,MAAM;AACtD;AAKO,SAAS,0BAA0B,MAAyB;AACjE,SAAO,IAAI;AAAA,IACT,KAAK;AAAA,MACH,gBAAgB,QACZ;AAAA,QACE,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,QACd,OAAO,KAAK;AAAA,MACd,IACA;AAAA,IACN;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;AAYO,SAAS,gBAAgB,UAA+C;AAC7E,SAAO,qBAAqB,UAAU,MAAM,KAAK,SAAS,SAAS;AACrE;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/hasConfigurableGlobal.ts"],"sourcesContent":["/**\n * Returns a boolean indicating whether the given global property\n * is defined and is configurable.\n */\nexport function hasConfigurableGlobal(propertyName: string): boolean {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)\n\n if (typeof descriptor === 'undefined') {\n return false\n }\n\n if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n )\n return false\n }\n\n return true\n}\n"],"mappings":";AAIO,SAAS,sBAAsB,cAA+B;AACnE,QAAM,aAAa,OAAO,yBAAyB,YAAY,YAAY;AAE3E,MAAI,OAAO,eAAe,aAAa;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,QAAQ,eAAe,CAAC,WAAW,cAAc;AACrE,YAAQ;AAAA,MACN,mDAAmD;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/hasConfigurableGlobal.ts"],"names":[],"mappings":";AAIO,SAAS,sBAAsB,cAA+B;AACnE,QAAM,aAAa,OAAO,yBAAyB,YAAY,YAAY;AAE3E,MAAI,OAAO,eAAe,aAAa;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,QAAQ,eAAe,CAAC,WAAW,cAAc;AACrE,YAAQ;AAAA,MACN,mDAAmD;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT","sourcesContent":["/**\n * Returns a boolean indicating whether the given global property\n * is defined and is configurable.\n */\nexport function hasConfigurableGlobal(propertyName: string): boolean {\n const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName)\n\n if (typeof descriptor === 'undefined') {\n return false\n }\n\n if (typeof descriptor.set === 'undefined' && !descriptor.configurable) {\n console.error(\n `[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`\n )\n return false\n }\n\n return true\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/glossary.ts"],"sourcesContent":["import type { RequestController } from './RequestController'\n\nexport const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\nexport type HttpRequestEventMap = {\n request: [\n args: {\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n response: [\n args: {\n response: Response\n isMockedResponse: boolean\n request: Request\n requestId: string\n }\n ]\n unhandledException: [\n args: {\n error: unknown\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n}\n"],"mappings":";AAEO,IAAM,oBAAmC,OAAO,iBAAiB;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/glossary.ts"],"names":[],"mappings":";AAEO,IAAM,oBAAmC,OAAO,iBAAiB","sourcesContent":["import type { RequestController } from './RequestController'\n\nexport const IS_PATCHED_MODULE: unique symbol = Symbol('isPatchedModule')\n\nexport type RequestCredentials = 'omit' | 'include' | 'same-origin'\n\nexport type HttpRequestEventMap = {\n request: [\n args: {\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n response: [\n args: {\n response: Response\n isMockedResponse: boolean\n request: Request\n requestId: string\n }\n ]\n unhandledException: [\n args: {\n error: unknown\n request: Request\n requestId: string\n controller: RequestController\n }\n ]\n}\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|