@mswjs/interceptors 0.40.0 → 0.41.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 (272) hide show
  1. package/ClientRequest/package.json +7 -2
  2. package/RemoteHttpInterceptor/package.json +7 -2
  3. package/WebSocket/package.json +9 -2
  4. package/XMLHttpRequest/package.json +9 -3
  5. package/fetch/package.json +9 -3
  6. package/lib/browser/Interceptor-2mUoKZL1.d.mts +65 -0
  7. package/lib/browser/Interceptor-Deczogc8.d.cts +65 -0
  8. package/lib/browser/XMLHttpRequest-BUfglQD1.cjs +761 -0
  9. package/lib/browser/XMLHttpRequest-BUfglQD1.cjs.map +1 -0
  10. package/lib/browser/XMLHttpRequest-DS5fc8Qs.mjs +756 -0
  11. package/lib/browser/XMLHttpRequest-DS5fc8Qs.mjs.map +1 -0
  12. package/lib/browser/bufferUtils-BiiO6HZv.mjs +20 -0
  13. package/lib/browser/bufferUtils-BiiO6HZv.mjs.map +1 -0
  14. package/lib/browser/bufferUtils-Uc0eRItL.cjs +38 -0
  15. package/lib/browser/bufferUtils-Uc0eRItL.cjs.map +1 -0
  16. package/lib/browser/createRequestId-Cs4oXfa1.cjs +205 -0
  17. package/lib/browser/createRequestId-Cs4oXfa1.cjs.map +1 -0
  18. package/lib/browser/createRequestId-DQcIlohW.mjs +170 -0
  19. package/lib/browser/createRequestId-DQcIlohW.mjs.map +1 -0
  20. package/lib/browser/fetch-BHcqM3z7.cjs +253 -0
  21. package/lib/browser/fetch-BHcqM3z7.cjs.map +1 -0
  22. package/lib/browser/fetch-DSJoynSF.mjs +248 -0
  23. package/lib/browser/fetch-DSJoynSF.mjs.map +1 -0
  24. package/lib/browser/getRawRequest-BTaNLFr0.mjs +218 -0
  25. package/lib/browser/getRawRequest-BTaNLFr0.mjs.map +1 -0
  26. package/lib/browser/getRawRequest-zx8rUJL2.cjs +259 -0
  27. package/lib/browser/getRawRequest-zx8rUJL2.cjs.map +1 -0
  28. package/lib/browser/glossary-BdLS4k1H.d.cts +70 -0
  29. package/lib/browser/glossary-gEEJhK4S.d.mts +70 -0
  30. package/lib/browser/handleRequest-DI6a7Dty.cjs +189 -0
  31. package/lib/browser/handleRequest-DI6a7Dty.cjs.map +1 -0
  32. package/lib/browser/handleRequest-DxGbCTbb.mjs +178 -0
  33. package/lib/browser/handleRequest-DxGbCTbb.mjs.map +1 -0
  34. package/lib/browser/hasConfigurableGlobal-C8kXFDic.mjs +33 -0
  35. package/lib/browser/hasConfigurableGlobal-C8kXFDic.mjs.map +1 -0
  36. package/lib/browser/hasConfigurableGlobal-D7S3l5h6.cjs +45 -0
  37. package/lib/browser/hasConfigurableGlobal-D7S3l5h6.cjs.map +1 -0
  38. package/lib/browser/index.cjs +68 -0
  39. package/lib/browser/index.cjs.map +1 -0
  40. package/lib/browser/index.d.cts +87 -0
  41. package/lib/browser/index.d.mts +87 -0
  42. package/lib/browser/index.mjs +49 -77
  43. package/lib/browser/index.mjs.map +1 -1
  44. package/lib/browser/interceptors/WebSocket/index.cjs +621 -0
  45. package/lib/browser/interceptors/WebSocket/index.cjs.map +1 -0
  46. package/lib/browser/interceptors/WebSocket/index.d.cts +277 -0
  47. package/lib/browser/interceptors/WebSocket/index.d.mts +277 -0
  48. package/lib/browser/interceptors/WebSocket/index.mjs +587 -694
  49. package/lib/browser/interceptors/WebSocket/index.mjs.map +1 -1
  50. package/lib/browser/interceptors/XMLHttpRequest/index.cjs +7 -0
  51. package/lib/browser/interceptors/XMLHttpRequest/index.d.cts +15 -0
  52. package/lib/browser/interceptors/XMLHttpRequest/index.d.mts +15 -0
  53. package/lib/browser/interceptors/XMLHttpRequest/index.mjs +7 -12
  54. package/lib/browser/interceptors/fetch/index.cjs +6 -0
  55. package/lib/browser/interceptors/fetch/index.d.cts +13 -0
  56. package/lib/browser/interceptors/fetch/index.d.mts +13 -0
  57. package/lib/browser/interceptors/fetch/index.mjs +6 -11
  58. package/lib/browser/presets/browser.cjs +17 -0
  59. package/lib/browser/presets/browser.cjs.map +1 -0
  60. package/lib/browser/presets/browser.d.cts +12 -0
  61. package/lib/browser/presets/browser.d.mts +14 -0
  62. package/lib/browser/presets/browser.mjs +15 -19
  63. package/lib/browser/presets/browser.mjs.map +1 -1
  64. package/lib/node/BatchInterceptor-3LnAnLTx.cjs +49 -0
  65. package/lib/node/BatchInterceptor-3LnAnLTx.cjs.map +1 -0
  66. package/lib/node/BatchInterceptor-D7mXzHcQ.d.mts +26 -0
  67. package/lib/node/BatchInterceptor-DFaBPilf.mjs +44 -0
  68. package/lib/node/BatchInterceptor-DFaBPilf.mjs.map +1 -0
  69. package/lib/node/BatchInterceptor-D_YqR8qU.d.cts +26 -0
  70. package/lib/node/ClientRequest-2rDe54Ui.cjs +1043 -0
  71. package/lib/node/ClientRequest-2rDe54Ui.cjs.map +1 -0
  72. package/lib/node/ClientRequest-Ca8Qykuv.mjs +1034 -0
  73. package/lib/node/ClientRequest-Ca8Qykuv.mjs.map +1 -0
  74. package/lib/node/Interceptor-DEazpLJd.d.mts +133 -0
  75. package/lib/node/Interceptor-DJ2akVWI.d.cts +133 -0
  76. package/lib/node/RemoteHttpInterceptor.cjs +154 -0
  77. package/lib/node/RemoteHttpInterceptor.cjs.map +1 -0
  78. package/lib/node/RemoteHttpInterceptor.d.cts +39 -0
  79. package/lib/node/RemoteHttpInterceptor.d.mts +39 -0
  80. package/lib/node/RemoteHttpInterceptor.mjs +145 -190
  81. package/lib/node/RemoteHttpInterceptor.mjs.map +1 -1
  82. package/lib/node/XMLHttpRequest-B7kJdYYI.cjs +763 -0
  83. package/lib/node/XMLHttpRequest-B7kJdYYI.cjs.map +1 -0
  84. package/lib/node/XMLHttpRequest-C8dIZpds.mjs +757 -0
  85. package/lib/node/XMLHttpRequest-C8dIZpds.mjs.map +1 -0
  86. package/lib/node/bufferUtils-DiCTqG-7.cjs +38 -0
  87. package/lib/node/bufferUtils-DiCTqG-7.cjs.map +1 -0
  88. package/lib/node/bufferUtils-_8XfKIfX.mjs +20 -0
  89. package/lib/node/bufferUtils-_8XfKIfX.mjs.map +1 -0
  90. package/lib/node/chunk-CbDLau6x.cjs +34 -0
  91. package/lib/node/fetch-BmXpK10r.cjs +272 -0
  92. package/lib/node/fetch-BmXpK10r.cjs.map +1 -0
  93. package/lib/node/fetch-G1DVwDKG.mjs +265 -0
  94. package/lib/node/fetch-G1DVwDKG.mjs.map +1 -0
  95. package/lib/node/fetchUtils-BaY5iWXw.cjs +419 -0
  96. package/lib/node/fetchUtils-BaY5iWXw.cjs.map +1 -0
  97. package/lib/node/fetchUtils-CoU35g3M.mjs +359 -0
  98. package/lib/node/fetchUtils-CoU35g3M.mjs.map +1 -0
  99. package/lib/node/getRawRequest-BavnMWh_.cjs +36 -0
  100. package/lib/node/getRawRequest-BavnMWh_.cjs.map +1 -0
  101. package/lib/node/getRawRequest-DnwmXyOW.mjs +24 -0
  102. package/lib/node/getRawRequest-DnwmXyOW.mjs.map +1 -0
  103. package/lib/node/glossary-BLKRyLBd.cjs +12 -0
  104. package/lib/node/glossary-BLKRyLBd.cjs.map +1 -0
  105. package/lib/node/glossary-glQBRnVD.mjs +6 -0
  106. package/lib/node/glossary-glQBRnVD.mjs.map +1 -0
  107. package/lib/node/handleRequest-Bb7Y-XLw.cjs +220 -0
  108. package/lib/node/handleRequest-Bb7Y-XLw.cjs.map +1 -0
  109. package/lib/node/handleRequest-Y97UwBbF.mjs +190 -0
  110. package/lib/node/handleRequest-Y97UwBbF.mjs.map +1 -0
  111. package/lib/node/hasConfigurableGlobal-C97fWuaA.cjs +26 -0
  112. package/lib/node/hasConfigurableGlobal-C97fWuaA.cjs.map +1 -0
  113. package/lib/node/hasConfigurableGlobal-DBJA0vjm.mjs +20 -0
  114. package/lib/node/hasConfigurableGlobal-DBJA0vjm.mjs.map +1 -0
  115. package/lib/node/index-BMbJ8FXL.d.cts +113 -0
  116. package/lib/node/index-C0YAQ36w.d.mts +113 -0
  117. package/lib/node/index.cjs +30 -0
  118. package/lib/node/index.cjs.map +1 -0
  119. package/lib/node/index.d.cts +66 -0
  120. package/lib/node/index.d.mts +66 -0
  121. package/lib/node/index.mjs +13 -41
  122. package/lib/node/index.mjs.map +1 -1
  123. package/lib/node/interceptors/ClientRequest/index.cjs +6 -0
  124. package/lib/node/interceptors/ClientRequest/index.d.cts +2 -0
  125. package/lib/node/interceptors/ClientRequest/index.d.mts +3 -0
  126. package/lib/node/interceptors/ClientRequest/index.mjs +6 -11
  127. package/lib/node/interceptors/XMLHttpRequest/index.cjs +6 -0
  128. package/lib/node/interceptors/XMLHttpRequest/index.d.cts +14 -0
  129. package/lib/node/interceptors/XMLHttpRequest/index.d.mts +14 -0
  130. package/lib/node/interceptors/XMLHttpRequest/index.mjs +6 -13
  131. package/lib/node/interceptors/fetch/index.cjs +5 -0
  132. package/lib/node/interceptors/fetch/index.d.cts +12 -0
  133. package/lib/node/interceptors/fetch/index.d.mts +12 -0
  134. package/lib/node/interceptors/fetch/index.mjs +5 -12
  135. package/lib/node/node-DwCc6iuP.mjs +27 -0
  136. package/lib/node/node-DwCc6iuP.mjs.map +1 -0
  137. package/lib/node/node-dKdAf3tC.cjs +39 -0
  138. package/lib/node/node-dKdAf3tC.cjs.map +1 -0
  139. package/lib/node/presets/node.cjs +22 -0
  140. package/lib/node/presets/node.cjs.map +1 -0
  141. package/lib/node/presets/node.d.cts +13 -0
  142. package/lib/node/presets/node.d.mts +15 -0
  143. package/lib/node/presets/node.mjs +18 -23
  144. package/lib/node/presets/node.mjs.map +1 -1
  145. package/lib/node/utils/node/index.cjs +4 -0
  146. package/lib/node/utils/node/{index.d.ts → index.d.cts} +5 -2
  147. package/lib/node/utils/node/index.d.mts +16 -0
  148. package/lib/node/utils/node/index.mjs +3 -10
  149. package/package.json +33 -59
  150. package/presets/browser/package.json +2 -3
  151. package/presets/node/package.json +7 -2
  152. package/src/interceptors/ClientRequest/MockHttpSocket.ts +21 -8
  153. package/src/interceptors/ClientRequest/utils/parserUtils.ts +48 -0
  154. package/src/interceptors/WebSocket/index.ts +4 -1
  155. package/src/interceptors/XMLHttpRequest/utils/getBodyByteLength.test.ts +2 -2
  156. package/lib/browser/Interceptor-af98b768.d.ts +0 -63
  157. package/lib/browser/chunk-2HUMWGRD.js +0 -37
  158. package/lib/browser/chunk-2HUMWGRD.js.map +0 -1
  159. package/lib/browser/chunk-2MCNQOY3.js +0 -851
  160. package/lib/browser/chunk-2MCNQOY3.js.map +0 -1
  161. package/lib/browser/chunk-57RIRQUY.js +0 -218
  162. package/lib/browser/chunk-57RIRQUY.js.map +0 -1
  163. package/lib/browser/chunk-6HYIRFX2.mjs +0 -22
  164. package/lib/browser/chunk-6HYIRFX2.mjs.map +0 -1
  165. package/lib/browser/chunk-FW45TRCB.js +0 -178
  166. package/lib/browser/chunk-FW45TRCB.js.map +0 -1
  167. package/lib/browser/chunk-JQ2S7G56.js +0 -185
  168. package/lib/browser/chunk-JQ2S7G56.js.map +0 -1
  169. package/lib/browser/chunk-LIKZF2VU.mjs +0 -218
  170. package/lib/browser/chunk-LIKZF2VU.mjs.map +0 -1
  171. package/lib/browser/chunk-LK6DILFK.js +0 -22
  172. package/lib/browser/chunk-LK6DILFK.js.map +0 -1
  173. package/lib/browser/chunk-MNT2FUCH.js +0 -301
  174. package/lib/browser/chunk-MNT2FUCH.js.map +0 -1
  175. package/lib/browser/chunk-VOUOVDAW.mjs +0 -178
  176. package/lib/browser/chunk-VOUOVDAW.mjs.map +0 -1
  177. package/lib/browser/chunk-VYSDLBSS.mjs +0 -37
  178. package/lib/browser/chunk-VYSDLBSS.mjs.map +0 -1
  179. package/lib/browser/chunk-WADP6VHN.mjs +0 -851
  180. package/lib/browser/chunk-WADP6VHN.mjs.map +0 -1
  181. package/lib/browser/chunk-WOWPV4GR.mjs +0 -301
  182. package/lib/browser/chunk-WOWPV4GR.mjs.map +0 -1
  183. package/lib/browser/chunk-Z5TSB3T6.mjs +0 -185
  184. package/lib/browser/chunk-Z5TSB3T6.mjs.map +0 -1
  185. package/lib/browser/glossary-f7ee1c9d.d.ts +0 -74
  186. package/lib/browser/index.d.ts +0 -82
  187. package/lib/browser/index.js +0 -83
  188. package/lib/browser/index.js.map +0 -1
  189. package/lib/browser/interceptors/WebSocket/index.d.ts +0 -271
  190. package/lib/browser/interceptors/WebSocket/index.js +0 -721
  191. package/lib/browser/interceptors/WebSocket/index.js.map +0 -1
  192. package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +0 -14
  193. package/lib/browser/interceptors/XMLHttpRequest/index.js +0 -12
  194. package/lib/browser/interceptors/XMLHttpRequest/index.js.map +0 -1
  195. package/lib/browser/interceptors/XMLHttpRequest/index.mjs.map +0 -1
  196. package/lib/browser/interceptors/fetch/index.d.ts +0 -13
  197. package/lib/browser/interceptors/fetch/index.js +0 -11
  198. package/lib/browser/interceptors/fetch/index.js.map +0 -1
  199. package/lib/browser/interceptors/fetch/index.mjs.map +0 -1
  200. package/lib/browser/presets/browser.d.ts +0 -14
  201. package/lib/browser/presets/browser.js +0 -21
  202. package/lib/browser/presets/browser.js.map +0 -1
  203. package/lib/node/BatchInterceptor-cb9a2eee.d.ts +0 -24
  204. package/lib/node/Interceptor-dc0a39b5.d.ts +0 -136
  205. package/lib/node/RemoteHttpInterceptor.d.ts +0 -44
  206. package/lib/node/RemoteHttpInterceptor.js +0 -197
  207. package/lib/node/RemoteHttpInterceptor.js.map +0 -1
  208. package/lib/node/chunk-5UGIB6OX.mjs +0 -1126
  209. package/lib/node/chunk-5UGIB6OX.mjs.map +0 -1
  210. package/lib/node/chunk-5V3SIIW2.mjs +0 -853
  211. package/lib/node/chunk-5V3SIIW2.mjs.map +0 -1
  212. package/lib/node/chunk-6B3ZQOO2.js +0 -853
  213. package/lib/node/chunk-6B3ZQOO2.js.map +0 -1
  214. package/lib/node/chunk-6HYIRFX2.mjs +0 -22
  215. package/lib/node/chunk-6HYIRFX2.mjs.map +0 -1
  216. package/lib/node/chunk-6YM4PLBI.mjs +0 -7
  217. package/lib/node/chunk-6YM4PLBI.mjs.map +0 -1
  218. package/lib/node/chunk-73NOP3T5.js +0 -7
  219. package/lib/node/chunk-73NOP3T5.js.map +0 -1
  220. package/lib/node/chunk-7Q53NNPV.js +0 -189
  221. package/lib/node/chunk-7Q53NNPV.js.map +0 -1
  222. package/lib/node/chunk-DOWWQYXZ.js +0 -369
  223. package/lib/node/chunk-DOWWQYXZ.js.map +0 -1
  224. package/lib/node/chunk-FRZQJNBO.js +0 -318
  225. package/lib/node/chunk-FRZQJNBO.js.map +0 -1
  226. package/lib/node/chunk-GKN5RBVR.mjs +0 -32
  227. package/lib/node/chunk-GKN5RBVR.mjs.map +0 -1
  228. package/lib/node/chunk-J5MULIHT.js +0 -51
  229. package/lib/node/chunk-J5MULIHT.js.map +0 -1
  230. package/lib/node/chunk-JXGB54LE.mjs +0 -369
  231. package/lib/node/chunk-JXGB54LE.mjs.map +0 -1
  232. package/lib/node/chunk-LK6DILFK.js +0 -22
  233. package/lib/node/chunk-LK6DILFK.js.map +0 -1
  234. package/lib/node/chunk-OFW5L5ET.mjs +0 -318
  235. package/lib/node/chunk-OFW5L5ET.mjs.map +0 -1
  236. package/lib/node/chunk-PFGO5BSM.js +0 -25
  237. package/lib/node/chunk-PFGO5BSM.js.map +0 -1
  238. package/lib/node/chunk-R6T7CL5E.mjs +0 -189
  239. package/lib/node/chunk-R6T7CL5E.mjs.map +0 -1
  240. package/lib/node/chunk-SQ6RHTJR.mjs +0 -51
  241. package/lib/node/chunk-SQ6RHTJR.mjs.map +0 -1
  242. package/lib/node/chunk-SRMAQGPM.js +0 -30
  243. package/lib/node/chunk-SRMAQGPM.js.map +0 -1
  244. package/lib/node/chunk-T3TW4P64.js +0 -32
  245. package/lib/node/chunk-T3TW4P64.js.map +0 -1
  246. package/lib/node/chunk-TX5GBTFY.mjs +0 -25
  247. package/lib/node/chunk-TX5GBTFY.mjs.map +0 -1
  248. package/lib/node/chunk-VYO5XDY2.js +0 -1126
  249. package/lib/node/chunk-VYO5XDY2.js.map +0 -1
  250. package/lib/node/chunk-YWNGXXUQ.mjs +0 -30
  251. package/lib/node/chunk-YWNGXXUQ.mjs.map +0 -1
  252. package/lib/node/index.d.ts +0 -61
  253. package/lib/node/index.js +0 -45
  254. package/lib/node/index.js.map +0 -1
  255. package/lib/node/interceptors/ClientRequest/index.d.ts +0 -110
  256. package/lib/node/interceptors/ClientRequest/index.js +0 -11
  257. package/lib/node/interceptors/ClientRequest/index.js.map +0 -1
  258. package/lib/node/interceptors/ClientRequest/index.mjs.map +0 -1
  259. package/lib/node/interceptors/XMLHttpRequest/index.d.ts +0 -13
  260. package/lib/node/interceptors/XMLHttpRequest/index.js +0 -13
  261. package/lib/node/interceptors/XMLHttpRequest/index.js.map +0 -1
  262. package/lib/node/interceptors/XMLHttpRequest/index.mjs.map +0 -1
  263. package/lib/node/interceptors/fetch/index.d.ts +0 -12
  264. package/lib/node/interceptors/fetch/index.js +0 -12
  265. package/lib/node/interceptors/fetch/index.js.map +0 -1
  266. package/lib/node/interceptors/fetch/index.mjs.map +0 -1
  267. package/lib/node/presets/node.d.ts +0 -15
  268. package/lib/node/presets/node.js +0 -27
  269. package/lib/node/presets/node.js.map +0 -1
  270. package/lib/node/utils/node/index.js +0 -10
  271. package/lib/node/utils/node/index.js.map +0 -1
  272. package/lib/node/utils/node/index.mjs.map +0 -1
@@ -1,27 +1,22 @@
1
- import {
2
- ClientRequestInterceptor
3
- } from "../chunk-5UGIB6OX.mjs";
4
- import "../chunk-GKN5RBVR.mjs";
5
- import {
6
- XMLHttpRequestInterceptor
7
- } from "../chunk-5V3SIIW2.mjs";
8
- import "../chunk-6HYIRFX2.mjs";
9
- import {
10
- FetchInterceptor
11
- } from "../chunk-OFW5L5ET.mjs";
12
- import "../chunk-TX5GBTFY.mjs";
13
- import "../chunk-6YM4PLBI.mjs";
14
- import "../chunk-R6T7CL5E.mjs";
15
- import "../chunk-JXGB54LE.mjs";
16
- import "../chunk-YWNGXXUQ.mjs";
1
+ import "../fetchUtils-CoU35g3M.mjs";
2
+ import "../bufferUtils-_8XfKIfX.mjs";
3
+ import { t as ClientRequestInterceptor } from "../ClientRequest-Ca8Qykuv.mjs";
4
+ import "../handleRequest-Y97UwBbF.mjs";
5
+ import "../node-DwCc6iuP.mjs";
6
+ import { t as XMLHttpRequestInterceptor } from "../XMLHttpRequest-C8dIZpds.mjs";
7
+ import { t as FetchInterceptor } from "../fetch-G1DVwDKG.mjs";
17
8
 
18
- // src/presets/node.ts
9
+ //#region src/presets/node.ts
10
+ /**
11
+ * The default preset provisions the interception of requests
12
+ * regardless of their type (http/https/XMLHttpRequest).
13
+ */
19
14
  var node_default = [
20
- new ClientRequestInterceptor(),
21
- new XMLHttpRequestInterceptor(),
22
- new FetchInterceptor()
15
+ new ClientRequestInterceptor(),
16
+ new XMLHttpRequestInterceptor(),
17
+ new FetchInterceptor()
23
18
  ];
24
- export {
25
- node_default as default
26
- };
19
+
20
+ //#endregion
21
+ export { node_default as default };
27
22
  //# sourceMappingURL=node.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/presets/node.ts"],"sourcesContent":["import { ClientRequestInterceptor } from '../interceptors/ClientRequest'\nimport { XMLHttpRequestInterceptor } from '../interceptors/XMLHttpRequest'\nimport { FetchInterceptor } from '../interceptors/fetch'\n\n/**\n * The default preset provisions the interception of requests\n * regardless of their type (http/https/XMLHttpRequest).\n */\nexport default [\n new ClientRequestInterceptor(),\n new XMLHttpRequestInterceptor(),\n new FetchInterceptor(),\n] as const\n"],"mappings":";;;;;;;;;;;;;;;;;;AAQA,IAAO,eAAQ;AAAA,EACb,IAAI,yBAAyB;AAAA,EAC7B,IAAI,0BAA0B;AAAA,EAC9B,IAAI,iBAAiB;AACvB;","names":[]}
1
+ {"version":3,"file":"node.mjs","names":[],"sources":["../../../src/presets/node.ts"],"sourcesContent":["import { ClientRequestInterceptor } from '../interceptors/ClientRequest'\nimport { XMLHttpRequestInterceptor } from '../interceptors/XMLHttpRequest'\nimport { FetchInterceptor } from '../interceptors/fetch'\n\n/**\n * The default preset provisions the interception of requests\n * regardless of their type (http/https/XMLHttpRequest).\n */\nexport default [\n new ClientRequestInterceptor(),\n new XMLHttpRequestInterceptor(),\n new FetchInterceptor(),\n] as const\n"],"mappings":";;;;;;;;;;;;;AAQA,mBAAe;CACb,IAAI,0BAA0B;CAC9B,IAAI,2BAA2B;CAC/B,IAAI,kBAAkB;CACvB"}
@@ -0,0 +1,4 @@
1
+ const require_node = require('../../node-dKdAf3tC.cjs');
2
+
3
+ exports.getClientRequestBodyStream = require_node.getClientRequestBodyStream;
4
+ exports.setRawRequestBodyStream = require_node.setRawRequestBodyStream;
@@ -1,4 +1,6 @@
1
- import { Readable } from 'node:stream';
1
+ import { Readable } from "node:stream";
2
+
3
+ //#region src/utils/node/index.d.ts
2
4
 
3
5
  /**
4
6
  * Returns the request body stream of the given request.
@@ -9,5 +11,6 @@ import { Readable } from 'node:stream';
9
11
  */
10
12
  declare function getClientRequestBodyStream(request: Request): Readable;
11
13
  declare function setRawRequestBodyStream(request: Request, stream: Readable): void;
12
-
14
+ //#endregion
13
15
  export { getClientRequestBodyStream, setRawRequestBodyStream };
16
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,16 @@
1
+ import { Readable } from "node:stream";
2
+
3
+ //#region src/utils/node/index.d.ts
4
+
5
+ /**
6
+ * Returns the request body stream of the given request.
7
+ * @note This is only relevant in the context of `http.ClientRequest`.
8
+ * This function will throw if the given `request` wasn't created based on
9
+ * the `http.ClientRequest` instance.
10
+ * You must rely on the web stream consumers for other request clients.
11
+ */
12
+ declare function getClientRequestBodyStream(request: Request): Readable;
13
+ declare function setRawRequestBodyStream(request: Request, stream: Readable): void;
14
+ //#endregion
15
+ export { getClientRequestBodyStream, setRawRequestBodyStream };
16
+ //# sourceMappingURL=index.d.mts.map
@@ -1,10 +1,3 @@
1
- import {
2
- getClientRequestBodyStream,
3
- setRawRequestBodyStream
4
- } from "../../chunk-GKN5RBVR.mjs";
5
- import "../../chunk-YWNGXXUQ.mjs";
6
- export {
7
- getClientRequestBodyStream,
8
- setRawRequestBodyStream
9
- };
10
- //# sourceMappingURL=index.mjs.map
1
+ import { n as setRawRequestBodyStream, t as getClientRequestBodyStream } from "../../node-DwCc6iuP.mjs";
2
+
3
+ export { getClientRequestBodyStream, setRawRequestBodyStream };
package/package.json CHANGED
@@ -1,104 +1,80 @@
1
1
  {
2
+ "type": "commonjs",
2
3
  "name": "@mswjs/interceptors",
3
4
  "description": "Low-level HTTP/HTTPS/XHR/fetch request interception library.",
4
- "version": "0.40.0",
5
- "main": "./lib/node/index.js",
5
+ "version": "0.41.0",
6
+ "main": "./lib/node/index.cjs",
6
7
  "module": "./lib/node/index.mjs",
7
- "types": "./lib/node/index.d.ts",
8
+ "types": "./lib/node/index.d.cts",
8
9
  "exports": {
9
10
  ".": {
10
- "types": "./lib/node/index.d.ts",
11
11
  "browser": {
12
- "types": "./lib/browser/index.d.ts",
13
- "require": "./lib/browser/index.js",
14
12
  "import": "./lib/browser/index.mjs",
15
- "default": "./lib/browser/index.js"
13
+ "default": "./lib/browser/index.cjs"
16
14
  },
17
- "require": "./lib/node/index.js",
18
15
  "import": "./lib/node/index.mjs",
19
- "default": "./lib/node/index.js"
16
+ "default": "./lib/node/index.cjs"
20
17
  },
21
18
  "./ClientRequest": {
22
- "types": "./lib/node/interceptors/ClientRequest/index.d.ts",
23
19
  "node": {
24
- "require": "./lib/node/interceptors/ClientRequest/index.js",
20
+ "require": "./lib/node/interceptors/ClientRequest/index.cjs",
25
21
  "import": "./lib/node/interceptors/ClientRequest/index.mjs"
26
22
  },
27
23
  "browser": null,
28
- "require": "./lib/node/interceptors/ClientRequest/index.js",
24
+ "require": "./lib/node/interceptors/ClientRequest/index.cjs",
29
25
  "import": "./lib/node/interceptors/ClientRequest/index.mjs",
30
- "default": "./lib/node/interceptors/ClientRequest/index.js"
26
+ "default": "./lib/node/interceptors/ClientRequest/index.cjs"
31
27
  },
32
28
  "./XMLHttpRequest": {
33
- "browser": {
34
- "types": "./lib/browser/interceptors/XMLHttpRequest/index.d.ts",
35
- "require": "./lib/browser/interceptors/XMLHttpRequest/index.js",
36
- "import": "./lib/browser/interceptors/XMLHttpRequest/index.mjs",
37
- "default": "./lib/browser/interceptors/XMLHttpRequest/index.js"
38
- },
39
- "types": "./lib/node/interceptors/XMLHttpRequest/index.d.ts",
40
- "require": "./lib/node/interceptors/XMLHttpRequest/index.js",
29
+ "browser": "./lib/browser/interceptors/XMLHttpRequest/index.mjs",
30
+ "require": "./lib/node/interceptors/XMLHttpRequest/index.cjs",
41
31
  "import": "./lib/node/interceptors/XMLHttpRequest/index.mjs",
42
- "default": "./lib/node/interceptors/XMLHttpRequest/index.js"
32
+ "default": "./lib/node/interceptors/XMLHttpRequest/index.cjs"
43
33
  },
44
34
  "./fetch": {
45
- "browser": {
46
- "types": "./lib/browser/interceptors/fetch/index.d.ts",
47
- "require": "./lib/browser/interceptors/fetch/index.js",
48
- "import": "./lib/browser/interceptors/fetch/index.mjs",
49
- "default": "./lib/browser/interceptors/fetch/index.js"
50
- },
51
- "types": "./lib/node/interceptors/fetch/index.d.ts",
52
- "require": "./lib/node/interceptors/fetch/index.js",
35
+ "browser": "./lib/browser/interceptors/fetch/index.mjs",
36
+ "require": "./lib/node/interceptors/fetch/index.cjs",
53
37
  "import": "./lib/node/interceptors/fetch/index.mjs",
54
- "default": "./lib/node/interceptors/fetch/index.js"
38
+ "default": "./lib/node/interceptors/fetch/index.cjs"
55
39
  },
56
40
  "./WebSocket": {
57
- "types": "./lib/browser/interceptors/WebSocket/index.d.ts",
58
- "require": "./lib/browser/interceptors/WebSocket/index.js",
41
+ "require": "./lib/browser/interceptors/WebSocket/index.cjs",
59
42
  "import": "./lib/browser/interceptors/WebSocket/index.mjs",
60
- "default": "./lib/browser/interceptors/WebSocket/index.js"
43
+ "default": "./lib/browser/interceptors/WebSocket/index.cjs"
61
44
  },
62
45
  "./RemoteHttpInterceptor": {
63
- "types": "./lib/node/RemoteHttpInterceptor.d.ts",
64
46
  "node": {
65
- "require": "./lib/node/RemoteHttpInterceptor.js",
47
+ "require": "./lib/node/RemoteHttpInterceptor.cjs",
66
48
  "import": "./lib/node/RemoteHttpInterceptor.mjs"
67
49
  },
68
50
  "browser": null,
69
- "require": "./lib/node/RemoteHttpInterceptor.js",
51
+ "require": "./lib/node/RemoteHttpInterceptor.cjs",
70
52
  "import": "./lib/node/RemoteHttpInterceptor.mjs",
71
- "default": "./lib/node/RemoteHttpInterceptor.js"
53
+ "default": "./lib/node/RemoteHttpInterceptor.cjs"
72
54
  },
73
55
  "./presets/node": {
74
- "types": "./lib/node/presets/node.d.ts",
75
56
  "node": {
76
- "require": "./lib/node/presets/node.js",
57
+ "require": "./lib/node/presets/node.cjs",
77
58
  "import": "./lib/node/presets/node.mjs"
78
59
  },
79
60
  "browser": null,
80
- "require": "./lib/node/presets/node.js",
61
+ "require": "./lib/node/presets/node.cjs",
81
62
  "import": "./lib/node/presets/node.mjs",
82
- "default": "./lib/node/presets/node.js"
63
+ "default": "./lib/node/presets/node.cjs"
83
64
  },
84
65
  "./presets/browser": {
85
- "browser": {
86
- "types": "./lib/browser/presets/browser.d.ts",
87
- "require": "./lib/browser/presets/browser.js",
88
- "import": "./lib/browser/presets/browser.mjs",
89
- "default": "./lib/browser/presets/browser.js"
90
- }
66
+ "browser": "./lib/browser/presets/browser.mjs",
67
+ "node": null
91
68
  },
92
69
  "./utils/node": {
93
- "types": "./lib/node/utils/node/index.d.ts",
94
70
  "node": {
95
- "require": "./lib/node/utils/node/index.js",
71
+ "require": "./lib/node/utils/node/index.cjs",
96
72
  "import": "./lib/node/utils/node/index.mjs"
97
73
  },
98
74
  "browser": null,
99
- "require": "./lib/node/utils/node/index.js",
75
+ "require": "./lib/node/utils/node/index.cjs",
100
76
  "import": "./lib/node/utils/node/index.mjs",
101
- "default": "./lib/node/utils/node/index.js"
77
+ "default": "./lib/node/utils/node/index.cjs"
102
78
  }
103
79
  },
104
80
  "author": "Artem Zakharchenko",
@@ -118,14 +94,13 @@
118
94
  "presets"
119
95
  ],
120
96
  "repository": {
121
- "type": "git",
122
97
  "url": "https://github.com/mswjs/interceptors"
123
98
  },
124
99
  "devDependencies": {
125
100
  "@commitlint/cli": "^19.7.1",
126
101
  "@commitlint/config-conventional": "^19.7.1",
127
102
  "@open-draft/test-server": "^0.5.1",
128
- "@ossjs/release": "^0.8.1",
103
+ "@ossjs/release": "^0.10.1",
129
104
  "@playwright/test": "^1.51.0",
130
105
  "@types/cors": "^2.8.12",
131
106
  "@types/express": "^5.0.0",
@@ -151,20 +126,20 @@
151
126
  "happy-dom": "^17.3.0",
152
127
  "jsdom": "^26.1.0",
153
128
  "node-fetch": "3.3.2",
154
- "rimraf": "^6.0.1",
155
129
  "simple-git-hooks": "^2.7.0",
156
130
  "socket.io": "^4.7.4",
157
131
  "socket.io-client": "^4.7.4",
158
132
  "socket.io-parser": "^4.2.4",
159
133
  "superagent": "^10.1.1",
160
134
  "supertest": "^7.0.0",
161
- "tsup": "^6.5.0",
135
+ "tsdown": "^0.18.1",
162
136
  "typescript": "^5.8.2",
163
137
  "undici": "^7.4.0",
164
138
  "vitest": "^3.0.8",
165
139
  "vitest-environment-miniflare": "^2.14.1",
166
140
  "wait-for-expect": "^3.0.2",
167
141
  "web-encoding": "^1.1.5",
142
+ "webpack": "^5.105.0",
168
143
  "webpack-http-server": "^0.5.0",
169
144
  "ws": "^8.18.1"
170
145
  },
@@ -198,15 +173,14 @@
198
173
  }
199
174
  },
200
175
  "scripts": {
201
- "start": "tsc --build -w",
176
+ "start": "tsdown --watch",
202
177
  "test": "pnpm test:unit && pnpm test:integration",
203
178
  "test:unit": "vitest",
204
179
  "test:integration": "pnpm test:node && pnpm test:browser",
205
180
  "test:node": "vitest -c test/vitest.config.js",
206
181
  "test:browser": "pnpm playwright test -c test/playwright.config.ts",
207
182
  "test:nock": "./test/third-party/nock.sh",
208
- "clean": "rimraf lib",
209
- "build": "pnpm clean && cross-env NODE_ENV=production tsup --splitting",
183
+ "build": "tsdown",
210
184
  "release": "release publish"
211
185
  }
212
186
  }
@@ -1,6 +1,5 @@
1
1
  {
2
- "main": "../../lib/browser/presets/browser.js",
2
+ "main": "../../lib/browser/presets/browser.mjs",
3
3
  "module": "../../lib/browser/presets/browser.mjs",
4
- "browser": "../../lib/browser/presets/browser.js",
5
- "types": "../../lib/browser/presets/browser.d.ts"
4
+ "browser": "../../lib/browser/presets/browser.mjs"
6
5
  }
@@ -1,6 +1,11 @@
1
1
  {
2
- "main": "../../lib/node/presets/node.js",
2
+ "main": "../../lib/node/presets/node.cjs",
3
3
  "module": "../../lib/node/presets/node.mjs",
4
4
  "browser": null,
5
- "types": "../../lib/node/presets/node.d.ts"
5
+ "exports": {
6
+ ".": {
7
+ "import": "./../lib/node/presets/node.mjs",
8
+ "default": "./../lib/node/presets/node.cjs"
9
+ }
10
+ }
6
11
  }
@@ -13,12 +13,12 @@ import { MockSocket } from '../Socket/MockSocket'
13
13
  import type { NormalizedSocketWriteArgs } from '../Socket/utils/normalizeSocketWriteArgs'
14
14
  import { isPropertyAccessible } from '../../utils/isPropertyAccessible'
15
15
  import { baseUrlFromConnectionOptions } from '../Socket/utils/baseUrlFromConnectionOptions'
16
- import { createServerErrorResponse } from '../../utils/responseUtils'
17
16
  import { createRequestId } from '../../createRequestId'
18
17
  import { getRawFetchHeaders } from './utils/recordRawHeaders'
19
18
  import { FetchResponse } from '../../utils/fetchUtils'
20
19
  import { setRawRequest } from '../../getRawRequest'
21
20
  import { setRawRequestBodyStream } from '../../utils/node'
21
+ import { freeParser } from './utils/parserUtils'
22
22
 
23
23
  type HttpConnectionOptions = any
24
24
 
@@ -136,7 +136,7 @@ export class MockHttpSocket extends MockSocket {
136
136
 
137
137
  // Once the socket is finished, nothing can write to it
138
138
  // anymore. It has also flushed any buffered chunks.
139
- this.once('finish', () => this.requestParser.free())
139
+ this.once('finish', () => freeParser(this.requestParser, this))
140
140
 
141
141
  if (this.baseUrl.protocol === 'https:') {
142
142
  Reflect.set(this, 'encrypted', true)
@@ -146,7 +146,11 @@ export class MockHttpSocket extends MockSocket {
146
146
  Reflect.set(this, 'getProtocol', () => 'TLSv1.3')
147
147
  Reflect.set(this, 'getSession', () => undefined)
148
148
  Reflect.set(this, 'isSessionReused', () => false)
149
- Reflect.set(this, 'getCipher', () => ({ name: 'AES256-SHA', standardName: 'TLS_RSA_WITH_AES_256_CBC_SHA', version: 'TLSv1.3' }))
149
+ Reflect.set(this, 'getCipher', () => ({
150
+ name: 'AES256-SHA',
151
+ standardName: 'TLS_RSA_WITH_AES_256_CBC_SHA',
152
+ version: 'TLSv1.3',
153
+ }))
150
154
  }
151
155
  }
152
156
 
@@ -165,7 +169,7 @@ export class MockHttpSocket extends MockSocket {
165
169
  // Destroy the response parser when the socket gets destroyed.
166
170
  // Normally, we should listen to the "close" event but it
167
171
  // can be suppressed by using the "emitClose: false" option.
168
- this.responseParser.free()
172
+ freeParser(this.responseParser, this)
169
173
 
170
174
  if (error) {
171
175
  this.emit('error', error)
@@ -202,9 +206,18 @@ export class MockHttpSocket extends MockSocket {
202
206
  })
203
207
  }
204
208
 
205
- // If the developer destroys the socket, destroy the original connection.
206
- this.once('error', (error) => {
207
- socket.destroy(error)
209
+ // The client-facing socket can be destroyed in two ways:
210
+ // 1. The developer destroys the socket.
211
+ // 2. The passthrough socket "close" is forwarded to the socket.
212
+ this.once('close', () => {
213
+ socket.removeAllListeners()
214
+
215
+ // If the closure didn't originate from the passthrough socket, destroy it.
216
+ if (!socket.destroyed) {
217
+ socket.destroy()
218
+ }
219
+
220
+ this.originalSocket = undefined
208
221
  })
209
222
 
210
223
  this.address = socket.address.bind(socket)
@@ -259,7 +272,7 @@ export class MockHttpSocket extends MockSocket {
259
272
  'getProtocol',
260
273
  'getSession',
261
274
  'isSessionReused',
262
- 'getCipher'
275
+ 'getCipher',
263
276
  ]
264
277
 
265
278
  tlsProperties.forEach((propertyName) => {
@@ -0,0 +1,48 @@
1
+ import type { Socket } from 'node:net'
2
+ import { HTTPParser } from '_http_common'
3
+
4
+ /**
5
+ * @see https://github.com/nodejs/node/blob/f3adc11e37b8bfaaa026ea85c1cf22e3a0e29ae9/lib/_http_common.js#L180
6
+ */
7
+ export function freeParser(parser: HTTPParser<any>, socket?: Socket): void {
8
+ if (parser._consumed) {
9
+ parser.unconsume()
10
+ }
11
+
12
+ parser._headers = []
13
+ parser._url = ''
14
+ parser.socket = null
15
+ parser.incoming = null
16
+ parser.outgoing = null
17
+ parser.maxHeaderPairs = 2000
18
+ parser._consumed = false
19
+ parser.onIncoming = null
20
+
21
+ parser[HTTPParser.kOnHeaders] = null
22
+ parser[HTTPParser.kOnHeadersComplete] = null
23
+ parser[HTTPParser.kOnMessageBegin] = null
24
+ parser[HTTPParser.kOnMessageComplete] = null
25
+ parser[HTTPParser.kOnBody] = null
26
+ parser[HTTPParser.kOnExecute] = null
27
+ parser[HTTPParser.kOnTimeout] = null
28
+
29
+ parser.remove()
30
+ parser.free()
31
+
32
+ if (socket) {
33
+ /**
34
+ * @note Unassigning the socket's parser will fail this assertion
35
+ * if there's still some data being processed on the socket:
36
+ * @see https://github.com/nodejs/node/blob/4e1f39b678b37017ac9baa0971e3aeecd3b67b51/lib/_http_client.js#L613
37
+ */
38
+ if (socket.destroyed) {
39
+ // @ts-expect-error Node.js internals.
40
+ socket.parser = null
41
+ } else {
42
+ socket.once('end', () => {
43
+ // @ts-expect-error Node.js internals.
44
+ socket.parser = null
45
+ })
46
+ }
47
+ }
48
+ }
@@ -19,7 +19,10 @@ import { bindEvent } from './utils/bindEvent'
19
19
  import { hasConfigurableGlobal } from '../../utils/hasConfigurableGlobal'
20
20
  import { emitAsync } from '../../utils/emitAsync'
21
21
 
22
- export { type WebSocketData, WebSocketTransport } from './WebSocketTransport'
22
+ export {
23
+ type WebSocketData,
24
+ type WebSocketTransport,
25
+ } from './WebSocketTransport'
23
26
  export {
24
27
  WebSocketClientEventMap,
25
28
  WebSocketClientConnectionProtocol,
@@ -88,7 +88,7 @@ it('calculates body length from the FormData request body', async () => {
88
88
  body: formData,
89
89
  })
90
90
  )
91
- ).resolves.toBe(127)
91
+ ).resolves.toBe(129)
92
92
  })
93
93
 
94
94
  it('calculates body length from the ReadableStream request body', async () => {
@@ -149,7 +149,7 @@ it('calculates body length from the FormData response body', async () => {
149
149
  const formData = new FormData()
150
150
  formData.append('hello', 'world')
151
151
 
152
- await expect(getBodyByteLength(new Response(formData))).resolves.toBe(127)
152
+ await expect(getBodyByteLength(new Response(formData))).resolves.toBe(129)
153
153
  })
154
154
 
155
155
  it('calculates body length from the ReadableStream response body', async () => {
@@ -1,63 +0,0 @@
1
- import { Logger } from '@open-draft/logger';
2
- import { Emitter, Listener } from 'strict-event-emitter';
3
-
4
- type InterceptorEventMap = Record<string, any>;
5
- type InterceptorSubscription = () => void;
6
- /**
7
- * Request header name to detect when a single request
8
- * is being handled by nested interceptors (XHR -> ClientRequest).
9
- * Obscure by design to prevent collisions with user-defined headers.
10
- * Ideally, come up with the Interceptor-level mechanism for this.
11
- * @see https://github.com/mswjs/interceptors/issues/378
12
- */
13
- declare const INTERNAL_REQUEST_ID_HEADER_NAME = "x-interceptors-internal-request-id";
14
- declare function getGlobalSymbol<V>(symbol: Symbol): V | undefined;
15
- declare function deleteGlobalSymbol(symbol: Symbol): void;
16
- declare enum InterceptorReadyState {
17
- INACTIVE = "INACTIVE",
18
- APPLYING = "APPLYING",
19
- APPLIED = "APPLIED",
20
- DISPOSING = "DISPOSING",
21
- DISPOSED = "DISPOSED"
22
- }
23
- type ExtractEventNames<Events extends Record<string, any>> = Events extends Record<infer EventName, any> ? EventName : never;
24
- declare class Interceptor<Events extends InterceptorEventMap> {
25
- private readonly symbol;
26
- protected emitter: Emitter<Events>;
27
- protected subscriptions: Array<InterceptorSubscription>;
28
- protected logger: Logger;
29
- readyState: InterceptorReadyState;
30
- constructor(symbol: symbol);
31
- /**
32
- * Determine if this interceptor can be applied
33
- * in the current environment.
34
- */
35
- protected checkEnvironment(): boolean;
36
- /**
37
- * Apply this interceptor to the current process.
38
- * Returns an already running interceptor instance if it's present.
39
- */
40
- apply(): void;
41
- /**
42
- * Setup the module augments and stubs necessary for this interceptor.
43
- * This method is not run if there's a running interceptor instance
44
- * to prevent instantiating an interceptor multiple times.
45
- */
46
- protected setup(): void;
47
- /**
48
- * Listen to the interceptor's public events.
49
- */
50
- on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
51
- once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
52
- off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
53
- removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName): this;
54
- /**
55
- * Disposes of any side-effects this interceptor has introduced.
56
- */
57
- dispose(): void;
58
- private getInstance;
59
- private setInstance;
60
- private clearInstance;
61
- }
62
-
63
- export { ExtractEventNames as E, Interceptor as I, InterceptorEventMap as a, InterceptorSubscription as b, INTERNAL_REQUEST_ID_HEADER_NAME as c, deleteGlobalSymbol as d, InterceptorReadyState as e, getGlobalSymbol as g };
@@ -1,37 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/utils/emitAsync.ts
2
- async function emitAsync(emitter, eventName, ...data) {
3
- const listeners = emitter.listeners(eventName);
4
- if (listeners.length === 0) {
5
- return;
6
- }
7
- for (const listener of listeners) {
8
- await listener.apply(emitter, data);
9
- }
10
- }
11
-
12
- // src/utils/hasConfigurableGlobal.ts
13
- function hasConfigurableGlobal(propertyName) {
14
- const descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);
15
- if (typeof descriptor === "undefined") {
16
- return false;
17
- }
18
- if (typeof descriptor.get === "function" && typeof descriptor.get() === "undefined") {
19
- return false;
20
- }
21
- if (typeof descriptor.get === "undefined" && descriptor.value == null) {
22
- return false;
23
- }
24
- if (typeof descriptor.set === "undefined" && !descriptor.configurable) {
25
- console.error(
26
- `[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.`
27
- );
28
- return false;
29
- }
30
- return true;
31
- }
32
-
33
-
34
-
35
-
36
- exports.emitAsync = emitAsync; exports.hasConfigurableGlobal = hasConfigurableGlobal;
37
- //# sourceMappingURL=chunk-2HUMWGRD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/emitAsync.ts","../../src/utils/hasConfigurableGlobal.ts"],"names":[],"mappings":";AAOA,eAAsB,UAIpB,SACA,cACG,MACY;AACf,QAAM,YAAY,QAAQ,UAAU,SAAS;AAE7C,MAAI,UAAU,WAAW,GAAG;AAC1B;AAAA,EACF;AAEA,aAAW,YAAY,WAAW;AAChC,UAAM,SAAS,MAAM,SAAS,IAAI;AAAA,EACpC;AACF;;;ACpBO,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":["import { Emitter, EventMap } from 'strict-event-emitter'\n\n/**\n * Emits an event on the given emitter but executes\n * the listeners sequentially. This accounts for asynchronous\n * listeners (e.g. those having \"sleep\" and handling the request).\n */\nexport async function emitAsync<\n Events extends EventMap,\n EventName extends keyof Events\n>(\n emitter: Emitter<Events>,\n eventName: EventName,\n ...data: Events[EventName]\n): Promise<void> {\n const listeners = emitter.listeners(eventName)\n\n if (listeners.length === 0) {\n return\n }\n\n for (const listener of listeners) {\n await listener.apply(emitter, data)\n }\n}\n","/**\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"]}