@mswjs/interceptors 0.40.0 → 0.41.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.
Files changed (275) 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 +641 -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 +607 -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/WebSocketClientConnection.ts +3 -5
  155. package/src/interceptors/WebSocket/WebSocketOverride.ts +51 -5
  156. package/src/interceptors/WebSocket/WebSocketServerConnection.ts +3 -5
  157. package/src/interceptors/WebSocket/index.ts +4 -1
  158. package/src/interceptors/XMLHttpRequest/utils/getBodyByteLength.test.ts +2 -2
  159. package/lib/browser/Interceptor-af98b768.d.ts +0 -63
  160. package/lib/browser/chunk-2HUMWGRD.js +0 -37
  161. package/lib/browser/chunk-2HUMWGRD.js.map +0 -1
  162. package/lib/browser/chunk-2MCNQOY3.js +0 -851
  163. package/lib/browser/chunk-2MCNQOY3.js.map +0 -1
  164. package/lib/browser/chunk-57RIRQUY.js +0 -218
  165. package/lib/browser/chunk-57RIRQUY.js.map +0 -1
  166. package/lib/browser/chunk-6HYIRFX2.mjs +0 -22
  167. package/lib/browser/chunk-6HYIRFX2.mjs.map +0 -1
  168. package/lib/browser/chunk-FW45TRCB.js +0 -178
  169. package/lib/browser/chunk-FW45TRCB.js.map +0 -1
  170. package/lib/browser/chunk-JQ2S7G56.js +0 -185
  171. package/lib/browser/chunk-JQ2S7G56.js.map +0 -1
  172. package/lib/browser/chunk-LIKZF2VU.mjs +0 -218
  173. package/lib/browser/chunk-LIKZF2VU.mjs.map +0 -1
  174. package/lib/browser/chunk-LK6DILFK.js +0 -22
  175. package/lib/browser/chunk-LK6DILFK.js.map +0 -1
  176. package/lib/browser/chunk-MNT2FUCH.js +0 -301
  177. package/lib/browser/chunk-MNT2FUCH.js.map +0 -1
  178. package/lib/browser/chunk-VOUOVDAW.mjs +0 -178
  179. package/lib/browser/chunk-VOUOVDAW.mjs.map +0 -1
  180. package/lib/browser/chunk-VYSDLBSS.mjs +0 -37
  181. package/lib/browser/chunk-VYSDLBSS.mjs.map +0 -1
  182. package/lib/browser/chunk-WADP6VHN.mjs +0 -851
  183. package/lib/browser/chunk-WADP6VHN.mjs.map +0 -1
  184. package/lib/browser/chunk-WOWPV4GR.mjs +0 -301
  185. package/lib/browser/chunk-WOWPV4GR.mjs.map +0 -1
  186. package/lib/browser/chunk-Z5TSB3T6.mjs +0 -185
  187. package/lib/browser/chunk-Z5TSB3T6.mjs.map +0 -1
  188. package/lib/browser/glossary-f7ee1c9d.d.ts +0 -74
  189. package/lib/browser/index.d.ts +0 -82
  190. package/lib/browser/index.js +0 -83
  191. package/lib/browser/index.js.map +0 -1
  192. package/lib/browser/interceptors/WebSocket/index.d.ts +0 -271
  193. package/lib/browser/interceptors/WebSocket/index.js +0 -721
  194. package/lib/browser/interceptors/WebSocket/index.js.map +0 -1
  195. package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +0 -14
  196. package/lib/browser/interceptors/XMLHttpRequest/index.js +0 -12
  197. package/lib/browser/interceptors/XMLHttpRequest/index.js.map +0 -1
  198. package/lib/browser/interceptors/XMLHttpRequest/index.mjs.map +0 -1
  199. package/lib/browser/interceptors/fetch/index.d.ts +0 -13
  200. package/lib/browser/interceptors/fetch/index.js +0 -11
  201. package/lib/browser/interceptors/fetch/index.js.map +0 -1
  202. package/lib/browser/interceptors/fetch/index.mjs.map +0 -1
  203. package/lib/browser/presets/browser.d.ts +0 -14
  204. package/lib/browser/presets/browser.js +0 -21
  205. package/lib/browser/presets/browser.js.map +0 -1
  206. package/lib/node/BatchInterceptor-cb9a2eee.d.ts +0 -24
  207. package/lib/node/Interceptor-dc0a39b5.d.ts +0 -136
  208. package/lib/node/RemoteHttpInterceptor.d.ts +0 -44
  209. package/lib/node/RemoteHttpInterceptor.js +0 -197
  210. package/lib/node/RemoteHttpInterceptor.js.map +0 -1
  211. package/lib/node/chunk-5UGIB6OX.mjs +0 -1126
  212. package/lib/node/chunk-5UGIB6OX.mjs.map +0 -1
  213. package/lib/node/chunk-5V3SIIW2.mjs +0 -853
  214. package/lib/node/chunk-5V3SIIW2.mjs.map +0 -1
  215. package/lib/node/chunk-6B3ZQOO2.js +0 -853
  216. package/lib/node/chunk-6B3ZQOO2.js.map +0 -1
  217. package/lib/node/chunk-6HYIRFX2.mjs +0 -22
  218. package/lib/node/chunk-6HYIRFX2.mjs.map +0 -1
  219. package/lib/node/chunk-6YM4PLBI.mjs +0 -7
  220. package/lib/node/chunk-6YM4PLBI.mjs.map +0 -1
  221. package/lib/node/chunk-73NOP3T5.js +0 -7
  222. package/lib/node/chunk-73NOP3T5.js.map +0 -1
  223. package/lib/node/chunk-7Q53NNPV.js +0 -189
  224. package/lib/node/chunk-7Q53NNPV.js.map +0 -1
  225. package/lib/node/chunk-DOWWQYXZ.js +0 -369
  226. package/lib/node/chunk-DOWWQYXZ.js.map +0 -1
  227. package/lib/node/chunk-FRZQJNBO.js +0 -318
  228. package/lib/node/chunk-FRZQJNBO.js.map +0 -1
  229. package/lib/node/chunk-GKN5RBVR.mjs +0 -32
  230. package/lib/node/chunk-GKN5RBVR.mjs.map +0 -1
  231. package/lib/node/chunk-J5MULIHT.js +0 -51
  232. package/lib/node/chunk-J5MULIHT.js.map +0 -1
  233. package/lib/node/chunk-JXGB54LE.mjs +0 -369
  234. package/lib/node/chunk-JXGB54LE.mjs.map +0 -1
  235. package/lib/node/chunk-LK6DILFK.js +0 -22
  236. package/lib/node/chunk-LK6DILFK.js.map +0 -1
  237. package/lib/node/chunk-OFW5L5ET.mjs +0 -318
  238. package/lib/node/chunk-OFW5L5ET.mjs.map +0 -1
  239. package/lib/node/chunk-PFGO5BSM.js +0 -25
  240. package/lib/node/chunk-PFGO5BSM.js.map +0 -1
  241. package/lib/node/chunk-R6T7CL5E.mjs +0 -189
  242. package/lib/node/chunk-R6T7CL5E.mjs.map +0 -1
  243. package/lib/node/chunk-SQ6RHTJR.mjs +0 -51
  244. package/lib/node/chunk-SQ6RHTJR.mjs.map +0 -1
  245. package/lib/node/chunk-SRMAQGPM.js +0 -30
  246. package/lib/node/chunk-SRMAQGPM.js.map +0 -1
  247. package/lib/node/chunk-T3TW4P64.js +0 -32
  248. package/lib/node/chunk-T3TW4P64.js.map +0 -1
  249. package/lib/node/chunk-TX5GBTFY.mjs +0 -25
  250. package/lib/node/chunk-TX5GBTFY.mjs.map +0 -1
  251. package/lib/node/chunk-VYO5XDY2.js +0 -1126
  252. package/lib/node/chunk-VYO5XDY2.js.map +0 -1
  253. package/lib/node/chunk-YWNGXXUQ.mjs +0 -30
  254. package/lib/node/chunk-YWNGXXUQ.mjs.map +0 -1
  255. package/lib/node/index.d.ts +0 -61
  256. package/lib/node/index.js +0 -45
  257. package/lib/node/index.js.map +0 -1
  258. package/lib/node/interceptors/ClientRequest/index.d.ts +0 -110
  259. package/lib/node/interceptors/ClientRequest/index.js +0 -11
  260. package/lib/node/interceptors/ClientRequest/index.js.map +0 -1
  261. package/lib/node/interceptors/ClientRequest/index.mjs.map +0 -1
  262. package/lib/node/interceptors/XMLHttpRequest/index.d.ts +0 -13
  263. package/lib/node/interceptors/XMLHttpRequest/index.js +0 -13
  264. package/lib/node/interceptors/XMLHttpRequest/index.js.map +0 -1
  265. package/lib/node/interceptors/XMLHttpRequest/index.mjs.map +0 -1
  266. package/lib/node/interceptors/fetch/index.d.ts +0 -12
  267. package/lib/node/interceptors/fetch/index.js +0 -12
  268. package/lib/node/interceptors/fetch/index.js.map +0 -1
  269. package/lib/node/interceptors/fetch/index.mjs.map +0 -1
  270. package/lib/node/presets/node.d.ts +0 -15
  271. package/lib/node/presets/node.js +0 -27
  272. package/lib/node/presets/node.js.map +0 -1
  273. package/lib/node/utils/node/index.js +0 -10
  274. package/lib/node/utils/node/index.js.map +0 -1
  275. package/lib/node/utils/node/index.mjs.map +0 -1
@@ -0,0 +1,87 @@
1
+ import { a as RequestControllerSource, i as RequestController, n as IS_PATCHED_MODULE, r as RequestCredentials, t as HttpRequestEventMap } from "./glossary-BdLS4k1H.cjs";
2
+ import { a as InterceptorReadyState, c as getGlobalSymbol, i as InterceptorEventMap, n as INTERNAL_REQUEST_ID_HEADER_NAME, o as InterceptorSubscription, r as Interceptor, s as deleteGlobalSymbol, t as ExtractEventNames } from "./Interceptor-Deczogc8.cjs";
3
+ import { EventMap, Listener } from "strict-event-emitter";
4
+
5
+ //#region src/BatchInterceptor.d.ts
6
+ interface BatchInterceptorOptions<InterceptorList extends ReadonlyArray<Interceptor<any>>> {
7
+ name: string;
8
+ interceptors: InterceptorList;
9
+ }
10
+ type ExtractEventMapType<InterceptorList extends ReadonlyArray<Interceptor<any>>> = InterceptorList extends ReadonlyArray<infer InterceptorType> ? InterceptorType extends Interceptor<infer EventMap> ? EventMap : never : never;
11
+ /**
12
+ * A batch interceptor that exposes a single interface
13
+ * to apply and operate with multiple interceptors at once.
14
+ */
15
+ declare class BatchInterceptor<InterceptorList extends ReadonlyArray<Interceptor<any>>, Events extends EventMap = ExtractEventMapType<InterceptorList>> extends Interceptor<Events> {
16
+ static symbol: symbol;
17
+ private interceptors;
18
+ constructor(options: BatchInterceptorOptions<InterceptorList>);
19
+ protected setup(): void;
20
+ on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
21
+ once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
22
+ off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
23
+ removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName | undefined): this;
24
+ }
25
+ //#endregion
26
+ //#region src/createRequestId.d.ts
27
+ /**
28
+ * Generate a random ID string to represent a request.
29
+ * @example
30
+ * createRequestId()
31
+ * // "f774b6c9c600f"
32
+ */
33
+ declare function createRequestId(): string;
34
+ //#endregion
35
+ //#region src/utils/getCleanUrl.d.ts
36
+ /**
37
+ * Removes query parameters and hashes from a given URL.
38
+ */
39
+ declare function getCleanUrl(url: URL, isAbsolute?: boolean): string;
40
+ //#endregion
41
+ //#region src/utils/bufferUtils.d.ts
42
+ declare function encodeBuffer(text: string): Uint8Array;
43
+ declare function decodeBuffer(buffer: ArrayBuffer, encoding?: string): string;
44
+ //#endregion
45
+ //#region src/utils/fetchUtils.d.ts
46
+ interface FetchResponseInit extends ResponseInit {
47
+ url?: string;
48
+ }
49
+ declare class FetchResponse extends Response {
50
+ /**
51
+ * Response status codes for responses that cannot have body.
52
+ * @see https://fetch.spec.whatwg.org/#statuses
53
+ */
54
+ static readonly STATUS_CODES_WITHOUT_BODY: number[];
55
+ static readonly STATUS_CODES_WITH_REDIRECT: number[];
56
+ static isConfigurableStatusCode(status: number): boolean;
57
+ static isRedirectResponse(status: number): boolean;
58
+ /**
59
+ * Returns a boolean indicating whether the given response status
60
+ * code represents a response that can have a body.
61
+ */
62
+ static isResponseWithBody(status: number): boolean;
63
+ static setUrl(url: string | undefined, response: Response): void;
64
+ /**
65
+ * Parses the given raw HTTP headers into a Fetch API `Headers` instance.
66
+ */
67
+ static parseRawHeaders(rawHeaders: Array<string>): Headers;
68
+ constructor(body?: BodyInit | null, init?: FetchResponseInit);
69
+ }
70
+ //#endregion
71
+ //#region src/getRawRequest.d.ts
72
+ /**
73
+ * Returns a raw request instance associated with this request.
74
+ *
75
+ * @example
76
+ * interceptor.on('request', ({ request }) => {
77
+ * const rawRequest = getRawRequest(request)
78
+ *
79
+ * if (rawRequest instanceof http.ClientRequest) {
80
+ * console.log(rawRequest.rawHeaders)
81
+ * }
82
+ * })
83
+ */
84
+ declare function getRawRequest(request: Request): unknown | undefined;
85
+ //#endregion
86
+ export { BatchInterceptor, BatchInterceptorOptions, ExtractEventMapType, ExtractEventNames, FetchResponse, HttpRequestEventMap, INTERNAL_REQUEST_ID_HEADER_NAME, IS_PATCHED_MODULE, Interceptor, InterceptorEventMap, InterceptorReadyState, InterceptorSubscription, RequestController, type RequestControllerSource, RequestCredentials, createRequestId, decodeBuffer, deleteGlobalSymbol, encodeBuffer, getCleanUrl, getGlobalSymbol, getRawRequest };
87
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,87 @@
1
+ import { a as RequestControllerSource, i as RequestController, n as IS_PATCHED_MODULE, r as RequestCredentials, t as HttpRequestEventMap } from "./glossary-gEEJhK4S.mjs";
2
+ import { a as InterceptorReadyState, c as getGlobalSymbol, i as InterceptorEventMap, n as INTERNAL_REQUEST_ID_HEADER_NAME, o as InterceptorSubscription, r as Interceptor, s as deleteGlobalSymbol, t as ExtractEventNames } from "./Interceptor-2mUoKZL1.mjs";
3
+ import { EventMap, Listener } from "strict-event-emitter";
4
+
5
+ //#region src/BatchInterceptor.d.ts
6
+ interface BatchInterceptorOptions<InterceptorList extends ReadonlyArray<Interceptor<any>>> {
7
+ name: string;
8
+ interceptors: InterceptorList;
9
+ }
10
+ type ExtractEventMapType<InterceptorList extends ReadonlyArray<Interceptor<any>>> = InterceptorList extends ReadonlyArray<infer InterceptorType> ? InterceptorType extends Interceptor<infer EventMap> ? EventMap : never : never;
11
+ /**
12
+ * A batch interceptor that exposes a single interface
13
+ * to apply and operate with multiple interceptors at once.
14
+ */
15
+ declare class BatchInterceptor<InterceptorList extends ReadonlyArray<Interceptor<any>>, Events extends EventMap = ExtractEventMapType<InterceptorList>> extends Interceptor<Events> {
16
+ static symbol: symbol;
17
+ private interceptors;
18
+ constructor(options: BatchInterceptorOptions<InterceptorList>);
19
+ protected setup(): void;
20
+ on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
21
+ once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
22
+ off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
23
+ removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName | undefined): this;
24
+ }
25
+ //#endregion
26
+ //#region src/createRequestId.d.ts
27
+ /**
28
+ * Generate a random ID string to represent a request.
29
+ * @example
30
+ * createRequestId()
31
+ * // "f774b6c9c600f"
32
+ */
33
+ declare function createRequestId(): string;
34
+ //#endregion
35
+ //#region src/utils/getCleanUrl.d.ts
36
+ /**
37
+ * Removes query parameters and hashes from a given URL.
38
+ */
39
+ declare function getCleanUrl(url: URL, isAbsolute?: boolean): string;
40
+ //#endregion
41
+ //#region src/utils/bufferUtils.d.ts
42
+ declare function encodeBuffer(text: string): Uint8Array;
43
+ declare function decodeBuffer(buffer: ArrayBuffer, encoding?: string): string;
44
+ //#endregion
45
+ //#region src/utils/fetchUtils.d.ts
46
+ interface FetchResponseInit extends ResponseInit {
47
+ url?: string;
48
+ }
49
+ declare class FetchResponse extends Response {
50
+ /**
51
+ * Response status codes for responses that cannot have body.
52
+ * @see https://fetch.spec.whatwg.org/#statuses
53
+ */
54
+ static readonly STATUS_CODES_WITHOUT_BODY: number[];
55
+ static readonly STATUS_CODES_WITH_REDIRECT: number[];
56
+ static isConfigurableStatusCode(status: number): boolean;
57
+ static isRedirectResponse(status: number): boolean;
58
+ /**
59
+ * Returns a boolean indicating whether the given response status
60
+ * code represents a response that can have a body.
61
+ */
62
+ static isResponseWithBody(status: number): boolean;
63
+ static setUrl(url: string | undefined, response: Response): void;
64
+ /**
65
+ * Parses the given raw HTTP headers into a Fetch API `Headers` instance.
66
+ */
67
+ static parseRawHeaders(rawHeaders: Array<string>): Headers;
68
+ constructor(body?: BodyInit | null, init?: FetchResponseInit);
69
+ }
70
+ //#endregion
71
+ //#region src/getRawRequest.d.ts
72
+ /**
73
+ * Returns a raw request instance associated with this request.
74
+ *
75
+ * @example
76
+ * interceptor.on('request', ({ request }) => {
77
+ * const rawRequest = getRawRequest(request)
78
+ *
79
+ * if (rawRequest instanceof http.ClientRequest) {
80
+ * console.log(rawRequest.rawHeaders)
81
+ * }
82
+ * })
83
+ */
84
+ declare function getRawRequest(request: Request): unknown | undefined;
85
+ //#endregion
86
+ export { BatchInterceptor, BatchInterceptorOptions, ExtractEventMapType, ExtractEventNames, FetchResponse, HttpRequestEventMap, INTERNAL_REQUEST_ID_HEADER_NAME, IS_PATCHED_MODULE, Interceptor, InterceptorEventMap, InterceptorReadyState, InterceptorSubscription, RequestController, type RequestControllerSource, RequestCredentials, createRequestId, decodeBuffer, deleteGlobalSymbol, encodeBuffer, getCleanUrl, getGlobalSymbol, getRawRequest };
87
+ //# sourceMappingURL=index.d.mts.map
@@ -1,83 +1,55 @@
1
- import {
2
- decodeBuffer,
3
- encodeBuffer
4
- } from "./chunk-6HYIRFX2.mjs";
5
- import {
6
- FetchResponse,
7
- IS_PATCHED_MODULE,
8
- RequestController,
9
- getRawRequest
10
- } from "./chunk-LIKZF2VU.mjs";
11
- import {
12
- INTERNAL_REQUEST_ID_HEADER_NAME,
13
- Interceptor,
14
- InterceptorReadyState,
15
- createRequestId,
16
- deleteGlobalSymbol,
17
- getGlobalSymbol
18
- } from "./chunk-Z5TSB3T6.mjs";
1
+ import { a as RequestController, r as FetchResponse, s as IS_PATCHED_MODULE, t as getRawRequest } from "./getRawRequest-BTaNLFr0.mjs";
2
+ import { a as deleteGlobalSymbol, i as InterceptorReadyState, n as INTERNAL_REQUEST_ID_HEADER_NAME, o as getGlobalSymbol, r as Interceptor, t as createRequestId } from "./createRequestId-DQcIlohW.mjs";
3
+ import { n as encodeBuffer, t as decodeBuffer } from "./bufferUtils-BiiO6HZv.mjs";
19
4
 
20
- // src/BatchInterceptor.ts
21
- var BatchInterceptor = class extends Interceptor {
22
- constructor(options) {
23
- BatchInterceptor.symbol = Symbol(options.name);
24
- super(BatchInterceptor.symbol);
25
- this.interceptors = options.interceptors;
26
- }
27
- setup() {
28
- const logger = this.logger.extend("setup");
29
- logger.info("applying all %d interceptors...", this.interceptors.length);
30
- for (const interceptor of this.interceptors) {
31
- logger.info('applying "%s" interceptor...', interceptor.constructor.name);
32
- interceptor.apply();
33
- logger.info("adding interceptor dispose subscription");
34
- this.subscriptions.push(() => interceptor.dispose());
35
- }
36
- }
37
- on(event, listener) {
38
- for (const interceptor of this.interceptors) {
39
- interceptor.on(event, listener);
40
- }
41
- return this;
42
- }
43
- once(event, listener) {
44
- for (const interceptor of this.interceptors) {
45
- interceptor.once(event, listener);
46
- }
47
- return this;
48
- }
49
- off(event, listener) {
50
- for (const interceptor of this.interceptors) {
51
- interceptor.off(event, listener);
52
- }
53
- return this;
54
- }
55
- removeAllListeners(event) {
56
- for (const interceptors of this.interceptors) {
57
- interceptors.removeAllListeners(event);
58
- }
59
- return this;
60
- }
5
+ //#region src/BatchInterceptor.ts
6
+ /**
7
+ * A batch interceptor that exposes a single interface
8
+ * to apply and operate with multiple interceptors at once.
9
+ */
10
+ var BatchInterceptor = class BatchInterceptor extends Interceptor {
11
+ constructor(options) {
12
+ BatchInterceptor.symbol = Symbol(options.name);
13
+ super(BatchInterceptor.symbol);
14
+ this.interceptors = options.interceptors;
15
+ }
16
+ setup() {
17
+ const logger = this.logger.extend("setup");
18
+ logger.info("applying all %d interceptors...", this.interceptors.length);
19
+ for (const interceptor of this.interceptors) {
20
+ logger.info("applying \"%s\" interceptor...", interceptor.constructor.name);
21
+ interceptor.apply();
22
+ logger.info("adding interceptor dispose subscription");
23
+ this.subscriptions.push(() => interceptor.dispose());
24
+ }
25
+ }
26
+ on(event, listener) {
27
+ for (const interceptor of this.interceptors) interceptor.on(event, listener);
28
+ return this;
29
+ }
30
+ once(event, listener) {
31
+ for (const interceptor of this.interceptors) interceptor.once(event, listener);
32
+ return this;
33
+ }
34
+ off(event, listener) {
35
+ for (const interceptor of this.interceptors) interceptor.off(event, listener);
36
+ return this;
37
+ }
38
+ removeAllListeners(event) {
39
+ for (const interceptors of this.interceptors) interceptors.removeAllListeners(event);
40
+ return this;
41
+ }
61
42
  };
62
43
 
63
- // src/utils/getCleanUrl.ts
44
+ //#endregion
45
+ //#region src/utils/getCleanUrl.ts
46
+ /**
47
+ * Removes query parameters and hashes from a given URL.
48
+ */
64
49
  function getCleanUrl(url, isAbsolute = true) {
65
- return [isAbsolute && url.origin, url.pathname].filter(Boolean).join("");
50
+ return [isAbsolute && url.origin, url.pathname].filter(Boolean).join("");
66
51
  }
67
- export {
68
- BatchInterceptor,
69
- FetchResponse,
70
- INTERNAL_REQUEST_ID_HEADER_NAME,
71
- IS_PATCHED_MODULE,
72
- Interceptor,
73
- InterceptorReadyState,
74
- RequestController,
75
- createRequestId,
76
- decodeBuffer,
77
- deleteGlobalSymbol,
78
- encodeBuffer,
79
- getCleanUrl,
80
- getGlobalSymbol,
81
- getRawRequest
82
- };
52
+
53
+ //#endregion
54
+ export { BatchInterceptor, FetchResponse, INTERNAL_REQUEST_ID_HEADER_NAME, IS_PATCHED_MODULE, Interceptor, InterceptorReadyState, RequestController, createRequestId, decodeBuffer, deleteGlobalSymbol, encodeBuffer, getCleanUrl, getGlobalSymbol, getRawRequest };
83
55
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/BatchInterceptor.ts","../../src/utils/getCleanUrl.ts"],"sourcesContent":["import { EventMap, Listener } from 'strict-event-emitter'\nimport { Interceptor, ExtractEventNames } from './Interceptor'\n\nexport interface BatchInterceptorOptions<\n InterceptorList extends ReadonlyArray<Interceptor<any>>\n> {\n name: string\n interceptors: InterceptorList\n}\n\nexport type ExtractEventMapType<\n InterceptorList extends ReadonlyArray<Interceptor<any>>\n> = InterceptorList extends ReadonlyArray<infer InterceptorType>\n ? InterceptorType extends Interceptor<infer EventMap>\n ? EventMap\n : never\n : never\n\n/**\n * A batch interceptor that exposes a single interface\n * to apply and operate with multiple interceptors at once.\n */\nexport class BatchInterceptor<\n InterceptorList extends ReadonlyArray<Interceptor<any>>,\n Events extends EventMap = ExtractEventMapType<InterceptorList>\n> extends Interceptor<Events> {\n static symbol: symbol\n\n private interceptors: InterceptorList\n\n constructor(options: BatchInterceptorOptions<InterceptorList>) {\n BatchInterceptor.symbol = Symbol(options.name)\n super(BatchInterceptor.symbol)\n this.interceptors = options.interceptors\n }\n\n protected setup() {\n const logger = this.logger.extend('setup')\n\n logger.info('applying all %d interceptors...', this.interceptors.length)\n\n for (const interceptor of this.interceptors) {\n logger.info('applying \"%s\" interceptor...', interceptor.constructor.name)\n interceptor.apply()\n\n logger.info('adding interceptor dispose subscription')\n this.subscriptions.push(() => interceptor.dispose())\n }\n }\n\n public on<EventName extends ExtractEventNames<Events>>(\n event: EventName,\n listener: Listener<Events[EventName]>\n ): this {\n // Instead of adding a listener to the batch interceptor,\n // propagate the listener to each of the individual interceptors.\n for (const interceptor of this.interceptors) {\n interceptor.on(event, listener)\n }\n\n return this\n }\n\n public once<EventName extends ExtractEventNames<Events>>(\n event: EventName,\n listener: Listener<Events[EventName]>\n ): this {\n for (const interceptor of this.interceptors) {\n interceptor.once(event, listener)\n }\n\n return this\n }\n\n public off<EventName extends ExtractEventNames<Events>>(\n event: EventName,\n listener: Listener<Events[EventName]>\n ): this {\n for (const interceptor of this.interceptors) {\n interceptor.off(event, listener)\n }\n\n return this\n }\n\n public removeAllListeners<EventName extends ExtractEventNames<Events>>(\n event?: EventName | undefined\n ): this {\n for (const interceptors of this.interceptors) {\n interceptors.removeAllListeners(event)\n }\n\n return this\n }\n}\n","/**\n * Removes query parameters and hashes from a given URL.\n */\nexport function getCleanUrl(url: URL, isAbsolute: boolean = true): string {\n return [isAbsolute && url.origin, url.pathname].filter(Boolean).join('')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBO,IAAM,mBAAN,cAGG,YAAoB;AAAA,EAK5B,YAAY,SAAmD;AAC7D,qBAAiB,SAAS,OAAO,QAAQ,IAAI;AAC7C,UAAM,iBAAiB,MAAM;AAC7B,SAAK,eAAe,QAAQ;AAAA,EAC9B;AAAA,EAEU,QAAQ;AAChB,UAAM,SAAS,KAAK,OAAO,OAAO,OAAO;AAEzC,WAAO,KAAK,mCAAmC,KAAK,aAAa,MAAM;AAEvE,eAAW,eAAe,KAAK,cAAc;AAC3C,aAAO,KAAK,gCAAgC,YAAY,YAAY,IAAI;AACxE,kBAAY,MAAM;AAElB,aAAO,KAAK,yCAAyC;AACrD,WAAK,cAAc,KAAK,MAAM,YAAY,QAAQ,CAAC;AAAA,IACrD;AAAA,EACF;AAAA,EAEO,GACL,OACA,UACM;AAGN,eAAW,eAAe,KAAK,cAAc;AAC3C,kBAAY,GAAG,OAAO,QAAQ;AAAA,IAChC;AAEA,WAAO;AAAA,EACT;AAAA,EAEO,KACL,OACA,UACM;AACN,eAAW,eAAe,KAAK,cAAc;AAC3C,kBAAY,KAAK,OAAO,QAAQ;AAAA,IAClC;AAEA,WAAO;AAAA,EACT;AAAA,EAEO,IACL,OACA,UACM;AACN,eAAW,eAAe,KAAK,cAAc;AAC3C,kBAAY,IAAI,OAAO,QAAQ;AAAA,IACjC;AAEA,WAAO;AAAA,EACT;AAAA,EAEO,mBACL,OACM;AACN,eAAW,gBAAgB,KAAK,cAAc;AAC5C,mBAAa,mBAAmB,KAAK;AAAA,IACvC;AAEA,WAAO;AAAA,EACT;AACF;;;AC3FO,SAAS,YAAY,KAAU,aAAsB,MAAc;AACxE,SAAO,CAAC,cAAc,IAAI,QAAQ,IAAI,QAAQ,EAAE,OAAO,OAAO,EAAE,KAAK,EAAE;AACzE;","names":[]}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/BatchInterceptor.ts","../../src/utils/getCleanUrl.ts"],"sourcesContent":["import { EventMap, Listener } from 'strict-event-emitter'\nimport { Interceptor, ExtractEventNames } from './Interceptor'\n\nexport interface BatchInterceptorOptions<\n InterceptorList extends ReadonlyArray<Interceptor<any>>\n> {\n name: string\n interceptors: InterceptorList\n}\n\nexport type ExtractEventMapType<\n InterceptorList extends ReadonlyArray<Interceptor<any>>\n> = InterceptorList extends ReadonlyArray<infer InterceptorType>\n ? InterceptorType extends Interceptor<infer EventMap>\n ? EventMap\n : never\n : never\n\n/**\n * A batch interceptor that exposes a single interface\n * to apply and operate with multiple interceptors at once.\n */\nexport class BatchInterceptor<\n InterceptorList extends ReadonlyArray<Interceptor<any>>,\n Events extends EventMap = ExtractEventMapType<InterceptorList>\n> extends Interceptor<Events> {\n static symbol: symbol\n\n private interceptors: InterceptorList\n\n constructor(options: BatchInterceptorOptions<InterceptorList>) {\n BatchInterceptor.symbol = Symbol(options.name)\n super(BatchInterceptor.symbol)\n this.interceptors = options.interceptors\n }\n\n protected setup() {\n const logger = this.logger.extend('setup')\n\n logger.info('applying all %d interceptors...', this.interceptors.length)\n\n for (const interceptor of this.interceptors) {\n logger.info('applying \"%s\" interceptor...', interceptor.constructor.name)\n interceptor.apply()\n\n logger.info('adding interceptor dispose subscription')\n this.subscriptions.push(() => interceptor.dispose())\n }\n }\n\n public on<EventName extends ExtractEventNames<Events>>(\n event: EventName,\n listener: Listener<Events[EventName]>\n ): this {\n // Instead of adding a listener to the batch interceptor,\n // propagate the listener to each of the individual interceptors.\n for (const interceptor of this.interceptors) {\n interceptor.on(event, listener)\n }\n\n return this\n }\n\n public once<EventName extends ExtractEventNames<Events>>(\n event: EventName,\n listener: Listener<Events[EventName]>\n ): this {\n for (const interceptor of this.interceptors) {\n interceptor.once(event, listener)\n }\n\n return this\n }\n\n public off<EventName extends ExtractEventNames<Events>>(\n event: EventName,\n listener: Listener<Events[EventName]>\n ): this {\n for (const interceptor of this.interceptors) {\n interceptor.off(event, listener)\n }\n\n return this\n }\n\n public removeAllListeners<EventName extends ExtractEventNames<Events>>(\n event?: EventName | undefined\n ): this {\n for (const interceptors of this.interceptors) {\n interceptors.removeAllListeners(event)\n }\n\n return this\n }\n}\n","/**\n * Removes query parameters and hashes from a given URL.\n */\nexport function getCleanUrl(url: URL, isAbsolute: boolean = true): string {\n return [isAbsolute && url.origin, url.pathname].filter(Boolean).join('')\n}\n"],"mappings":";;;;;;;;;AAsBA,IAAa,mBAAb,MAAa,yBAGH,YAAoB;CAK5B,YAAY,SAAmD;AAC7D,mBAAiB,SAAS,OAAO,QAAQ,KAAK;AAC9C,QAAM,iBAAiB,OAAO;AAC9B,OAAK,eAAe,QAAQ;;CAG9B,AAAU,QAAQ;EAChB,MAAM,SAAS,KAAK,OAAO,OAAO,QAAQ;AAE1C,SAAO,KAAK,mCAAmC,KAAK,aAAa,OAAO;AAExE,OAAK,MAAM,eAAe,KAAK,cAAc;AAC3C,UAAO,KAAK,kCAAgC,YAAY,YAAY,KAAK;AACzE,eAAY,OAAO;AAEnB,UAAO,KAAK,0CAA0C;AACtD,QAAK,cAAc,WAAW,YAAY,SAAS,CAAC;;;CAIxD,AAAO,GACL,OACA,UACM;AAGN,OAAK,MAAM,eAAe,KAAK,aAC7B,aAAY,GAAG,OAAO,SAAS;AAGjC,SAAO;;CAGT,AAAO,KACL,OACA,UACM;AACN,OAAK,MAAM,eAAe,KAAK,aAC7B,aAAY,KAAK,OAAO,SAAS;AAGnC,SAAO;;CAGT,AAAO,IACL,OACA,UACM;AACN,OAAK,MAAM,eAAe,KAAK,aAC7B,aAAY,IAAI,OAAO,SAAS;AAGlC,SAAO;;CAGT,AAAO,mBACL,OACM;AACN,OAAK,MAAM,gBAAgB,KAAK,aAC9B,cAAa,mBAAmB,MAAM;AAGxC,SAAO;;;;;;;;;ACzFX,SAAgB,YAAY,KAAU,aAAsB,MAAc;AACxE,QAAO,CAAC,cAAc,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG"}