msw 2.15.0 → 3.0.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 (765) hide show
  1. package/README.md +8 -0
  2. package/cli/init.js +12 -9
  3. package/cli/invariant.js +2 -2
  4. package/lib/_chunks/attach-sibling-handlers.js +360 -0
  5. package/lib/_chunks/attach-sibling-handlers.js.map +1 -0
  6. package/lib/_chunks/colors.js +18 -0
  7. package/lib/_chunks/colors.js.map +1 -0
  8. package/lib/_chunks/cookie-store.js +348 -0
  9. package/lib/_chunks/cookie-store.js.map +1 -0
  10. package/lib/_chunks/execute-handlers.js +29 -0
  11. package/lib/_chunks/execute-handlers.js.map +1 -0
  12. package/lib/_chunks/handlers-controller.d.ts +262 -0
  13. package/lib/_chunks/has-ref-counted.js +9 -0
  14. package/lib/_chunks/has-ref-counted.js.map +1 -0
  15. package/lib/_chunks/http-handler.d.ts +72 -0
  16. package/lib/_chunks/http-handler.js +182 -0
  17. package/lib/_chunks/http-handler.js.map +1 -0
  18. package/lib/_chunks/http-response.js +137 -0
  19. package/lib/_chunks/http-response.js.map +1 -0
  20. package/lib/{core → _chunks}/http.d.ts +15 -18
  21. package/lib/_chunks/http.js +30 -0
  22. package/lib/_chunks/http.js.map +1 -0
  23. package/lib/_chunks/interceptor-source.d.ts +163 -0
  24. package/lib/_chunks/interceptor-source.js +756 -0
  25. package/lib/_chunks/interceptor-source.js.map +1 -0
  26. package/lib/_chunks/is-object.js +11 -0
  27. package/lib/_chunks/is-object.js.map +1 -0
  28. package/lib/_chunks/match-request-url.d.ts +14 -0
  29. package/lib/_chunks/request-handler.d.ts +295 -0
  30. package/lib/_chunks/request-handler.js +369 -0
  31. package/lib/_chunks/request-handler.js.map +1 -0
  32. package/lib/_chunks/shared-options.d.ts +20 -0
  33. package/lib/_chunks/sse.d.ts +95 -0
  34. package/lib/_chunks/sse.js +599 -0
  35. package/lib/_chunks/sse.js.map +1 -0
  36. package/lib/_chunks/symbols.js +22 -0
  37. package/lib/_chunks/symbols.js.map +1 -0
  38. package/lib/_chunks/websocket-upgrade.js +46 -0
  39. package/lib/_chunks/websocket-upgrade.js.map +1 -0
  40. package/lib/_chunks/ws.d.ts +133 -0
  41. package/lib/_chunks/ws.js +293 -0
  42. package/lib/_chunks/ws.js.map +1 -0
  43. package/lib/browser/index.d.ts +225 -96
  44. package/lib/browser/index.js +555 -3694
  45. package/lib/browser/index.js.map +1 -1
  46. package/lib/core/experimental/index.d.ts +3 -17
  47. package/lib/core/experimental/index.js +2 -38
  48. package/lib/core/index.d.ts +15 -27
  49. package/lib/core/index.js +15 -64
  50. package/lib/graphql/index.d.ts +550 -0
  51. package/lib/graphql/index.js +1244 -0
  52. package/lib/graphql/index.js.map +1 -0
  53. package/lib/http/index.d.ts +4 -0
  54. package/lib/http/index.js +4 -0
  55. package/lib/iife/index.js +35857 -28422
  56. package/lib/iife/index.js.map +1 -1
  57. package/lib/mockServiceWorker.js +185 -86
  58. package/lib/node/index.d.ts +79 -104
  59. package/lib/node/index.js +103 -201
  60. package/lib/node/index.js.map +1 -1
  61. package/lib/sse/index.d.ts +2 -0
  62. package/lib/sse/index.js +2 -0
  63. package/lib/{core → utils}/bypass.d.ts +5 -4
  64. package/lib/utils/bypass.js +41 -0
  65. package/lib/utils/bypass.js.map +1 -0
  66. package/lib/utils/delay.d.ts +15 -0
  67. package/lib/utils/delay.js +45 -0
  68. package/lib/utils/delay.js.map +1 -0
  69. package/lib/utils/get-clean-url-string.d.ts +9 -0
  70. package/lib/utils/get-clean-url-string.js +15 -0
  71. package/lib/utils/get-clean-url-string.js.map +1 -0
  72. package/lib/utils/get-response.d.ts +13 -0
  73. package/lib/utils/get-response.js +23 -0
  74. package/lib/utils/get-response.js.map +1 -0
  75. package/lib/utils/is-common-asset-request.d.ts +22 -0
  76. package/lib/utils/is-common-asset-request.js +31 -0
  77. package/lib/utils/is-common-asset-request.js.map +1 -0
  78. package/lib/utils/passthrough.d.ts +31 -0
  79. package/lib/utils/passthrough.js +41 -0
  80. package/lib/utils/passthrough.js.map +1 -0
  81. package/lib/vite/index.d.ts +44 -0
  82. package/lib/vite/index.js +90 -0
  83. package/lib/vite/index.js.map +1 -0
  84. package/lib/vite/runtime.d.ts +6 -0
  85. package/lib/vite/runtime.js +77 -0
  86. package/lib/vite/runtime.js.map +1 -0
  87. package/lib/ws/index.d.ts +4 -0
  88. package/lib/ws/index.js +4 -0
  89. package/package.json +93 -201
  90. package/src/browser/default-network-options.ts +31 -0
  91. package/src/browser/glossary.ts +11 -23
  92. package/src/browser/index.ts +5 -1
  93. package/src/browser/setup-worker.ts +15 -68
  94. package/src/browser/sources/fallback-http-source.ts +1 -1
  95. package/src/browser/sources/service-worker-source.ts +76 -69
  96. package/src/browser/tsconfig.browser.json +4 -2
  97. package/src/browser/utils/{deserializeRequest.ts → deserialize-request.ts} +3 -4
  98. package/src/browser/utils/{getAbsoluteWorkerUrl.test.ts → get-absolute-worker-url.test.ts} +3 -3
  99. package/src/browser/utils/get-worker-instance.ts +2 -2
  100. package/src/browser/utils/should-invalidate-worker.test.ts +11 -11
  101. package/src/browser/utils/should-invalidate-worker.ts +1 -1
  102. package/src/browser/utils/validate-worker-scope.ts +1 -1
  103. package/src/browser/utils/{workerChannel.ts → worker-channel.ts} +42 -20
  104. package/src/core/experimental/define-network.test.ts +43 -8
  105. package/src/core/experimental/define-network.ts +32 -13
  106. package/src/core/experimental/frames/http-frame.test.ts +15 -13
  107. package/src/core/experimental/frames/http-frame.ts +10 -9
  108. package/src/core/experimental/frames/websocket-frame.test.ts +129 -15
  109. package/src/core/experimental/frames/websocket-frame.ts +71 -20
  110. package/src/core/experimental/handlers-controller.test.ts +141 -34
  111. package/src/core/experimental/handlers-controller.ts +107 -30
  112. package/src/core/experimental/index.ts +1 -0
  113. package/src/core/experimental/on-unhandled-frame.test.ts +19 -19
  114. package/src/core/experimental/on-unhandled-frame.ts +7 -12
  115. package/src/core/experimental/request-utils.test.ts +4 -29
  116. package/src/core/experimental/request-utils.ts +0 -14
  117. package/src/core/experimental/sources/interceptor-source.ts +44 -29
  118. package/src/core/experimental/sources/network-source.test.ts +3 -3
  119. package/src/core/experimental/sources/network-source.ts +3 -3
  120. package/src/core/handlers/handler.ts +42 -0
  121. package/src/core/handlers/{RequestHandler.ts → request-handler.ts} +26 -41
  122. package/src/core/index.ts +35 -58
  123. package/src/core/shared-options.ts +21 -0
  124. package/src/core/type-utils.ts +18 -0
  125. package/src/core/utils/{cookieStore.ts → cookie-store.ts} +14 -9
  126. package/src/core/utils/{executeHandlers.ts → execute-handlers.ts} +2 -2
  127. package/src/core/utils/http-status-messages.ts +69 -0
  128. package/src/core/utils/internal/{attachSiblingHandlers.ts → attach-sibling-handlers.ts} +20 -0
  129. package/src/core/utils/internal/{devUtils.test.ts → dev-utils.test.ts} +3 -3
  130. package/src/core/utils/internal/{Disposable.ts → disposable.ts} +1 -1
  131. package/src/core/utils/internal/{getCallFrame.test.ts → get-call-frame.test.ts} +1 -1
  132. package/src/core/utils/internal/{getCallFrame.ts → get-call-frame.ts} +1 -1
  133. package/src/core/utils/internal/{hasRefCounted.test.ts → has-ref-counted.test.ts} +4 -4
  134. package/src/core/utils/internal/{hasRefCounted.ts → has-ref-counted.ts} +1 -1
  135. package/src/core/utils/internal/{isIterable.test.ts → is-iterable.test.ts} +1 -1
  136. package/src/core/utils/internal/is-iterable.ts +16 -0
  137. package/src/core/utils/internal/{isObject.test.ts → is-object.test.ts} +1 -1
  138. package/src/core/utils/internal/{isStringEqual.test.ts → is-string-equal.test.ts} +7 -7
  139. package/src/core/utils/internal/{jsonParse.test.ts → json-parse.test.ts} +1 -1
  140. package/src/core/utils/internal/observe-response-body-stream.test.ts +7 -7
  141. package/src/core/utils/internal/observe-response-body-stream.ts +3 -4
  142. package/src/core/utils/internal/{parseMultipartData.test.ts → parse-multipart-data.test.ts} +1 -1
  143. package/src/core/utils/internal/{parseMultipartData.ts → parse-multipart-data.ts} +1 -1
  144. package/src/core/utils/internal/{toReadonlyArray.test.ts → to-readonly-array.test.ts} +4 -4
  145. package/src/core/utils/logging/colors.ts +13 -0
  146. package/src/core/utils/logging/{getStatusCodeColor.test.ts → get-status-code-color.test.ts} +1 -1
  147. package/src/core/utils/logging/{getTimestamp.test.ts → get-timestamp.test.ts} +1 -1
  148. package/src/core/utils/logging/{serializeRequest.test.ts → serialize-request.test.ts} +1 -1
  149. package/src/core/utils/logging/{serializeResponse.test.ts → serialize-response.test.ts} +8 -10
  150. package/src/core/utils/logging/{serializeResponse.ts → serialize-response.ts} +2 -4
  151. package/src/core/utils/matching/match-request-url.test.ts +90 -0
  152. package/src/core/utils/matching/match-request-url.ts +45 -0
  153. package/src/core/utils/matching/{normalizePath.node.test.ts → normalize-path.node.test.ts} +2 -4
  154. package/src/core/utils/matching/{normalizePath.test.ts → normalize-path.test.ts} +2 -4
  155. package/src/core/utils/matching/{normalizePath.ts → normalize-path.ts} +8 -5
  156. package/src/core/utils/request/{getAllAcceptedMimeTypes.test.ts → get-all-accepted-mime-types.test.ts} +14 -14
  157. package/src/core/utils/request/get-request-cookies.ts +76 -0
  158. package/src/core/utils/request/store-response-cookies.ts +15 -0
  159. package/src/core/utils/request/{toPublicUrl.node.test.ts → to-public-url.node.test.ts} +1 -1
  160. package/src/core/utils/request/{toPublicUrl.test.ts → to-public-url.test.ts} +2 -2
  161. package/src/core/utils/{HttpResponse/decorators.ts → response-decorators.ts} +6 -8
  162. package/src/core/utils/url/{getAbsoluteUrl.node.test.ts → get-absolute-url.node.test.ts} +5 -7
  163. package/src/core/utils/url/{getAbsoluteUrl.test.ts → get-absolute-url.test.ts} +7 -7
  164. package/src/core/utils/url/{getAbsoluteUrl.ts → get-absolute-url.ts} +1 -1
  165. package/src/core/utils/url/is-absolute-url.test.ts +30 -0
  166. package/src/{core/handlers/GraphQLHandler.test.ts → graphql/graphql-handler.test.ts} +37 -36
  167. package/src/{core/handlers/GraphQLHandler.ts → graphql/graphql-handler.ts} +54 -41
  168. package/src/graphql/graphql-subscription-event.ts +39 -0
  169. package/src/graphql/graphql-subscription.test.ts +208 -0
  170. package/src/graphql/graphql-subscription.ts +1487 -0
  171. package/src/graphql/graphql.test.ts +14 -0
  172. package/src/graphql/graphql.ts +179 -0
  173. package/src/graphql/index.ts +34 -0
  174. package/src/{core/utils/internal/parseGraphQLRequest.test.ts → graphql/parse-graphql-request.test.ts} +47 -6
  175. package/src/{core/utils/internal/parseGraphQLRequest.ts → graphql/parse-graphql-request.ts} +59 -32
  176. package/src/{core/handlers/HttpHandler.test.ts → http/http-handler.test.ts} +22 -22
  177. package/src/{core/handlers/HttpHandler.ts → http/http-handler.ts} +16 -18
  178. package/src/{core/HttpResponse.test.ts → http/http-response.test.ts} +25 -27
  179. package/src/{core/HttpResponse.ts → http/http-response.ts} +15 -17
  180. package/src/{core → http}/http.ts +7 -7
  181. package/src/http/index.test.ts +19 -0
  182. package/src/http/index.ts +22 -0
  183. package/src/http/symbols.ts +19 -0
  184. package/src/iife/index.ts +2 -0
  185. package/src/mockServiceWorker.js +183 -84
  186. package/src/node/async-handlers-controller.test.ts +4 -4
  187. package/src/node/glossary.ts +8 -4
  188. package/src/node/index.ts +1 -6
  189. package/src/node/setup-server-common.ts +16 -73
  190. package/src/node/setup-server.ts +9 -40
  191. package/src/sse/index.test.ts +14 -0
  192. package/src/sse/index.ts +7 -0
  193. package/src/{core → sse}/sse.ts +25 -21
  194. package/src/tsconfig.core.build.json +5 -1
  195. package/src/tsconfig.core.json +8 -1
  196. package/src/tsconfig.node.json +1 -1
  197. package/src/tsconfig.src.json +1 -1
  198. package/src/{core → utils}/bypass.test.ts +22 -5
  199. package/src/{core → utils}/bypass.ts +11 -0
  200. package/src/{core → utils}/delay.ts +5 -5
  201. package/src/utils/get-clean-url-string.test.ts +24 -0
  202. package/src/utils/get-clean-url-string.ts +16 -0
  203. package/src/{core/getResponse.test.ts → utils/get-response.test.ts} +9 -9
  204. package/src/{core/getResponse.ts → utils/get-response.ts} +2 -2
  205. package/src/{core/isCommonAssetRequest.ts → utils/is-common-asset-request.ts} +4 -3
  206. package/src/utils/passthrough.test.ts +41 -0
  207. package/src/utils/passthrough.ts +46 -0
  208. package/src/vite/client.d.ts +16 -0
  209. package/src/vite/index.ts +4 -0
  210. package/src/vite/options.d.ts +5 -0
  211. package/src/vite/plugin.test.ts +918 -0
  212. package/src/vite/plugin.ts +133 -0
  213. package/src/vite/runtime.ts +117 -0
  214. package/src/vite/tsconfig.build.json +7 -0
  215. package/src/ws/index.ts +23 -0
  216. package/src/{core/ws/utils/attachWebSocketLogger.ts → ws/utils/attach-websocket-logger.ts} +45 -23
  217. package/src/{core/ws/utils/getMessageLength.test.ts → ws/utils/get-message-length.test.ts} +4 -4
  218. package/src/{core/ws/utils/getMessageLength.ts → ws/utils/get-message-length.ts} +1 -1
  219. package/src/{core/ws/utils/getPublicData.test.ts → ws/utils/get-public-data.test.ts} +7 -7
  220. package/src/ws/utils/get-public-data.ts +23 -0
  221. package/src/{core/ws/utils/truncateMessage.test.ts → ws/utils/truncate-message.test.ts} +3 -3
  222. package/src/{core/ws/WebSocketClientManager.test.ts → ws/websocket-client-manager.test.ts} +8 -9
  223. package/src/{core/ws/WebSocketClientManager.ts → ws/websocket-client-manager.ts} +24 -28
  224. package/src/{core/ws/WebSocketClientStore.ts → ws/websocket-client-store.ts} +2 -2
  225. package/src/{core/handlers/WebSocketHandler.test.ts → ws/websocket-handler.test.ts} +15 -15
  226. package/src/{core/handlers/WebSocketHandler.ts → ws/websocket-handler.ts} +144 -32
  227. package/src/{core/ws/WebSocketIndexedDBClientStore.ts → ws/websocket-indexeddb-client-store.ts} +12 -13
  228. package/src/{core/ws/WebSocketMemoryClientStore.ts → ws/websocket-memory-client-store.ts} +4 -4
  229. package/src/ws/websocket-upgrade.ts +83 -0
  230. package/src/{core → ws}/ws.test.ts +3 -4
  231. package/src/{core → ws}/ws.ts +106 -53
  232. package/browser/package.json +0 -31
  233. package/cli/package.json +0 -3
  234. package/config/package.json +0 -3
  235. package/config/scripts/postinstall.js +0 -36
  236. package/lib/browser/index.d.mts +0 -112
  237. package/lib/browser/index.mjs +0 -3706
  238. package/lib/browser/index.mjs.map +0 -1
  239. package/lib/core/HttpResponse-BE_Y2Ak9.d.mts +0 -389
  240. package/lib/core/HttpResponse-DL-P1EeG.d.ts +0 -389
  241. package/lib/core/HttpResponse.d.mts +0 -6
  242. package/lib/core/HttpResponse.d.ts +0 -6
  243. package/lib/core/HttpResponse.js +0 -176
  244. package/lib/core/HttpResponse.js.map +0 -1
  245. package/lib/core/HttpResponse.mjs +0 -159
  246. package/lib/core/HttpResponse.mjs.map +0 -1
  247. package/lib/core/bypass.d.mts +0 -16
  248. package/lib/core/bypass.js +0 -42
  249. package/lib/core/bypass.js.map +0 -1
  250. package/lib/core/bypass.mjs +0 -22
  251. package/lib/core/bypass.mjs.map +0 -1
  252. package/lib/core/delay.d.mts +0 -18
  253. package/lib/core/delay.d.ts +0 -18
  254. package/lib/core/delay.js +0 -77
  255. package/lib/core/delay.js.map +0 -1
  256. package/lib/core/delay.mjs +0 -57
  257. package/lib/core/delay.mjs.map +0 -1
  258. package/lib/core/experimental/compat.d.mts +0 -17
  259. package/lib/core/experimental/compat.d.ts +0 -17
  260. package/lib/core/experimental/compat.js +0 -55
  261. package/lib/core/experimental/compat.js.map +0 -1
  262. package/lib/core/experimental/compat.mjs +0 -37
  263. package/lib/core/experimental/compat.mjs.map +0 -1
  264. package/lib/core/experimental/define-network.d.mts +0 -75
  265. package/lib/core/experimental/define-network.d.ts +0 -75
  266. package/lib/core/experimental/define-network.js +0 -134
  267. package/lib/core/experimental/define-network.js.map +0 -1
  268. package/lib/core/experimental/define-network.mjs +0 -119
  269. package/lib/core/experimental/define-network.mjs.map +0 -1
  270. package/lib/core/experimental/frames/http-frame.d.mts +0 -77
  271. package/lib/core/experimental/frames/http-frame.d.ts +0 -77
  272. package/lib/core/experimental/frames/http-frame.js +0 -197
  273. package/lib/core/experimental/frames/http-frame.js.map +0 -1
  274. package/lib/core/experimental/frames/http-frame.mjs +0 -181
  275. package/lib/core/experimental/frames/http-frame.mjs.map +0 -1
  276. package/lib/core/experimental/frames/network-frame.d.mts +0 -12
  277. package/lib/core/experimental/frames/network-frame.d.ts +0 -12
  278. package/lib/core/experimental/frames/network-frame.js +0 -35
  279. package/lib/core/experimental/frames/network-frame.js.map +0 -1
  280. package/lib/core/experimental/frames/network-frame.mjs +0 -15
  281. package/lib/core/experimental/frames/network-frame.mjs.map +0 -1
  282. package/lib/core/experimental/frames/websocket-frame.d.mts +0 -55
  283. package/lib/core/experimental/frames/websocket-frame.d.ts +0 -55
  284. package/lib/core/experimental/frames/websocket-frame.js +0 -131
  285. package/lib/core/experimental/frames/websocket-frame.js.map +0 -1
  286. package/lib/core/experimental/frames/websocket-frame.mjs +0 -118
  287. package/lib/core/experimental/frames/websocket-frame.mjs.map +0 -1
  288. package/lib/core/experimental/handlers-controller.d.mts +0 -36
  289. package/lib/core/experimental/handlers-controller.d.ts +0 -36
  290. package/lib/core/experimental/handlers-controller.js +0 -146
  291. package/lib/core/experimental/handlers-controller.js.map +0 -1
  292. package/lib/core/experimental/handlers-controller.mjs +0 -126
  293. package/lib/core/experimental/handlers-controller.mjs.map +0 -1
  294. package/lib/core/experimental/index.d.mts +0 -17
  295. package/lib/core/experimental/index.js.map +0 -1
  296. package/lib/core/experimental/index.mjs +0 -27
  297. package/lib/core/experimental/index.mjs.map +0 -1
  298. package/lib/core/experimental/on-unhandled-frame.d.mts +0 -12
  299. package/lib/core/experimental/on-unhandled-frame.d.ts +0 -12
  300. package/lib/core/experimental/on-unhandled-frame.js +0 -91
  301. package/lib/core/experimental/on-unhandled-frame.js.map +0 -1
  302. package/lib/core/experimental/on-unhandled-frame.mjs +0 -71
  303. package/lib/core/experimental/on-unhandled-frame.mjs.map +0 -1
  304. package/lib/core/experimental/request-utils.d.mts +0 -12
  305. package/lib/core/experimental/request-utils.d.ts +0 -12
  306. package/lib/core/experimental/request-utils.js +0 -50
  307. package/lib/core/experimental/request-utils.js.map +0 -1
  308. package/lib/core/experimental/request-utils.mjs +0 -30
  309. package/lib/core/experimental/request-utils.mjs.map +0 -1
  310. package/lib/core/experimental/setup-api.d.mts +0 -33
  311. package/lib/core/experimental/setup-api.d.ts +0 -33
  312. package/lib/core/experimental/setup-api.js +0 -58
  313. package/lib/core/experimental/setup-api.js.map +0 -1
  314. package/lib/core/experimental/setup-api.mjs +0 -40
  315. package/lib/core/experimental/setup-api.mjs.map +0 -1
  316. package/lib/core/experimental/sources/interceptor-source.d.mts +0 -28
  317. package/lib/core/experimental/sources/interceptor-source.d.ts +0 -28
  318. package/lib/core/experimental/sources/interceptor-source.js +0 -155
  319. package/lib/core/experimental/sources/interceptor-source.js.map +0 -1
  320. package/lib/core/experimental/sources/interceptor-source.mjs +0 -135
  321. package/lib/core/experimental/sources/interceptor-source.mjs.map +0 -1
  322. package/lib/core/experimental/sources/network-source.d.mts +0 -31
  323. package/lib/core/experimental/sources/network-source.d.ts +0 -31
  324. package/lib/core/experimental/sources/network-source.js +0 -51
  325. package/lib/core/experimental/sources/network-source.js.map +0 -1
  326. package/lib/core/experimental/sources/network-source.mjs +0 -32
  327. package/lib/core/experimental/sources/network-source.mjs.map +0 -1
  328. package/lib/core/getResponse.d.mts +0 -18
  329. package/lib/core/getResponse.d.ts +0 -18
  330. package/lib/core/getResponse.js +0 -35
  331. package/lib/core/getResponse.js.map +0 -1
  332. package/lib/core/getResponse.mjs +0 -17
  333. package/lib/core/getResponse.mjs.map +0 -1
  334. package/lib/core/graphql.d.mts +0 -76
  335. package/lib/core/graphql.d.ts +0 -76
  336. package/lib/core/graphql.js +0 -91
  337. package/lib/core/graphql.js.map +0 -1
  338. package/lib/core/graphql.mjs +0 -74
  339. package/lib/core/graphql.mjs.map +0 -1
  340. package/lib/core/handlers/GraphQLHandler.d.mts +0 -6
  341. package/lib/core/handlers/GraphQLHandler.d.ts +0 -6
  342. package/lib/core/handlers/GraphQLHandler.js +0 -232
  343. package/lib/core/handlers/GraphQLHandler.js.map +0 -1
  344. package/lib/core/handlers/GraphQLHandler.mjs +0 -221
  345. package/lib/core/handlers/GraphQLHandler.mjs.map +0 -1
  346. package/lib/core/handlers/HttpHandler.d.mts +0 -75
  347. package/lib/core/handlers/HttpHandler.d.ts +0 -75
  348. package/lib/core/handlers/HttpHandler.js +0 -129
  349. package/lib/core/handlers/HttpHandler.js.map +0 -1
  350. package/lib/core/handlers/HttpHandler.mjs +0 -113
  351. package/lib/core/handlers/HttpHandler.mjs.map +0 -1
  352. package/lib/core/handlers/RequestHandler.d.mts +0 -6
  353. package/lib/core/handlers/RequestHandler.d.ts +0 -6
  354. package/lib/core/handlers/RequestHandler.js +0 -365
  355. package/lib/core/handlers/RequestHandler.js.map +0 -1
  356. package/lib/core/handlers/RequestHandler.mjs +0 -348
  357. package/lib/core/handlers/RequestHandler.mjs.map +0 -1
  358. package/lib/core/handlers/WebSocketHandler.d.mts +0 -49
  359. package/lib/core/handlers/WebSocketHandler.d.ts +0 -49
  360. package/lib/core/handlers/WebSocketHandler.js +0 -178
  361. package/lib/core/handlers/WebSocketHandler.js.map +0 -1
  362. package/lib/core/handlers/WebSocketHandler.mjs +0 -160
  363. package/lib/core/handlers/WebSocketHandler.mjs.map +0 -1
  364. package/lib/core/http.d.mts +0 -31
  365. package/lib/core/http.js +0 -41
  366. package/lib/core/http.js.map +0 -1
  367. package/lib/core/http.mjs +0 -25
  368. package/lib/core/http.mjs.map +0 -1
  369. package/lib/core/index.d.mts +0 -27
  370. package/lib/core/index.js.map +0 -1
  371. package/lib/core/index.mjs +0 -52
  372. package/lib/core/index.mjs.map +0 -1
  373. package/lib/core/isCommonAssetRequest.d.mts +0 -20
  374. package/lib/core/isCommonAssetRequest.d.ts +0 -20
  375. package/lib/core/isCommonAssetRequest.js +0 -42
  376. package/lib/core/isCommonAssetRequest.js.map +0 -1
  377. package/lib/core/isCommonAssetRequest.mjs +0 -22
  378. package/lib/core/isCommonAssetRequest.mjs.map +0 -1
  379. package/lib/core/on-unhandled-frame-0KmwUmeV.d.ts +0 -56
  380. package/lib/core/on-unhandled-frame-gkokW4Rr.d.mts +0 -56
  381. package/lib/core/passthrough.d.mts +0 -24
  382. package/lib/core/passthrough.d.ts +0 -24
  383. package/lib/core/passthrough.js +0 -33
  384. package/lib/core/passthrough.js.map +0 -1
  385. package/lib/core/passthrough.mjs +0 -13
  386. package/lib/core/passthrough.mjs.map +0 -1
  387. package/lib/core/sharedOptions.d.mts +0 -68
  388. package/lib/core/sharedOptions.d.ts +0 -68
  389. package/lib/core/sharedOptions.js +0 -17
  390. package/lib/core/sharedOptions.js.map +0 -1
  391. package/lib/core/sharedOptions.mjs +0 -1
  392. package/lib/core/sharedOptions.mjs.map +0 -1
  393. package/lib/core/sse.d.mts +0 -102
  394. package/lib/core/sse.d.ts +0 -102
  395. package/lib/core/sse.js +0 -690
  396. package/lib/core/sse.js.map +0 -1
  397. package/lib/core/sse.mjs +0 -672
  398. package/lib/core/sse.mjs.map +0 -1
  399. package/lib/core/typeUtils.d.mts +0 -12
  400. package/lib/core/typeUtils.d.ts +0 -12
  401. package/lib/core/typeUtils.js +0 -17
  402. package/lib/core/typeUtils.js.map +0 -1
  403. package/lib/core/typeUtils.mjs +0 -1
  404. package/lib/core/typeUtils.mjs.map +0 -1
  405. package/lib/core/utils/HttpResponse/decorators.d.mts +0 -22
  406. package/lib/core/utils/HttpResponse/decorators.d.ts +0 -22
  407. package/lib/core/utils/HttpResponse/decorators.js +0 -84
  408. package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
  409. package/lib/core/utils/HttpResponse/decorators.mjs +0 -54
  410. package/lib/core/utils/HttpResponse/decorators.mjs.map +0 -1
  411. package/lib/core/utils/cookieStore.d.mts +0 -13
  412. package/lib/core/utils/cookieStore.d.ts +0 -13
  413. package/lib/core/utils/cookieStore.js +0 -90
  414. package/lib/core/utils/cookieStore.js.map +0 -1
  415. package/lib/core/utils/cookieStore.mjs +0 -74
  416. package/lib/core/utils/cookieStore.mjs.map +0 -1
  417. package/lib/core/utils/executeHandlers.d.mts +0 -6
  418. package/lib/core/utils/executeHandlers.d.ts +0 -6
  419. package/lib/core/utils/executeHandlers.js +0 -51
  420. package/lib/core/utils/executeHandlers.js.map +0 -1
  421. package/lib/core/utils/executeHandlers.mjs +0 -31
  422. package/lib/core/utils/executeHandlers.mjs.map +0 -1
  423. package/lib/core/utils/handleRequest.d.mts +0 -30
  424. package/lib/core/utils/handleRequest.d.ts +0 -30
  425. package/lib/core/utils/handleRequest.js +0 -76
  426. package/lib/core/utils/handleRequest.js.map +0 -1
  427. package/lib/core/utils/handleRequest.mjs +0 -58
  428. package/lib/core/utils/handleRequest.mjs.map +0 -1
  429. package/lib/core/utils/internal/Disposable.d.mts +0 -7
  430. package/lib/core/utils/internal/Disposable.d.ts +0 -7
  431. package/lib/core/utils/internal/Disposable.js +0 -51
  432. package/lib/core/utils/internal/Disposable.js.map +0 -1
  433. package/lib/core/utils/internal/Disposable.mjs +0 -31
  434. package/lib/core/utils/internal/Disposable.mjs.map +0 -1
  435. package/lib/core/utils/internal/attachSiblingHandlers.d.mts +0 -15
  436. package/lib/core/utils/internal/attachSiblingHandlers.d.ts +0 -15
  437. package/lib/core/utils/internal/attachSiblingHandlers.js +0 -44
  438. package/lib/core/utils/internal/attachSiblingHandlers.js.map +0 -1
  439. package/lib/core/utils/internal/attachSiblingHandlers.mjs +0 -24
  440. package/lib/core/utils/internal/attachSiblingHandlers.mjs.map +0 -1
  441. package/lib/core/utils/internal/checkGlobals.d.mts +0 -3
  442. package/lib/core/utils/internal/checkGlobals.d.ts +0 -3
  443. package/lib/core/utils/internal/checkGlobals.js +0 -34
  444. package/lib/core/utils/internal/checkGlobals.js.map +0 -1
  445. package/lib/core/utils/internal/checkGlobals.mjs +0 -14
  446. package/lib/core/utils/internal/checkGlobals.mjs.map +0 -1
  447. package/lib/core/utils/internal/devUtils.d.mts +0 -28
  448. package/lib/core/utils/internal/devUtils.d.ts +0 -28
  449. package/lib/core/utils/internal/devUtils.js +0 -48
  450. package/lib/core/utils/internal/devUtils.js.map +0 -1
  451. package/lib/core/utils/internal/devUtils.mjs +0 -28
  452. package/lib/core/utils/internal/devUtils.mjs.map +0 -1
  453. package/lib/core/utils/internal/getCallFrame.d.mts +0 -6
  454. package/lib/core/utils/internal/getCallFrame.d.ts +0 -6
  455. package/lib/core/utils/internal/getCallFrame.js +0 -41
  456. package/lib/core/utils/internal/getCallFrame.js.map +0 -1
  457. package/lib/core/utils/internal/getCallFrame.mjs +0 -21
  458. package/lib/core/utils/internal/getCallFrame.mjs.map +0 -1
  459. package/lib/core/utils/internal/hasRefCounted.d.mts +0 -3
  460. package/lib/core/utils/internal/hasRefCounted.d.ts +0 -3
  461. package/lib/core/utils/internal/hasRefCounted.js +0 -34
  462. package/lib/core/utils/internal/hasRefCounted.js.map +0 -1
  463. package/lib/core/utils/internal/hasRefCounted.mjs +0 -14
  464. package/lib/core/utils/internal/hasRefCounted.mjs.map +0 -1
  465. package/lib/core/utils/internal/isHandlerKind.d.mts +0 -19
  466. package/lib/core/utils/internal/isHandlerKind.d.ts +0 -19
  467. package/lib/core/utils/internal/isHandlerKind.js +0 -30
  468. package/lib/core/utils/internal/isHandlerKind.js.map +0 -1
  469. package/lib/core/utils/internal/isHandlerKind.mjs +0 -10
  470. package/lib/core/utils/internal/isHandlerKind.mjs.map +0 -1
  471. package/lib/core/utils/internal/isIterable.d.mts +0 -20
  472. package/lib/core/utils/internal/isIterable.d.ts +0 -20
  473. package/lib/core/utils/internal/isIterable.js +0 -30
  474. package/lib/core/utils/internal/isIterable.js.map +0 -1
  475. package/lib/core/utils/internal/isIterable.mjs +0 -10
  476. package/lib/core/utils/internal/isIterable.mjs.map +0 -1
  477. package/lib/core/utils/internal/isObject.d.mts +0 -6
  478. package/lib/core/utils/internal/isObject.d.ts +0 -6
  479. package/lib/core/utils/internal/isObject.js +0 -27
  480. package/lib/core/utils/internal/isObject.js.map +0 -1
  481. package/lib/core/utils/internal/isObject.mjs +0 -7
  482. package/lib/core/utils/internal/isObject.mjs.map +0 -1
  483. package/lib/core/utils/internal/isStringEqual.d.mts +0 -6
  484. package/lib/core/utils/internal/isStringEqual.d.ts +0 -6
  485. package/lib/core/utils/internal/isStringEqual.js +0 -27
  486. package/lib/core/utils/internal/isStringEqual.js.map +0 -1
  487. package/lib/core/utils/internal/isStringEqual.mjs +0 -7
  488. package/lib/core/utils/internal/isStringEqual.mjs.map +0 -1
  489. package/lib/core/utils/internal/jsonParse.d.mts +0 -7
  490. package/lib/core/utils/internal/jsonParse.d.ts +0 -7
  491. package/lib/core/utils/internal/jsonParse.js +0 -31
  492. package/lib/core/utils/internal/jsonParse.js.map +0 -1
  493. package/lib/core/utils/internal/jsonParse.mjs +0 -11
  494. package/lib/core/utils/internal/jsonParse.mjs.map +0 -1
  495. package/lib/core/utils/internal/mergeRight.d.mts +0 -7
  496. package/lib/core/utils/internal/mergeRight.d.ts +0 -7
  497. package/lib/core/utils/internal/mergeRight.js +0 -43
  498. package/lib/core/utils/internal/mergeRight.js.map +0 -1
  499. package/lib/core/utils/internal/mergeRight.mjs +0 -23
  500. package/lib/core/utils/internal/mergeRight.mjs.map +0 -1
  501. package/lib/core/utils/internal/observe-response-body-stream.d.mts +0 -18
  502. package/lib/core/utils/internal/observe-response-body-stream.d.ts +0 -18
  503. package/lib/core/utils/internal/observe-response-body-stream.js +0 -64
  504. package/lib/core/utils/internal/observe-response-body-stream.js.map +0 -1
  505. package/lib/core/utils/internal/observe-response-body-stream.mjs +0 -44
  506. package/lib/core/utils/internal/observe-response-body-stream.mjs.map +0 -1
  507. package/lib/core/utils/internal/parseGraphQLRequest.d.mts +0 -6
  508. package/lib/core/utils/internal/parseGraphQLRequest.d.ts +0 -6
  509. package/lib/core/utils/internal/parseGraphQLRequest.js +0 -146
  510. package/lib/core/utils/internal/parseGraphQLRequest.js.map +0 -1
  511. package/lib/core/utils/internal/parseGraphQLRequest.mjs +0 -129
  512. package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +0 -1
  513. package/lib/core/utils/internal/parseMultipartData.d.mts +0 -14
  514. package/lib/core/utils/internal/parseMultipartData.d.ts +0 -14
  515. package/lib/core/utils/internal/parseMultipartData.js +0 -84
  516. package/lib/core/utils/internal/parseMultipartData.js.map +0 -1
  517. package/lib/core/utils/internal/parseMultipartData.mjs +0 -64
  518. package/lib/core/utils/internal/parseMultipartData.mjs.map +0 -1
  519. package/lib/core/utils/internal/pipeEvents.d.mts +0 -8
  520. package/lib/core/utils/internal/pipeEvents.d.ts +0 -8
  521. package/lib/core/utils/internal/pipeEvents.js +0 -37
  522. package/lib/core/utils/internal/pipeEvents.js.map +0 -1
  523. package/lib/core/utils/internal/pipeEvents.mjs +0 -17
  524. package/lib/core/utils/internal/pipeEvents.mjs.map +0 -1
  525. package/lib/core/utils/internal/toReadonlyArray.d.mts +0 -6
  526. package/lib/core/utils/internal/toReadonlyArray.d.ts +0 -6
  527. package/lib/core/utils/internal/toReadonlyArray.js +0 -29
  528. package/lib/core/utils/internal/toReadonlyArray.js.map +0 -1
  529. package/lib/core/utils/internal/toReadonlyArray.mjs +0 -9
  530. package/lib/core/utils/internal/toReadonlyArray.mjs.map +0 -1
  531. package/lib/core/utils/internal/tryCatch.d.mts +0 -3
  532. package/lib/core/utils/internal/tryCatch.d.ts +0 -3
  533. package/lib/core/utils/internal/tryCatch.js +0 -32
  534. package/lib/core/utils/internal/tryCatch.js.map +0 -1
  535. package/lib/core/utils/internal/tryCatch.mjs +0 -12
  536. package/lib/core/utils/internal/tryCatch.mjs.map +0 -1
  537. package/lib/core/utils/logging/getStatusCodeColor.d.mts +0 -11
  538. package/lib/core/utils/logging/getStatusCodeColor.d.ts +0 -11
  539. package/lib/core/utils/logging/getStatusCodeColor.js +0 -40
  540. package/lib/core/utils/logging/getStatusCodeColor.js.map +0 -1
  541. package/lib/core/utils/logging/getStatusCodeColor.mjs +0 -20
  542. package/lib/core/utils/logging/getStatusCodeColor.mjs.map +0 -1
  543. package/lib/core/utils/logging/getTimestamp.d.mts +0 -9
  544. package/lib/core/utils/logging/getTimestamp.d.ts +0 -9
  545. package/lib/core/utils/logging/getTimestamp.js +0 -32
  546. package/lib/core/utils/logging/getTimestamp.js.map +0 -1
  547. package/lib/core/utils/logging/getTimestamp.mjs +0 -12
  548. package/lib/core/utils/logging/getTimestamp.mjs.map +0 -1
  549. package/lib/core/utils/logging/serializeRequest.d.mts +0 -12
  550. package/lib/core/utils/logging/serializeRequest.d.ts +0 -12
  551. package/lib/core/utils/logging/serializeRequest.js +0 -34
  552. package/lib/core/utils/logging/serializeRequest.js.map +0 -1
  553. package/lib/core/utils/logging/serializeRequest.mjs +0 -14
  554. package/lib/core/utils/logging/serializeRequest.mjs.map +0 -1
  555. package/lib/core/utils/logging/serializeResponse.d.mts +0 -9
  556. package/lib/core/utils/logging/serializeResponse.d.ts +0 -9
  557. package/lib/core/utils/logging/serializeResponse.js +0 -48
  558. package/lib/core/utils/logging/serializeResponse.js.map +0 -1
  559. package/lib/core/utils/logging/serializeResponse.mjs +0 -18
  560. package/lib/core/utils/logging/serializeResponse.mjs.map +0 -1
  561. package/lib/core/utils/matching/matchRequestUrl.d.mts +0 -20
  562. package/lib/core/utils/matching/matchRequestUrl.d.ts +0 -20
  563. package/lib/core/utils/matching/matchRequestUrl.js +0 -55
  564. package/lib/core/utils/matching/matchRequestUrl.js.map +0 -1
  565. package/lib/core/utils/matching/matchRequestUrl.mjs +0 -35
  566. package/lib/core/utils/matching/matchRequestUrl.mjs.map +0 -1
  567. package/lib/core/utils/matching/normalizePath.d.mts +0 -13
  568. package/lib/core/utils/matching/normalizePath.d.ts +0 -13
  569. package/lib/core/utils/matching/normalizePath.js +0 -33
  570. package/lib/core/utils/matching/normalizePath.js.map +0 -1
  571. package/lib/core/utils/matching/normalizePath.mjs +0 -13
  572. package/lib/core/utils/matching/normalizePath.mjs.map +0 -1
  573. package/lib/core/utils/request/getAllAcceptedMimeTypes.d.mts +0 -14
  574. package/lib/core/utils/request/getAllAcceptedMimeTypes.d.ts +0 -14
  575. package/lib/core/utils/request/getAllAcceptedMimeTypes.js +0 -61
  576. package/lib/core/utils/request/getAllAcceptedMimeTypes.js.map +0 -1
  577. package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs +0 -41
  578. package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs.map +0 -1
  579. package/lib/core/utils/request/getRequestCookies.d.mts +0 -3
  580. package/lib/core/utils/request/getRequestCookies.d.ts +0 -3
  581. package/lib/core/utils/request/getRequestCookies.js +0 -79
  582. package/lib/core/utils/request/getRequestCookies.js.map +0 -1
  583. package/lib/core/utils/request/getRequestCookies.mjs +0 -62
  584. package/lib/core/utils/request/getRequestCookies.mjs.map +0 -1
  585. package/lib/core/utils/request/onUnhandledRequest.d.mts +0 -9
  586. package/lib/core/utils/request/onUnhandledRequest.d.ts +0 -9
  587. package/lib/core/utils/request/onUnhandledRequest.js +0 -76
  588. package/lib/core/utils/request/onUnhandledRequest.js.map +0 -1
  589. package/lib/core/utils/request/onUnhandledRequest.mjs +0 -56
  590. package/lib/core/utils/request/onUnhandledRequest.mjs.map +0 -1
  591. package/lib/core/utils/request/storeResponseCookies.d.mts +0 -3
  592. package/lib/core/utils/request/storeResponseCookies.d.ts +0 -3
  593. package/lib/core/utils/request/storeResponseCookies.js +0 -32
  594. package/lib/core/utils/request/storeResponseCookies.js.map +0 -1
  595. package/lib/core/utils/request/storeResponseCookies.mjs +0 -12
  596. package/lib/core/utils/request/storeResponseCookies.mjs.map +0 -1
  597. package/lib/core/utils/request/toPublicUrl.d.mts +0 -7
  598. package/lib/core/utils/request/toPublicUrl.d.ts +0 -7
  599. package/lib/core/utils/request/toPublicUrl.js +0 -31
  600. package/lib/core/utils/request/toPublicUrl.js.map +0 -1
  601. package/lib/core/utils/request/toPublicUrl.mjs +0 -11
  602. package/lib/core/utils/request/toPublicUrl.mjs.map +0 -1
  603. package/lib/core/utils/toResponseInit.d.mts +0 -3
  604. package/lib/core/utils/toResponseInit.d.ts +0 -3
  605. package/lib/core/utils/toResponseInit.js +0 -31
  606. package/lib/core/utils/toResponseInit.js.map +0 -1
  607. package/lib/core/utils/toResponseInit.mjs +0 -11
  608. package/lib/core/utils/toResponseInit.mjs.map +0 -1
  609. package/lib/core/utils/url/cleanUrl.d.mts +0 -7
  610. package/lib/core/utils/url/cleanUrl.d.ts +0 -7
  611. package/lib/core/utils/url/cleanUrl.js +0 -31
  612. package/lib/core/utils/url/cleanUrl.js.map +0 -1
  613. package/lib/core/utils/url/cleanUrl.mjs +0 -11
  614. package/lib/core/utils/url/cleanUrl.mjs.map +0 -1
  615. package/lib/core/utils/url/getAbsoluteUrl.d.mts +0 -6
  616. package/lib/core/utils/url/getAbsoluteUrl.d.ts +0 -6
  617. package/lib/core/utils/url/getAbsoluteUrl.js +0 -38
  618. package/lib/core/utils/url/getAbsoluteUrl.js.map +0 -1
  619. package/lib/core/utils/url/getAbsoluteUrl.mjs +0 -18
  620. package/lib/core/utils/url/getAbsoluteUrl.mjs.map +0 -1
  621. package/lib/core/utils/url/isAbsoluteUrl.d.mts +0 -6
  622. package/lib/core/utils/url/isAbsoluteUrl.d.ts +0 -6
  623. package/lib/core/utils/url/isAbsoluteUrl.js +0 -27
  624. package/lib/core/utils/url/isAbsoluteUrl.js.map +0 -1
  625. package/lib/core/utils/url/isAbsoluteUrl.mjs +0 -7
  626. package/lib/core/utils/url/isAbsoluteUrl.mjs.map +0 -1
  627. package/lib/core/ws/WebSocketClientManager.d.mts +0 -65
  628. package/lib/core/ws/WebSocketClientManager.d.ts +0 -65
  629. package/lib/core/ws/WebSocketClientManager.js +0 -163
  630. package/lib/core/ws/WebSocketClientManager.js.map +0 -1
  631. package/lib/core/ws/WebSocketClientManager.mjs +0 -143
  632. package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
  633. package/lib/core/ws/WebSocketClientStore.d.mts +0 -13
  634. package/lib/core/ws/WebSocketClientStore.d.ts +0 -13
  635. package/lib/core/ws/WebSocketClientStore.js +0 -26
  636. package/lib/core/ws/WebSocketClientStore.js.map +0 -1
  637. package/lib/core/ws/WebSocketClientStore.mjs +0 -6
  638. package/lib/core/ws/WebSocketClientStore.mjs.map +0 -1
  639. package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +0 -14
  640. package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +0 -14
  641. package/lib/core/ws/WebSocketIndexedDBClientStore.js +0 -131
  642. package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +0 -1
  643. package/lib/core/ws/WebSocketIndexedDBClientStore.mjs +0 -111
  644. package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +0 -1
  645. package/lib/core/ws/WebSocketMemoryClientStore.d.mts +0 -12
  646. package/lib/core/ws/WebSocketMemoryClientStore.d.ts +0 -12
  647. package/lib/core/ws/WebSocketMemoryClientStore.js +0 -42
  648. package/lib/core/ws/WebSocketMemoryClientStore.js.map +0 -1
  649. package/lib/core/ws/WebSocketMemoryClientStore.mjs +0 -22
  650. package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +0 -1
  651. package/lib/core/ws/handleWebSocketEvent.d.mts +0 -20
  652. package/lib/core/ws/handleWebSocketEvent.d.ts +0 -20
  653. package/lib/core/ws/handleWebSocketEvent.js +0 -61
  654. package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
  655. package/lib/core/ws/handleWebSocketEvent.mjs +0 -43
  656. package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
  657. package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -18
  658. package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -18
  659. package/lib/core/ws/utils/attachWebSocketLogger.js +0 -228
  660. package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
  661. package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -208
  662. package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
  663. package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
  664. package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
  665. package/lib/core/ws/utils/getMessageLength.js +0 -34
  666. package/lib/core/ws/utils/getMessageLength.js.map +0 -1
  667. package/lib/core/ws/utils/getMessageLength.mjs +0 -14
  668. package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
  669. package/lib/core/ws/utils/getPublicData.d.mts +0 -5
  670. package/lib/core/ws/utils/getPublicData.d.ts +0 -5
  671. package/lib/core/ws/utils/getPublicData.js +0 -37
  672. package/lib/core/ws/utils/getPublicData.js.map +0 -1
  673. package/lib/core/ws/utils/getPublicData.mjs +0 -17
  674. package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
  675. package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
  676. package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
  677. package/lib/core/ws/utils/truncateMessage.js +0 -31
  678. package/lib/core/ws/utils/truncateMessage.js.map +0 -1
  679. package/lib/core/ws/utils/truncateMessage.mjs +0 -11
  680. package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
  681. package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
  682. package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
  683. package/lib/core/ws/webSocketInterceptor.js +0 -26
  684. package/lib/core/ws/webSocketInterceptor.js.map +0 -1
  685. package/lib/core/ws/webSocketInterceptor.mjs +0 -6
  686. package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
  687. package/lib/core/ws.d.mts +0 -88
  688. package/lib/core/ws.d.ts +0 -88
  689. package/lib/core/ws.js +0 -94
  690. package/lib/core/ws.js.map +0 -1
  691. package/lib/core/ws.mjs +0 -80
  692. package/lib/core/ws.mjs.map +0 -1
  693. package/lib/native/index.d.mts +0 -66
  694. package/lib/native/index.d.ts +0 -66
  695. package/lib/native/index.js +0 -88
  696. package/lib/native/index.js.map +0 -1
  697. package/lib/native/index.mjs +0 -67
  698. package/lib/native/index.mjs.map +0 -1
  699. package/lib/node/index.d.mts +0 -113
  700. package/lib/node/index.mjs +0 -185
  701. package/lib/node/index.mjs.map +0 -1
  702. package/lib/shims/cookie.d.mts +0 -7
  703. package/lib/shims/cookie.d.ts +0 -7
  704. package/lib/shims/cookie.js +0 -294
  705. package/lib/shims/cookie.mjs +0 -286
  706. package/lib/shims/statuses.d.mts +0 -6
  707. package/lib/shims/statuses.d.ts +0 -6
  708. package/lib/shims/statuses.js +0 -195
  709. package/lib/shims/statuses.mjs +0 -187
  710. package/native/package.json +0 -30
  711. package/node/package.json +0 -33
  712. package/src/browser/utils/pruneGetRequestBody.test.ts +0 -51
  713. package/src/browser/utils/pruneGetRequestBody.ts +0 -21
  714. package/src/core/experimental/compat.ts +0 -50
  715. package/src/core/experimental/setup-api.ts +0 -55
  716. package/src/core/graphql.test.ts +0 -11
  717. package/src/core/graphql.ts +0 -136
  718. package/src/core/passthrough.test.ts +0 -11
  719. package/src/core/passthrough.ts +0 -25
  720. package/src/core/sharedOptions.ts +0 -71
  721. package/src/core/typeUtils.ts +0 -26
  722. package/src/core/utils/handleRequest.test.ts +0 -574
  723. package/src/core/utils/handleRequest.ts +0 -117
  724. package/src/core/utils/internal/checkGlobals.ts +0 -17
  725. package/src/core/utils/internal/isHandlerKind.test.ts +0 -62
  726. package/src/core/utils/internal/isHandlerKind.ts +0 -17
  727. package/src/core/utils/internal/isIterable.ts +0 -32
  728. package/src/core/utils/internal/mergeRight.test.ts +0 -43
  729. package/src/core/utils/internal/mergeRight.ts +0 -30
  730. package/src/core/utils/internal/pipeEvents.test.ts +0 -14
  731. package/src/core/utils/internal/pipeEvents.ts +0 -26
  732. package/src/core/utils/internal/tryCatch.test.ts +0 -29
  733. package/src/core/utils/internal/tryCatch.ts +0 -11
  734. package/src/core/utils/matching/matchRequestUrl.test.ts +0 -267
  735. package/src/core/utils/matching/matchRequestUrl.ts +0 -77
  736. package/src/core/utils/request/getRequestCookies.ts +0 -88
  737. package/src/core/utils/request/onUnhandledRequest.node.test.ts +0 -62
  738. package/src/core/utils/request/onUnhandledRequest.test.ts +0 -226
  739. package/src/core/utils/request/onUnhandledRequest.ts +0 -81
  740. package/src/core/utils/request/storeResponseCookies.ts +0 -15
  741. package/src/core/utils/url/cleanUrl.test.ts +0 -22
  742. package/src/core/utils/url/cleanUrl.ts +0 -16
  743. package/src/core/utils/url/isAbsoluteUrl.test.ts +0 -32
  744. package/src/core/ws/handleWebSocketEvent.ts +0 -68
  745. package/src/core/ws/utils/getPublicData.ts +0 -18
  746. package/src/core/ws/webSocketInterceptor.ts +0 -3
  747. package/src/native/index.ts +0 -44
  748. package/src/package.json +0 -3
  749. package/src/shims/cookie.ts +0 -7
  750. package/src/shims/statuses.ts +0 -6
  751. /package/src/browser/utils/{getAbsoluteWorkerUrl.ts → get-absolute-worker-url.ts} +0 -0
  752. /package/src/core/utils/internal/{devUtils.ts → dev-utils.ts} +0 -0
  753. /package/src/core/utils/internal/{isObject.ts → is-object.ts} +0 -0
  754. /package/src/core/utils/internal/{isStringEqual.ts → is-string-equal.ts} +0 -0
  755. /package/src/core/utils/internal/{jsonParse.ts → json-parse.ts} +0 -0
  756. /package/src/core/utils/internal/{toReadonlyArray.ts → to-readonly-array.ts} +0 -0
  757. /package/src/core/utils/logging/{getStatusCodeColor.ts → get-status-code-color.ts} +0 -0
  758. /package/src/core/utils/logging/{getTimestamp.ts → get-timestamp.ts} +0 -0
  759. /package/src/core/utils/logging/{serializeRequest.ts → serialize-request.ts} +0 -0
  760. /package/src/core/utils/request/{getAllAcceptedMimeTypes.ts → get-all-accepted-mime-types.ts} +0 -0
  761. /package/src/core/utils/request/{toPublicUrl.ts → to-public-url.ts} +0 -0
  762. /package/src/core/utils/{toResponseInit.ts → to-response-init.ts} +0 -0
  763. /package/src/core/utils/url/{isAbsoluteUrl.ts → is-absolute-url.ts} +0 -0
  764. /package/src/{core → http}/http.test.ts +0 -0
  765. /package/src/{core/ws/utils/truncateMessage.ts → ws/utils/truncate-message.ts} +0 -0
@@ -1,34 +1,77 @@
1
1
  import { invariant } from 'outvariant'
2
- import { type RequestHandler } from '../handlers/RequestHandler'
3
- import { type WebSocketHandler } from '../handlers/WebSocketHandler'
4
- import { devUtils } from '../utils/internal/devUtils'
5
- import { getSiblingHandlers } from '../utils/internal/attachSiblingHandlers'
2
+ import type { HandlerKind } from '../handlers/handler'
3
+ import type { RequestHandler } from '../handlers/request-handler'
4
+ import type {
5
+ WebSocketHandler,
6
+ AnyWebSocketExtension,
7
+ } from '#ws/websocket-handler'
8
+ import { devUtils } from '../utils/internal/dev-utils'
9
+ import type { MaybePromise } from '../type-utils'
10
+ import {
11
+ getSiblingHandlers,
12
+ isSiblingHandler,
13
+ } from '../utils/internal/attach-sibling-handlers'
14
+
15
+ export type AnyHandler =
16
+ RequestHandler | WebSocketHandler<AnyWebSocketExtension>
17
+ type HandlerOfKind<Kind extends HandlerKind> = Extract<
18
+ AnyHandler,
19
+ { kind: Kind }
20
+ >
21
+ type HandlersMapOfKind<Kind extends HandlerKind> = {
22
+ [K in Kind]?: Array<HandlerOfKind<K>>
23
+ }
24
+ export type HandlersMap = HandlersMapOfKind<HandlerKind>
25
+
26
+ function addHandlerToGroup<Kind extends HandlerKind>(
27
+ groups: HandlersMapOfKind<Kind>,
28
+ kind: Kind,
29
+ handler: HandlerOfKind<Kind>,
30
+ ): void {
31
+ const bucket = (groups[kind] ||= [])
32
+ bucket.push(handler)
33
+ }
6
34
 
7
- export type AnyHandler = RequestHandler | WebSocketHandler
8
- export type HandlersMap = Partial<Record<AnyHandler['kind'], Array<AnyHandler>>>
35
+ function prependHandlersToGroup<Kind extends HandlerKind>(
36
+ groups: HandlersMapOfKind<Kind>,
37
+ kind: Kind,
38
+ overridesForKind: Array<HandlerOfKind<Kind>>,
39
+ ): void {
40
+ const existingForKind = groups[kind]
41
+
42
+ groups[kind] = existingForKind
43
+ ? [
44
+ ...overridesForKind,
45
+ ...existingForKind.filter((existingHandler) => {
46
+ return !overridesForKind.includes(existingHandler)
47
+ }),
48
+ ]
49
+ : overridesForKind
50
+ }
9
51
 
10
52
  export function groupHandlersByKind(handlers: Array<AnyHandler>): HandlersMap {
11
53
  const groups: HandlersMap = {}
54
+ const visitedHandlers = new Set<AnyHandler>()
12
55
 
13
- const pushUnique = (kind: AnyHandler['kind'], handler: AnyHandler) => {
14
- const bucket = (groups[kind] ||= [])
15
-
16
- if (!bucket.includes(handler)) {
17
- bucket.push(handler)
56
+ const visit = (handler: AnyHandler) => {
57
+ if (visitedHandlers.has(handler)) {
58
+ return
18
59
  }
19
- }
20
60
 
21
- /**
22
- * @note `Object.groupBy` is not implemented in Node.js v20.
23
- */
24
- for (const handler of handlers) {
25
- pushUnique(handler.kind, handler)
61
+ visitedHandlers.add(handler)
62
+ addHandlerToGroup(groups, handler.kind, handler)
26
63
 
64
+ // Recurse so siblings of siblings (user-composed handler
65
+ // graphs) are grouped as well, not silently dropped.
27
66
  for (const sibling of getSiblingHandlers(handler)) {
28
- pushUnique(sibling.kind, sibling)
67
+ visit(sibling)
29
68
  }
30
69
  }
31
70
 
71
+ for (const handler of handlers) {
72
+ visit(handler)
73
+ }
74
+
32
75
  return groups
33
76
  }
34
77
 
@@ -65,7 +108,24 @@ export abstract class HandlersController {
65
108
  .filter((handler) => handler != null)
66
109
  }
67
110
 
68
- public getHandlersByKind(kind: AnyHandler['kind']): Array<AnyHandler> {
111
+ /**
112
+ * Return the list of explicitly registered handlers.
113
+ * Unlike `currentHandlers()`, this excludes sibling handlers,
114
+ * which are an implementation detail (e.g. the WebSocket upgrade
115
+ * handler or the GraphQL subscription transport).
116
+ */
117
+ public listHandlers(): Array<AnyHandler> {
118
+ return this.currentHandlers().filter((handler) => {
119
+ return !isSiblingHandler(handler)
120
+ })
121
+ }
122
+
123
+ /**
124
+ * Return the list of handlers of the given kind.
125
+ */
126
+ public getHandlersByKind<Kind extends HandlerKind>(
127
+ kind: Kind,
128
+ ): Array<HandlerOfKind<Kind>> {
69
129
  return this.getState().handlers[kind] || []
70
130
  }
71
131
 
@@ -86,12 +146,15 @@ export abstract class HandlersController {
86
146
 
87
147
  // Prepend overrides to their respective kind buckets so they take
88
148
  // priority over existing handlers while preserving input order.
89
- for (const kind in overrides) {
90
- const overridesForKind = overrides[kind as AnyHandler['kind']]!
91
- const existingForKind = handlers[kind as AnyHandler['kind']]
92
- handlers[kind as AnyHandler['kind']] = existingForKind
93
- ? [...overridesForKind, ...existingForKind]
94
- : overridesForKind
149
+ // Drop existing references that reappear in the overrides (e.g. a
150
+ // shared upgrade sibling from the same link) so a handler is never
151
+ // registered twice.
152
+ if (overrides.request) {
153
+ prependHandlersToGroup(handlers, 'request', overrides.request)
154
+ }
155
+
156
+ if (overrides.websocket) {
157
+ prependHandlersToGroup(handlers, 'websocket', overrides.websocket)
95
158
  }
96
159
 
97
160
  this.setState({ handlers })
@@ -106,9 +169,7 @@ export abstract class HandlersController {
106
169
  )
107
170
 
108
171
  for (const handler of this.currentHandlers()) {
109
- if ('reset' in handler) {
110
- handler['reset']()
111
- }
172
+ handler.reset()
112
173
  }
113
174
 
114
175
  const { initialHandlers } = this.getState()
@@ -131,10 +192,26 @@ export abstract class HandlersController {
131
192
 
132
193
  public restore(): void {
133
194
  for (const handler of this.currentHandlers()) {
134
- if ('restore' in handler) {
135
- handler['restore']()
195
+ handler.restore()
196
+ }
197
+ }
198
+
199
+ public dispose(): MaybePromise<void> {
200
+ const pendingDisposals: Array<Promise<void>> = []
201
+
202
+ for (const handler of this.currentHandlers()) {
203
+ const disposal = handler.dispose()
204
+
205
+ if (disposal instanceof Promise) {
206
+ pendingDisposals.push(disposal)
136
207
  }
137
208
  }
209
+
210
+ // Stay synchronous unless a handler actually disposes of
211
+ // itself asynchronously.
212
+ if (pendingDisposals.length > 0) {
213
+ return Promise.all(pendingDisposals).then(() => {})
214
+ }
138
215
  }
139
216
 
140
217
  #validateHandlers(handlers: Array<AnyHandler>): boolean {
@@ -1,5 +1,6 @@
1
1
  export {
2
2
  defineNetwork,
3
+ NetworkReadyState,
3
4
  type DefineNetworkOptions,
4
5
  type NetworkApi,
5
6
  } from './define-network'
@@ -48,7 +48,7 @@ class TestWebSocketFrame extends WebSocketNetworkFrame {
48
48
  errorWith = () => {}
49
49
  }
50
50
 
51
- it('does not print any warnings or errors using the "bypass" strategy', async () => {
51
+ test('does not print any warnings or errors using the "bypass" strategy', async () => {
52
52
  await expect(
53
53
  executeUnhandledFrameHandle(
54
54
  new TestHttpFrame(new Request('http://localhost/test')),
@@ -59,7 +59,7 @@ it('does not print any warnings or errors using the "bypass" strategy', async ()
59
59
  expect(console.error).not.toHaveBeenCalled()
60
60
  })
61
61
 
62
- it('prints a warning for the HTTP frame using the "warn" strategy', async () => {
62
+ test('prints a warning for the HTTP frame using the "warn" strategy', async () => {
63
63
  await expect(
64
64
  executeUnhandledFrameHandle(
65
65
  new TestHttpFrame(new Request('http://localhost/test')),
@@ -79,14 +79,14 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
79
79
  expect(console.error).not.toHaveBeenCalled()
80
80
  })
81
81
 
82
- it('rejects and prints an error for the HTTP frame using the "error" strategy', async () => {
82
+ test('rejects and prints an error for the HTTP frame using the "error" strategy', async () => {
83
83
  await expect(
84
84
  executeUnhandledFrameHandle(
85
85
  new TestHttpFrame(new Request('http://localhost/test')),
86
86
  'error',
87
87
  ),
88
88
  ).rejects.toThrow(
89
- `[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.`,
89
+ `[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledFrame" option.`,
90
90
  )
91
91
 
92
92
  expect.soft(console.error).toHaveBeenCalledOnce()
@@ -101,7 +101,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
101
101
  expect(console.warn).not.toHaveBeenCalled()
102
102
  })
103
103
 
104
- it('invokes the custom callback for the HTTP frame', async () => {
104
+ test('invokes the custom callback for the HTTP frame', async () => {
105
105
  const callback = vi.fn()
106
106
  const frame = new TestHttpFrame(new Request('http://localhost/test'))
107
107
 
@@ -119,7 +119,7 @@ it('invokes the custom callback for the HTTP frame', async () => {
119
119
  })
120
120
  })
121
121
 
122
- it('does not print anything for common asset HTTP requests', async () => {
122
+ test('does not print anything for common asset HTTP requests', async () => {
123
123
  await expect(
124
124
  executeUnhandledFrameHandle(
125
125
  new TestHttpFrame(new Request('http://localhost/image.png')),
@@ -141,7 +141,7 @@ it('does not print anything for common asset HTTP requests', async () => {
141
141
  expect(console.error).not.toHaveBeenCalled()
142
142
  })
143
143
 
144
- it('delegates common asset HTTP requests handling to the custom callback', async () => {
144
+ test('delegates common asset HTTP requests handling to the custom callback', async () => {
145
145
  const callback = vi.fn()
146
146
  const frame = new TestHttpFrame(new Request('http://localhost/image.png'))
147
147
 
@@ -159,7 +159,7 @@ it('delegates common asset HTTP requests handling to the custom callback', async
159
159
  })
160
160
  })
161
161
 
162
- it('supports printing the default warning in the custom callback for the HTTP frame', async () => {
162
+ test('supports printing the default warning in the custom callback for the HTTP frame', async () => {
163
163
  const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
164
164
  defaults.warn()
165
165
  })
@@ -189,7 +189,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
189
189
  expect(console.error).not.toHaveBeenCalled()
190
190
  })
191
191
 
192
- it('supports printing the default error in the custom callback for the HTTP frame', async () => {
192
+ test('supports printing the default error in the custom callback for the HTTP frame', async () => {
193
193
  const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
194
194
  defaults.error()
195
195
  })
@@ -219,7 +219,7 @@ Read more: https://mswjs.io/docs/http/intercepting-requests`,
219
219
  expect(console.warn).not.toHaveBeenCalled()
220
220
  })
221
221
 
222
- it('throws if given an unknown strategy for the HTTP frame', async () => {
222
+ test('throws if given an unknown strategy for the HTTP frame', async () => {
223
223
  await expect(
224
224
  executeUnhandledFrameHandle(
225
225
  new TestHttpFrame(new Request('http://localhost/test')),
@@ -227,11 +227,11 @@ it('throws if given an unknown strategy for the HTTP frame', async () => {
227
227
  'intentionally-invalid',
228
228
  ),
229
229
  ).rejects.toThrow(
230
- `[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledRequest" option.`,
230
+ `[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledFrame" option.`,
231
231
  )
232
232
  })
233
233
 
234
- it('prints a warning for the WebSocket frame using the "warn" strategy', async () => {
234
+ test('prints a warning for the WebSocket frame using the "warn" strategy', async () => {
235
235
  await expect(
236
236
  executeUnhandledFrameHandle(new TestWebSocketFrame(), 'warn'),
237
237
  ).resolves.toBeUndefined()
@@ -248,11 +248,11 @@ Read more: https://mswjs.io/docs/websocket`,
248
248
  expect(console.error).not.toHaveBeenCalled()
249
249
  })
250
250
 
251
- it('rejects and prints an error for the WebSocket frame using the "error" strategy', async () => {
251
+ test('rejects and prints an error for the WebSocket frame using the "error" strategy', async () => {
252
252
  await expect(
253
253
  executeUnhandledFrameHandle(new TestWebSocketFrame(), 'error'),
254
254
  ).rejects.toThrow(
255
- `[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.`,
255
+ `[MSW] Cannot bypass a request when using the "error" strategy for the "onUnhandledFrame" option.`,
256
256
  )
257
257
 
258
258
  expect.soft(console.error).toHaveBeenCalledOnce()
@@ -267,7 +267,7 @@ Read more: https://mswjs.io/docs/websocket`,
267
267
  expect(console.warn).not.toHaveBeenCalled()
268
268
  })
269
269
 
270
- it('invokes the custom callback for the WebSocket frame', async () => {
270
+ test('invokes the custom callback for the WebSocket frame', async () => {
271
271
  const callback = vi.fn()
272
272
  const frame = new TestWebSocketFrame()
273
273
 
@@ -285,7 +285,7 @@ it('invokes the custom callback for the WebSocket frame', async () => {
285
285
  })
286
286
  })
287
287
 
288
- it('throws if given an unknown strategy for the WebSocket frame', async () => {
288
+ test('throws if given an unknown strategy for the WebSocket frame', async () => {
289
289
  await expect(
290
290
  executeUnhandledFrameHandle(
291
291
  new TestWebSocketFrame(),
@@ -293,11 +293,11 @@ it('throws if given an unknown strategy for the WebSocket frame', async () => {
293
293
  'intentionally-invalid',
294
294
  ),
295
295
  ).rejects.toThrow(
296
- `[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledRequest" option.`,
296
+ `[MSW] Failed to react to an unhandled network frame: unknown strategy "intentionally-invalid". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledFrame" option.`,
297
297
  )
298
298
  })
299
299
 
300
- it('supports printing the default warning in the custom callback for the HTTP frame', async () => {
300
+ test('supports printing the default warning in the custom callback for the HTTP frame', async () => {
301
301
  const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
302
302
  defaults.warn()
303
303
  })
@@ -327,7 +327,7 @@ Read more: https://mswjs.io/docs/websocket`,
327
327
  expect(console.error).not.toHaveBeenCalled()
328
328
  })
329
329
 
330
- it('supports printing the default error in the custom callback for the HTTP frame', async () => {
330
+ test('supports printing the default error in the custom callback for the HTTP frame', async () => {
331
331
  const callback = vi.fn<UnhandledFrameCallback>(({ defaults }) => {
332
332
  defaults.error()
333
333
  })
@@ -1,12 +1,11 @@
1
1
  import { invariant } from 'outvariant'
2
- import { isCommonAssetRequest } from '../isCommonAssetRequest'
3
- import { devUtils, InternalError } from '../utils/internal/devUtils'
2
+ import { isCommonAssetRequest } from '#utils/is-common-asset-request'
3
+ import { devUtils, InternalError } from '../utils/internal/dev-utils'
4
4
  import { HttpNetworkFrame } from './frames/http-frame'
5
- import { type AnyNetworkFrame } from './frames/network-frame'
5
+ import type { AnyNetworkFrame } from './frames/network-frame'
6
6
 
7
7
  export type UnhandledFrameHandle =
8
- | UnhandledFrameStrategy
9
- | UnhandledFrameCallback
8
+ UnhandledFrameStrategy | UnhandledFrameCallback
10
9
 
11
10
  export type UnhandledFrameStrategy = 'bypass' | 'warn' | 'error'
12
11
 
@@ -15,7 +14,7 @@ export type UnhandledFrameCallback = (args: {
15
14
  defaults: UnhandledFrameDefaults
16
15
  }) => Promise<void> | void
17
16
 
18
- export type UnhandledFrameDefaults = {
17
+ type UnhandledFrameDefaults = {
19
18
  warn: () => void
20
19
  error: () => void
21
20
  }
@@ -50,12 +49,8 @@ export async function executeUnhandledFrameHandle(
50
49
  invariant.as(
51
50
  InternalError,
52
51
  strategy === 'bypass' || strategy === 'warn' || strategy === 'error',
53
- /**
54
- * @fixme Rename "onUnhandledRequest" to "onUnhandledFrame" in the error message
55
- * with the next major release.
56
- */
57
52
  devUtils.formatMessage(
58
- 'Failed to react to an unhandled network frame: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledRequest" option.',
53
+ 'Failed to react to an unhandled network frame: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledFrame" option.',
59
54
  strategy,
60
55
  ),
61
56
  )
@@ -70,7 +65,7 @@ export async function executeUnhandledFrameHandle(
70
65
  return Promise.reject(
71
66
  new InternalError(
72
67
  devUtils.formatMessage(
73
- 'Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.',
68
+ 'Cannot bypass a request when using the "error" strategy for the "onUnhandledFrame" option.',
74
69
  ),
75
70
  ),
76
71
  )
@@ -1,13 +1,10 @@
1
1
  import {
2
2
  deleteRequestPassthroughHeader,
3
- isPassthroughResponse,
4
- REQUEST_INTENTION_HEADER_NAME,
5
- RequestIntention,
6
3
  shouldBypassRequest,
7
4
  } from './request-utils'
8
5
 
9
6
  describe(shouldBypassRequest, () => {
10
- it('returns true for a request with bypass header', () => {
7
+ test('returns true for a request with bypass header', () => {
11
8
  expect(
12
9
  shouldBypassRequest(
13
10
  new Request('http://example.com', {
@@ -19,35 +16,13 @@ describe(shouldBypassRequest, () => {
19
16
  ).toBe(true)
20
17
  })
21
18
 
22
- it('returns false for a regular request', () => {
19
+ test('returns false for a regular request', () => {
23
20
  expect(shouldBypassRequest(new Request('http://example.com'))).toBe(false)
24
21
  })
25
22
  })
26
23
 
27
- describe(isPassthroughResponse, () => {
28
- it('returns true for a passthrough response', () => {
29
- expect(
30
- isPassthroughResponse(
31
- new Response(null, {
32
- status: 302,
33
- headers: {
34
- [REQUEST_INTENTION_HEADER_NAME]: RequestIntention.passthrough,
35
- },
36
- }),
37
- ),
38
- ).toBe(true)
39
- })
40
-
41
- it('returns false for a regular response', () => {
42
- expect(isPassthroughResponse(new Response(null))).toBe(false)
43
- expect(isPassthroughResponse(new Response(null, { status: 302 }))).toBe(
44
- false,
45
- )
46
- })
47
- })
48
-
49
24
  describe(deleteRequestPassthroughHeader, () => {
50
- it('removes the bypass header from the request', () => {
25
+ test('removes the bypass header from the request', () => {
51
26
  const request = new Request('http://example.com', {
52
27
  headers: {
53
28
  accept: 'msw/passthrough',
@@ -57,7 +32,7 @@ describe(deleteRequestPassthroughHeader, () => {
57
32
  expect(request.headers.get('accept')).toBeNull()
58
33
  })
59
34
 
60
- it('does not remove other headers', () => {
35
+ test('does not remove other headers', () => {
61
36
  const request = new Request('http://example.com', {
62
37
  headers: {
63
38
  accept: 'msw/passthrough',
@@ -1,21 +1,7 @@
1
- export const REQUEST_INTENTION_HEADER_NAME = 'x-msw-intention'
2
-
3
- export enum RequestIntention {
4
- passthrough = 'passthrough',
5
- }
6
-
7
1
  export function shouldBypassRequest(request: Request): boolean {
8
2
  return !!request.headers.get('accept')?.includes('msw/passthrough')
9
3
  }
10
4
 
11
- export function isPassthroughResponse(response: Response): boolean {
12
- return (
13
- response.status === 302 &&
14
- response.headers.get(REQUEST_INTENTION_HEADER_NAME) ===
15
- RequestIntention.passthrough
16
- )
17
- }
18
-
19
5
  /**
20
6
  * Remove the internal passthrough instruction from the request's `Accept` header.
21
7
  */
@@ -1,11 +1,17 @@
1
1
  import type { Interceptor, RequestController } from '@mswjs/interceptors'
2
- import { BatchInterceptor, type HttpRequestEventMap } from '@mswjs/interceptors'
2
+ import {
3
+ BatchInterceptor,
4
+ type HttpRequestEventMap,
5
+ type HttpRequestEvent,
6
+ type HttpResponseEvent,
7
+ } from '@mswjs/interceptors'
3
8
  import type {
4
- WebSocketConnectionData,
9
+ WebSocketClientConnection,
10
+ WebSocketInterceptedConnection,
5
11
  WebSocketEventMap,
6
12
  } from '@mswjs/interceptors/WebSocket'
7
13
  import { NetworkSource } from './network-source'
8
- import { InternalError } from '../../utils/internal/devUtils'
14
+ import { InternalError } from '../../utils/internal/dev-utils'
9
15
  import { HttpNetworkFrame, ResponseEvent } from '../frames/http-frame'
10
16
  import { WebSocketNetworkFrame } from '../frames/websocket-frame'
11
17
  import { deleteRequestPassthroughHeader } from '../request-utils'
@@ -20,10 +26,19 @@ export interface InterceptorSourceOptions {
20
26
  export class InterceptorSource extends NetworkSource {
21
27
  #interceptor: BatchInterceptor<
22
28
  InterceptorSourceOptions['interceptors'],
23
- HttpRequestEventMap | WebSocketEventMap
29
+ HttpRequestEventMap & WebSocketEventMap
24
30
  >
25
31
 
26
- #frames: Map<string, HttpNetworkFrame>
32
+ /**
33
+ * @note Frames are keyed by the request instance, not the request ID.
34
+ * The interceptor emits the same request instance on the "request"
35
+ * and "response" events, so the frame can be looked up by identity.
36
+ * A weak reference lets the frame be garbage collected alongside
37
+ * its request once the request settles without producing a response
38
+ * (e.g. a passthrough request failing with a network error).
39
+ * @see https://github.com/mswjs/msw/issues/2792
40
+ */
41
+ #frames: WeakMap<Request, HttpNetworkFrame>
27
42
 
28
43
  constructor(options: InterceptorSourceOptions) {
29
44
  super()
@@ -32,19 +47,16 @@ export class InterceptorSource extends NetworkSource {
32
47
  name: 'interceptor-source',
33
48
  interceptors: options.interceptors,
34
49
  })
35
- this.#frames = new Map()
50
+ this.#frames = new WeakMap()
36
51
  }
37
52
 
38
53
  public enable(): void {
39
54
  this.#interceptor.apply()
40
55
 
41
- /**
42
- * @todo @fixme BatchInterceptor infers event types but not listener types.
43
- */
44
56
  this.#interceptor
45
- .on('request', this.#handleRequest.bind(this) as any)
46
- .on('response', this.#handleResponse.bind(this) as any)
47
- .on('connection', this.#handleWebSocketConnection.bind(this) as any)
57
+ .on('request', this.#handleRequest.bind(this))
58
+ .on('response', this.#handleResponse.bind(this))
59
+ .on('connection', this.#handleWebSocketConnection.bind(this))
48
60
  }
49
61
 
50
62
  public disable(): void {
@@ -55,21 +67,18 @@ export class InterceptorSource extends NetworkSource {
55
67
  * @todo We can also abort any pending frames here, given we implement
56
68
  * the `NetworkFrame.abort()` method.
57
69
  */
58
- this.#frames.clear()
70
+ this.#frames = new WeakMap()
59
71
  }
60
72
 
61
- async #handleRequest({
62
- requestId,
63
- request,
64
- controller,
65
- }: HttpRequestEventMap['request'][0]): Promise<void> {
73
+ async #handleRequest(event: HttpRequestEvent): Promise<void> {
74
+ const { requestId, request, controller } = event
66
75
  const httpFrame = new InterceptorHttpNetworkFrame({
67
76
  id: requestId,
68
77
  request,
69
78
  controller,
70
79
  })
71
80
 
72
- this.#frames.set(requestId, httpFrame)
81
+ this.#frames.set(request, httpFrame)
73
82
  await this.queue(httpFrame)
74
83
  }
75
84
 
@@ -77,10 +86,10 @@ export class InterceptorSource extends NetworkSource {
77
86
  requestId,
78
87
  request,
79
88
  response,
80
- isMockedResponse,
81
- }: HttpRequestEventMap['response'][0]): Promise<void> {
82
- const httpFrame = this.#frames.get(requestId)
83
- this.#frames.delete(requestId)
89
+ responseType,
90
+ }: HttpResponseEvent): Promise<void> {
91
+ const httpFrame = this.#frames.get(request)
92
+ this.#frames.delete(request)
84
93
 
85
94
  if (httpFrame == null) {
86
95
  return
@@ -90,7 +99,7 @@ export class InterceptorSource extends NetworkSource {
90
99
  try {
91
100
  httpFrame.events.emit(
92
101
  new ResponseEvent(
93
- isMockedResponse ? 'response:mocked' : 'response:bypass',
102
+ responseType === 'mock' ? 'response:mocked' : 'response:bypass',
94
103
  {
95
104
  requestId,
96
105
  request,
@@ -111,7 +120,7 @@ export class InterceptorSource extends NetworkSource {
111
120
  }
112
121
 
113
122
  async #handleWebSocketConnection(
114
- connection: WebSocketEventMap['connection'][0],
123
+ connection: WebSocketEventMap['connection'],
115
124
  ): Promise<void> {
116
125
  await this.queue(
117
126
  new InterceptorWebSocketNetworkFrame({
@@ -161,9 +170,17 @@ class InterceptorHttpNetworkFrame extends HttpNetworkFrame {
161
170
  }
162
171
 
163
172
  class InterceptorWebSocketNetworkFrame extends WebSocketNetworkFrame {
164
- constructor(args: { connection: WebSocketConnectionData }) {
173
+ /**
174
+ * The in-process client connection, whose socket
175
+ * the frame dispatches errors on.
176
+ */
177
+ readonly #client: WebSocketClientConnection
178
+
179
+ constructor(args: { connection: WebSocketInterceptedConnection }) {
165
180
  super({ connection: args.connection })
166
181
 
182
+ this.#client = args.connection.client
183
+
167
184
  /**
168
185
  * @note Provide a similar frame listener cleanup as for HTTP.
169
186
  * When the client connection closes, the handler can no longer be used.
@@ -181,8 +198,6 @@ class InterceptorWebSocketNetworkFrame extends WebSocketNetworkFrame {
181
198
 
182
199
  public errorWith(reason?: unknown): void {
183
200
  if (reason instanceof Error) {
184
- const { client } = this.data.connection
185
-
186
201
  /**
187
202
  * Use `client.errorWith(reason)` in the future.
188
203
  * @see https://github.com/mswjs/interceptors/issues/747
@@ -195,7 +210,7 @@ class InterceptorWebSocketNetworkFrame extends WebSocketNetworkFrame {
195
210
  value: reason,
196
211
  })
197
212
 
198
- client.socket.dispatchEvent(errorEvent)
213
+ this.#client.socket.dispatchEvent(errorEvent)
199
214
  }
200
215
  }
201
216
 
@@ -17,7 +17,7 @@ afterEach(() => {
17
17
  vi.clearAllMocks()
18
18
  })
19
19
 
20
- it('emits the "frame" event when a frame is queued', async () => {
20
+ test('emits the "frame" event when a frame is queued', async () => {
21
21
  class CustomNetworkSource extends NetworkSource {
22
22
  enable = async () => {}
23
23
  }
@@ -34,7 +34,7 @@ it('emits the "frame" event when a frame is queued', async () => {
34
34
  )
35
35
  })
36
36
 
37
- it('removes all listeners when "disable" is called', async () => {
37
+ test('removes all listeners when "disable" is called', async () => {
38
38
  class CustomNetworkSource extends NetworkSource {
39
39
  enable = async () => {}
40
40
  }
@@ -49,7 +49,7 @@ it('removes all listeners when "disable" is called', async () => {
49
49
  expect.soft(frameListener).not.toHaveBeenCalled()
50
50
  })
51
51
 
52
- it('accepts AbortSignal when attaching event listeners', async () => {
52
+ test('accepts AbortSignal when attaching event listeners', async () => {
53
53
  class CustomNetworkSource extends NetworkSource {
54
54
  enable = async () => {}
55
55
  }
@@ -1,7 +1,7 @@
1
1
  import { Emitter, TypedEvent, type TypedListenerOptions } from 'rettime'
2
- import {
3
- type AnyNetworkFrame,
4
- type ExtractFrameEvents,
2
+ import type {
3
+ AnyNetworkFrame,
4
+ ExtractFrameEvents,
5
5
  } from '../frames/network-frame'
6
6
 
7
7
  class NetworkFrameEvent<