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,8 +1,9 @@
1
+ import { HttpHandler, HttpMethods } from '#http/http-handler'
1
2
  import { NetworkSource } from './sources/network-source'
2
3
  import { defineNetwork } from './define-network'
3
4
 
4
5
  describe('enable()', () => {
5
- it('throws if called on already enabled network', () => {
6
+ test('throws if called on already enabled network', () => {
6
7
  class SyncNetworkSource extends NetworkSource {
7
8
  enable = () => {}
8
9
  }
@@ -19,7 +20,7 @@ describe('enable()', () => {
19
20
  expect(network.enable()).toBeUndefined()
20
21
  })
21
22
 
22
- it('returns a sync enable if all the sources are sync', () => {
23
+ test('returns a sync enable if all the sources are sync', () => {
23
24
  class SyncNetworkSource extends NetworkSource {
24
25
  enable = () => {}
25
26
  }
@@ -30,7 +31,7 @@ describe('enable()', () => {
30
31
  expect(network.enable()).toBeUndefined()
31
32
  })
32
33
 
33
- it('returns an async enable if any of the sources are async', () => {
34
+ test('returns an async enable if any of the sources are async', () => {
34
35
  class SyncNetworkSource extends NetworkSource {
35
36
  enable = () => {}
36
37
  }
@@ -45,7 +46,7 @@ describe('enable()', () => {
45
46
  expect(network.enable()).toBeInstanceOf(Promise)
46
47
  })
47
48
 
48
- it('returns an async enable if all the sources are async', () => {
49
+ test('returns an async enable if all the sources are async', () => {
49
50
  class AsyncNetworkSource extends NetworkSource {
50
51
  enable = async () => {}
51
52
  }
@@ -59,7 +60,7 @@ describe('enable()', () => {
59
60
  })
60
61
 
61
62
  describe('disable()', () => {
62
- it('throws if called on already enabled network', () => {
63
+ test('throws if called on already enabled network', () => {
63
64
  class SyncNetworkSource extends NetworkSource {
64
65
  enable = () => {}
65
66
  }
@@ -77,7 +78,7 @@ describe('disable()', () => {
77
78
  expect(network.disable()).toBeUndefined()
78
79
  })
79
80
 
80
- it('returns a sync disable if all the sources are sync', () => {
81
+ test('returns a sync disable if all the sources are sync', () => {
81
82
  class SyncNetworkSource extends NetworkSource {
82
83
  enable = () => {}
83
84
  disable = () => {}
@@ -90,7 +91,7 @@ describe('disable()', () => {
90
91
  expect(network.disable()).toBeUndefined()
91
92
  })
92
93
 
93
- it('returns an async disable if any of the sources are async', async () => {
94
+ test('returns an async disable if any of the sources are async', async () => {
94
95
  class SyncNetworkSource extends NetworkSource {
95
96
  enable = () => {}
96
97
  disable = () => {}
@@ -108,7 +109,7 @@ describe('disable()', () => {
108
109
  expect(network.disable()).toBeInstanceOf(Promise)
109
110
  })
110
111
 
111
- it('returns an async disable if all the sources are async', async () => {
112
+ test('returns an async disable if all the sources are async', async () => {
112
113
  class AsyncNetworkSource extends NetworkSource {
113
114
  enable = async () => {}
114
115
  disable = async () => {}
@@ -121,4 +122,38 @@ describe('disable()', () => {
121
122
  await network.enable()
122
123
  expect(network.disable()).toBeInstanceOf(Promise)
123
124
  })
125
+
126
+ test('observes both the handler and the source disposal rejections', async () => {
127
+ const unhandledRejectionListener = vi.fn()
128
+ process.on('unhandledRejection', unhandledRejectionListener)
129
+
130
+ try {
131
+ class RejectingNetworkSource extends NetworkSource {
132
+ enable = () => {}
133
+ disable = () => Promise.reject(new Error('Source disposal error'))
134
+ }
135
+
136
+ const handler = new HttpHandler(HttpMethods.GET, '/resource', () => {})
137
+ handler.dispose = () =>
138
+ Promise.reject(new Error('Handler disposal error'))
139
+
140
+ const network = defineNetwork({
141
+ sources: [new RejectingNetworkSource()],
142
+ handlers: [handler],
143
+ })
144
+
145
+ network.enable()
146
+
147
+ await expect(network.disable()).rejects.toThrow()
148
+
149
+ // Give an unobserved rejection a chance to surface.
150
+ await new Promise((resolve) => setTimeout(resolve, 100))
151
+
152
+ expect(unhandledRejectionListener).not.toHaveBeenCalled()
153
+ } finally {
154
+ // Detach the listener whether the assertions above pass or not,
155
+ // so a failure here cannot leak it into the rest of the run.
156
+ process.off('unhandledRejection', unhandledRejectionListener)
157
+ }
158
+ })
124
159
  })
@@ -4,21 +4,16 @@ import {
4
4
  NetworkSource,
5
5
  type ExtractSourceEvents,
6
6
  } from './sources/network-source'
7
- import { type NetworkFrameResolutionContext } from './frames/network-frame'
8
- import { type UnhandledFrameHandle } from './on-unhandled-frame'
7
+ import type { NetworkFrameResolutionContext } from './frames/network-frame'
8
+ import type { UnhandledFrameHandle } from './on-unhandled-frame'
9
9
  import {
10
10
  HandlersController,
11
11
  InMemoryHandlersController,
12
12
  type AnyHandler,
13
13
  } from './handlers-controller'
14
- import { toReadonlyArray } from '../utils/internal/toReadonlyArray'
15
- import { Disposable } from '../utils/internal/Disposable'
16
-
17
- type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
18
- k: infer I,
19
- ) => void
20
- ? I
21
- : never
14
+ import { toReadonlyArray } from '../utils/internal/to-readonly-array'
15
+ import { Disposable } from '../utils/internal/disposable'
16
+ import type { UnionToIntersection } from '../type-utils'
22
17
 
23
18
  type MergeEventMaps<Sources extends Array<NetworkSource<any>>> =
24
19
  UnionToIntersection<ExtractSourceEvents<Sources[number]>> extends infer R
@@ -69,7 +64,7 @@ export interface NetworkApi<
69
64
  events: Emitter<MergeEventMaps<Sources>>
70
65
  }
71
66
 
72
- export interface NetworkHandlersApi {
67
+ interface NetworkHandlersApi {
73
68
  use: (...handlers: Array<AnyHandler>) => void
74
69
  resetHandlers: (...handlers: Array<AnyHandler>) => void
75
70
  restoreHandlers: () => void
@@ -222,10 +217,34 @@ export function defineNetwork<Sources extends Array<NetworkSource<any>>>(
222
217
  )
223
218
 
224
219
  readyState = NetworkReadyState.DISABLED
220
+
221
+ // Let the handlers release the resources they hold before
222
+ // tearing down the network itself. Handlers may still need the
223
+ // network while disposing of themselves (e.g. to close the
224
+ // connections they own).
225
+ const handlersDisposal = handlersController.dispose()
225
226
  disposable.dispose()
226
227
 
227
- return colorlessPromiseAll(
228
+ /**
229
+ * @note Tear down the sources synchronously, never behind the
230
+ * handlers disposal. `disable()` is not always awaited (e.g.
231
+ * `server.close()` is synchronous), and a deferred teardown would
232
+ * race any `enable()` that follows, disabling the sources that the
233
+ * new session has just enabled.
234
+ */
235
+ const sourcesDisposal = colorlessPromiseAll(
228
236
  resolvedOptions.sources.map((source) => source.disable()),
237
+ )
238
+
239
+ /**
240
+ * @note Await both disposals so neither rejection goes unobserved.
241
+ * Chaining them would leave the source disposal floating whenever
242
+ * the handlers disposal rejects.
243
+ */
244
+ return (
245
+ handlersDisposal instanceof Promise
246
+ ? Promise.all([handlersDisposal, sourcesDisposal]).then(() => {})
247
+ : sourcesDisposal
229
248
  ) as MaybePromise<ReturnType<Sources[number]['disable']>>
230
249
  },
231
250
  use(...handlers) {
@@ -238,7 +257,7 @@ export function defineNetwork<Sources extends Array<NetworkSource<any>>>(
238
257
  handlersController.restore()
239
258
  },
240
259
  listHandlers() {
241
- return toReadonlyArray(handlersController.currentHandlers())
260
+ return toReadonlyArray(handlersController.listHandlers())
242
261
  },
243
262
  }
244
263
  }
@@ -1,11 +1,13 @@
1
- import { http } from '../../http'
2
- import { graphql } from '../../graphql'
3
- import { ws } from '../../ws'
4
- import { bypass } from '../../bypass'
1
+ import { http } from '#http/http'
2
+ import { graphql } from '../../../graphql'
3
+ import { ws } from '../../../ws'
4
+ import { bypass } from '#utils/bypass'
5
5
  import type { HttpNetworkFrameEventMap } from './http-frame'
6
6
  import { HttpNetworkFrame } from './http-frame'
7
7
  import { InMemoryHandlersController } from '../../experimental/handlers-controller'
8
- import { getSiblingHandlers } from '../../utils/internal/attachSiblingHandlers'
8
+ import { getSiblingHandlers } from '../../utils/internal/attach-sibling-handlers'
9
+
10
+ const gql = graphql.link('*')
9
11
 
10
12
  beforeAll(() => {
11
13
  vi.spyOn(console, 'error').mockImplementation(() => {})
@@ -31,7 +33,7 @@ function spyOnNetworkFrame(frame: HttpNetworkFrame) {
31
33
  }
32
34
  }
33
35
 
34
- it('filters only request type handlers', async () => {
36
+ test('filters only request type handlers', async () => {
35
37
  class HttpFrame extends HttpNetworkFrame {
36
38
  respondWith = vi.fn()
37
39
  passthrough = vi.fn()
@@ -43,7 +45,7 @@ it('filters only request type handlers', async () => {
43
45
  })
44
46
 
45
47
  const httpHandlers = [http.post('http://localhost/api/user', () => {})]
46
- const graphqlHandlers = [graphql.query('GetUser', () => {})]
48
+ const graphqlHandlers = [gql.query('GetUser', () => {})]
47
49
  const webSocketHandlers = [
48
50
  ws.link('ws://localhost').addEventListener('connection', () => {}),
49
51
  ]
@@ -65,7 +67,7 @@ it('filters only request type handlers', async () => {
65
67
  expect(frame.getHandlers(new InMemoryHandlersController([]))).toEqual([])
66
68
  })
67
69
 
68
- it('resolves a matching request', async () => {
70
+ test('resolves a matching request', async () => {
69
71
  class HttpFrame extends HttpNetworkFrame {
70
72
  respondWith = vi.fn()
71
73
  passthrough = vi.fn()
@@ -116,7 +118,7 @@ it('resolves a matching request', async () => {
116
118
  ])
117
119
  })
118
120
 
119
- it('resolves a non-matching request', async () => {
121
+ test('resolves a non-matching request', async () => {
120
122
  class HttpFrame extends HttpNetworkFrame {
121
123
  respondWith = vi.fn()
122
124
  passthrough = vi.fn()
@@ -167,7 +169,7 @@ it('resolves a non-matching request', async () => {
167
169
  ])
168
170
  })
169
171
 
170
- it('resolves a matched passthrough', async () => {
172
+ test('resolves a matched passthrough', async () => {
171
173
  class HttpFrame extends HttpNetworkFrame {
172
174
  respondWith = vi.fn()
173
175
  passthrough = vi.fn()
@@ -214,7 +216,7 @@ it('resolves a matched passthrough', async () => {
214
216
  ])
215
217
  })
216
218
 
217
- it('resolves a bypassed request', async () => {
219
+ test('resolves a bypassed request', async () => {
218
220
  class HttpFrame extends HttpNetworkFrame {
219
221
  respondWith = vi.fn()
220
222
  passthrough = vi.fn()
@@ -256,7 +258,7 @@ it('resolves a bypassed request', async () => {
256
258
  ])
257
259
  })
258
260
 
259
- it('errors the request on unhandled exception', async () => {
261
+ test('errors the request on unhandled exception', async () => {
260
262
  class HttpFrame extends HttpNetworkFrame {
261
263
  respondWith = vi.fn()
262
264
  passthrough = vi.fn()
@@ -309,7 +311,7 @@ it('errors the request on unhandled exception', async () => {
309
311
  )
310
312
  })
311
313
 
312
- it('does not print an unhandled exception if the "unhandledException" listener is present', async () => {
314
+ test('does not print an unhandled exception if the "unhandledException" listener is present', async () => {
313
315
  class HttpFrame extends HttpNetworkFrame {
314
316
  respondWith = vi.fn()
315
317
  passthrough = vi.fn()
@@ -5,25 +5,26 @@ import {
5
5
  NetworkFrame,
6
6
  type NetworkFrameResolutionContext,
7
7
  } from './network-frame'
8
- import { toPublicUrl } from '../../utils/request/toPublicUrl'
9
- import { executeHandlers } from '../../utils/executeHandlers'
10
- import { storeResponseCookies } from '../../utils/request/storeResponseCookies'
11
- import { isPassthroughResponse, shouldBypassRequest } from '../request-utils'
12
- import { devUtils } from '../../utils/internal/devUtils'
8
+ import { toPublicUrl } from '../../utils/request/to-public-url'
9
+ import { executeHandlers } from '../../utils/execute-handlers'
10
+ import { storeResponseCookies } from '../../utils/request/store-response-cookies'
11
+ import { shouldBypassRequest } from '../request-utils'
12
+ import { isPassthroughResponse } from '#utils/passthrough'
13
+ import { devUtils } from '../../utils/internal/dev-utils'
13
14
  import {
14
15
  executeUnhandledFrameHandle,
15
16
  type UnhandledFrameHandle,
16
17
  } from '../on-unhandled-frame'
17
18
  import type { HandlersController } from '../handlers-controller'
18
- import { type AnyHandler } from '../handlers-controller'
19
- import { type RequestHandler } from '../../handlers/RequestHandler'
19
+ import type { AnyHandler } from '../handlers-controller'
20
+ import type { RequestHandler } from '../../handlers/request-handler'
20
21
 
21
22
  interface HttpNetworkFrameOptions {
22
23
  id?: string
23
24
  request: Request
24
25
  }
25
26
 
26
- export class RequestEvent<
27
+ class RequestEvent<
27
28
  DataType extends { requestId: string; request: Request } = {
28
29
  requestId: string
29
30
  request: Request
@@ -66,7 +67,7 @@ export class ResponseEvent<
66
67
  }
67
68
  }
68
69
 
69
- export class UnhandledExceptionEvent<
70
+ class UnhandledExceptionEvent<
70
71
  DataType extends {
71
72
  error: Error
72
73
  requestId: string
@@ -1,11 +1,14 @@
1
- import { http } from '../../http'
2
- import { graphql } from '../../graphql'
3
- import { ws } from '../../ws'
1
+ import { CloseEvent } from '@mswjs/interceptors/WebSocket'
2
+ import { http } from '#http/http'
3
+ import { graphql } from '../../../graphql'
4
+ import { ws } from '../../../ws'
4
5
  import type { WebSocketNetworkFrameEventMap } from './websocket-frame'
5
6
  import { WebSocketNetworkFrame } from './websocket-frame'
6
7
  import { createTestWebSocketConnection } from '../../../../test/support/ws-test-utils'
7
8
  import { InMemoryHandlersController } from '#core/experimental/handlers-controller'
8
9
 
10
+ const gql = graphql.link('*')
11
+
9
12
  beforeAll(() => {
10
13
  vi.spyOn(console, 'error').mockImplementation(() => {})
11
14
  })
@@ -30,7 +33,7 @@ function spyOnWebSocketFrame(frame: WebSocketNetworkFrame) {
30
33
  }
31
34
  }
32
35
 
33
- it('filters only websocket type handlers', async () => {
36
+ test('filters only websocket type handlers', async () => {
34
37
  class WebSocketFrame extends WebSocketNetworkFrame {
35
38
  passthrough = vi.fn()
36
39
  errorWith = vi.fn()
@@ -40,7 +43,7 @@ it('filters only websocket type handlers', async () => {
40
43
  const frame = new WebSocketFrame({ connection })
41
44
 
42
45
  const httpHandlers = [http.post('http://localhost/api/user', () => {})]
43
- const graphqlHandlers = [graphql.query('GetUser', () => {})]
46
+ const graphqlHandlers = [gql.query('GetUser', () => {})]
44
47
  const webSocketHandlers = [
45
48
  ws.link('ws://localhost').addEventListener('connection', () => {}),
46
49
  ]
@@ -55,7 +58,7 @@ it('filters only websocket type handlers', async () => {
55
58
  expect(frame.getHandlers(new InMemoryHandlersController([]))).toEqual([])
56
59
  })
57
60
 
58
- it('resolves a matching connection', async () => {
61
+ test('resolves a matching connection', async () => {
59
62
  class WebSocketFrame extends WebSocketNetworkFrame {
60
63
  passthrough = vi.fn()
61
64
  errorWith = vi.fn()
@@ -84,14 +87,14 @@ it('resolves a matching connection', async () => {
84
87
  expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
85
88
  expect.soft(events).toEqual([
86
89
  expect.objectContaining({
87
- type: 'connection',
90
+ type: 'websocket:connection',
88
91
  url: connection.client.url,
89
92
  protocols: connection.info.protocols,
90
93
  }),
91
94
  ])
92
95
  })
93
96
 
94
- it('resolves a connection when there are no handlers', async () => {
97
+ test('resolves a connection when there are no handlers', async () => {
95
98
  class WebSocketFrame extends WebSocketNetworkFrame {
96
99
  passthrough = vi.fn()
97
100
  errorWith = vi.fn()
@@ -119,14 +122,14 @@ it('resolves a connection when there are no handlers', async () => {
119
122
  )
120
123
  expect.soft(events).toEqual([
121
124
  expect.objectContaining({
122
- type: 'connection',
125
+ type: 'websocket:connection',
123
126
  url: connection.client.url,
124
127
  protocols: connection.info.protocols,
125
128
  }),
126
129
  ])
127
130
  })
128
131
 
129
- it('resolves a non-matching connection', async () => {
132
+ test('resolves a non-matching connection', async () => {
130
133
  class WebSocketFrame extends WebSocketNetworkFrame {
131
134
  passthrough = vi.fn()
132
135
  errorWith = vi.fn()
@@ -157,14 +160,14 @@ it('resolves a non-matching connection', async () => {
157
160
  )
158
161
  expect.soft(events).toEqual([
159
162
  expect.objectContaining({
160
- type: 'connection',
163
+ type: 'websocket:connection',
161
164
  url: connection.client.url,
162
165
  protocols: connection.info.protocols,
163
166
  }),
164
167
  ])
165
168
  })
166
169
 
167
- it('returns null and prints the error on unhandled exception', async () => {
170
+ test('returns null and prints the error on unhandled exception', async () => {
168
171
  class WebSocketFrame extends WebSocketNetworkFrame {
169
172
  passthrough = vi.fn()
170
173
  errorWith = vi.fn()
@@ -197,7 +200,7 @@ it('returns null and prints the error on unhandled exception', async () => {
197
200
  expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
198
201
  expect.soft(events).toEqual([
199
202
  expect.objectContaining({
200
- type: 'connection',
203
+ type: 'websocket:connection',
201
204
  url: connection.client.url,
202
205
  protocols: connection.info.protocols,
203
206
  }),
@@ -219,7 +222,7 @@ it('returns null and prints the error on unhandled exception', async () => {
219
222
  )
220
223
  })
221
224
 
222
- it('does not print an unhandled exception if the "unhandledException" listener is present', async () => {
225
+ test('does not print an unhandled exception if the "unhandledException" listener is present', async () => {
223
226
  class WebSocketFrame extends WebSocketNetworkFrame {
224
227
  passthrough = vi.fn()
225
228
  errorWith = vi.fn()
@@ -255,7 +258,7 @@ it('does not print an unhandled exception if the "unhandledException" listener i
255
258
  expect.soft(unhandledFrameCallback).not.toHaveBeenCalled()
256
259
  expect.soft(events).toEqual([
257
260
  expect.objectContaining({
258
- type: 'connection',
261
+ type: 'websocket:connection',
259
262
  url: connection.client.url,
260
263
  protocols: connection.info.protocols,
261
264
  }),
@@ -276,3 +279,114 @@ it('does not print an unhandled exception if the "unhandledException" listener i
276
279
  )
277
280
  expect.soft(console.error).not.toHaveBeenCalled()
278
281
  })
282
+
283
+ test('emits "websocket:error" when the client connection errors', async () => {
284
+ class WebSocketFrame extends WebSocketNetworkFrame {
285
+ passthrough = vi.fn()
286
+ errorWith = vi.fn()
287
+ }
288
+
289
+ const connection = createTestWebSocketConnection('ws://localhost/api')
290
+ const frame = new WebSocketFrame({ connection })
291
+ const { events } = spyOnWebSocketFrame(frame)
292
+
293
+ const api = ws.link('ws://localhost/api')
294
+ await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
295
+ quiet: true,
296
+ })
297
+
298
+ connection.client.socket.dispatchEvent(new Event('error'))
299
+
300
+ expect(events).toEqual([
301
+ expect.objectContaining({
302
+ type: 'websocket:connection',
303
+ }),
304
+ expect.objectContaining({
305
+ type: 'websocket:error',
306
+ url: connection.client.url,
307
+ protocols: connection.info.protocols,
308
+ error: undefined,
309
+ }),
310
+ ])
311
+ })
312
+
313
+ test('exposes the "error" property of the error event on "websocket:error"', async () => {
314
+ class WebSocketFrame extends WebSocketNetworkFrame {
315
+ passthrough = vi.fn()
316
+ errorWith = vi.fn()
317
+ }
318
+
319
+ const connection = createTestWebSocketConnection('ws://localhost/api')
320
+ const frame = new WebSocketFrame({ connection })
321
+ const { events } = spyOnWebSocketFrame(frame)
322
+
323
+ const api = ws.link('ws://localhost/api')
324
+ await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
325
+ quiet: true,
326
+ })
327
+
328
+ const error = new Error('Connection failed')
329
+ connection.client.socket.dispatchEvent(
330
+ Object.assign(new Event('error'), { error }),
331
+ )
332
+
333
+ expect(events[1]).toEqual(
334
+ expect.objectContaining({
335
+ type: 'websocket:error',
336
+ error,
337
+ }),
338
+ )
339
+ })
340
+
341
+ test('exposes the "cause" property of the error event on "websocket:error"', async () => {
342
+ class WebSocketFrame extends WebSocketNetworkFrame {
343
+ passthrough = vi.fn()
344
+ errorWith = vi.fn()
345
+ }
346
+
347
+ const connection = createTestWebSocketConnection('ws://localhost/api')
348
+ const frame = new WebSocketFrame({ connection })
349
+ const { events } = spyOnWebSocketFrame(frame)
350
+
351
+ const api = ws.link('ws://localhost/api')
352
+ await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
353
+ quiet: true,
354
+ })
355
+
356
+ const cause = new Error('Connection failed')
357
+ connection.client.socket.dispatchEvent(
358
+ Object.assign(new Event('error'), { cause }),
359
+ )
360
+
361
+ expect(events[1]).toEqual(
362
+ expect.objectContaining({
363
+ type: 'websocket:error',
364
+ error: cause,
365
+ }),
366
+ )
367
+ })
368
+
369
+ test('stops emitting "websocket:error" once the client connection closes', async () => {
370
+ class WebSocketFrame extends WebSocketNetworkFrame {
371
+ passthrough = vi.fn()
372
+ errorWith = vi.fn()
373
+ }
374
+
375
+ const connection = createTestWebSocketConnection('ws://localhost/api')
376
+ const frame = new WebSocketFrame({ connection })
377
+ const { events } = spyOnWebSocketFrame(frame)
378
+
379
+ const api = ws.link('ws://localhost/api')
380
+ await frame.resolve([api.addEventListener('connection', () => {})], vi.fn(), {
381
+ quiet: true,
382
+ })
383
+
384
+ connection.client.socket.dispatchEvent(new CloseEvent('close'))
385
+ connection.client.socket.dispatchEvent(new Event('error'))
386
+
387
+ expect(events).toEqual([
388
+ expect.objectContaining({
389
+ type: 'websocket:connection',
390
+ }),
391
+ ])
392
+ })