msw 2.14.7 → 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 (759) 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 -28289
  56. package/lib/iife/index.js.map +1 -1
  57. package/lib/mockServiceWorker.js +204 -93
  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} +168 -73
  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 +64 -0
  141. package/src/core/utils/internal/observe-response-body-stream.ts +76 -0
  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} +28 -9
  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} +107 -18
  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 +202 -91
  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 +105 -69
  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-BTyqrRB6.d.mts +0 -371
  240. package/lib/core/HttpResponse-BXyXQFMJ.d.ts +0 -371
  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 -300
  355. package/lib/core/handlers/RequestHandler.js.map +0 -1
  356. package/lib/core/handlers/RequestHandler.mjs +0 -283
  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 -672
  396. package/lib/core/sse.js.map +0 -1
  397. package/lib/core/sse.mjs +0 -654
  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 -17
  406. package/lib/core/utils/HttpResponse/decorators.d.ts +0 -17
  407. package/lib/core/utils/HttpResponse/decorators.js +0 -71
  408. package/lib/core/utils/HttpResponse/decorators.js.map +0 -1
  409. package/lib/core/utils/HttpResponse/decorators.mjs +0 -41
  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/parseGraphQLRequest.d.mts +0 -6
  502. package/lib/core/utils/internal/parseGraphQLRequest.d.ts +0 -6
  503. package/lib/core/utils/internal/parseGraphQLRequest.js +0 -146
  504. package/lib/core/utils/internal/parseGraphQLRequest.js.map +0 -1
  505. package/lib/core/utils/internal/parseGraphQLRequest.mjs +0 -129
  506. package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +0 -1
  507. package/lib/core/utils/internal/parseMultipartData.d.mts +0 -14
  508. package/lib/core/utils/internal/parseMultipartData.d.ts +0 -14
  509. package/lib/core/utils/internal/parseMultipartData.js +0 -84
  510. package/lib/core/utils/internal/parseMultipartData.js.map +0 -1
  511. package/lib/core/utils/internal/parseMultipartData.mjs +0 -64
  512. package/lib/core/utils/internal/parseMultipartData.mjs.map +0 -1
  513. package/lib/core/utils/internal/pipeEvents.d.mts +0 -8
  514. package/lib/core/utils/internal/pipeEvents.d.ts +0 -8
  515. package/lib/core/utils/internal/pipeEvents.js +0 -37
  516. package/lib/core/utils/internal/pipeEvents.js.map +0 -1
  517. package/lib/core/utils/internal/pipeEvents.mjs +0 -17
  518. package/lib/core/utils/internal/pipeEvents.mjs.map +0 -1
  519. package/lib/core/utils/internal/toReadonlyArray.d.mts +0 -6
  520. package/lib/core/utils/internal/toReadonlyArray.d.ts +0 -6
  521. package/lib/core/utils/internal/toReadonlyArray.js +0 -29
  522. package/lib/core/utils/internal/toReadonlyArray.js.map +0 -1
  523. package/lib/core/utils/internal/toReadonlyArray.mjs +0 -9
  524. package/lib/core/utils/internal/toReadonlyArray.mjs.map +0 -1
  525. package/lib/core/utils/internal/tryCatch.d.mts +0 -3
  526. package/lib/core/utils/internal/tryCatch.d.ts +0 -3
  527. package/lib/core/utils/internal/tryCatch.js +0 -32
  528. package/lib/core/utils/internal/tryCatch.js.map +0 -1
  529. package/lib/core/utils/internal/tryCatch.mjs +0 -12
  530. package/lib/core/utils/internal/tryCatch.mjs.map +0 -1
  531. package/lib/core/utils/logging/getStatusCodeColor.d.mts +0 -11
  532. package/lib/core/utils/logging/getStatusCodeColor.d.ts +0 -11
  533. package/lib/core/utils/logging/getStatusCodeColor.js +0 -40
  534. package/lib/core/utils/logging/getStatusCodeColor.js.map +0 -1
  535. package/lib/core/utils/logging/getStatusCodeColor.mjs +0 -20
  536. package/lib/core/utils/logging/getStatusCodeColor.mjs.map +0 -1
  537. package/lib/core/utils/logging/getTimestamp.d.mts +0 -9
  538. package/lib/core/utils/logging/getTimestamp.d.ts +0 -9
  539. package/lib/core/utils/logging/getTimestamp.js +0 -32
  540. package/lib/core/utils/logging/getTimestamp.js.map +0 -1
  541. package/lib/core/utils/logging/getTimestamp.mjs +0 -12
  542. package/lib/core/utils/logging/getTimestamp.mjs.map +0 -1
  543. package/lib/core/utils/logging/serializeRequest.d.mts +0 -12
  544. package/lib/core/utils/logging/serializeRequest.d.ts +0 -12
  545. package/lib/core/utils/logging/serializeRequest.js +0 -34
  546. package/lib/core/utils/logging/serializeRequest.js.map +0 -1
  547. package/lib/core/utils/logging/serializeRequest.mjs +0 -14
  548. package/lib/core/utils/logging/serializeRequest.mjs.map +0 -1
  549. package/lib/core/utils/logging/serializeResponse.d.mts +0 -9
  550. package/lib/core/utils/logging/serializeResponse.d.ts +0 -9
  551. package/lib/core/utils/logging/serializeResponse.js +0 -48
  552. package/lib/core/utils/logging/serializeResponse.js.map +0 -1
  553. package/lib/core/utils/logging/serializeResponse.mjs +0 -18
  554. package/lib/core/utils/logging/serializeResponse.mjs.map +0 -1
  555. package/lib/core/utils/matching/matchRequestUrl.d.mts +0 -20
  556. package/lib/core/utils/matching/matchRequestUrl.d.ts +0 -20
  557. package/lib/core/utils/matching/matchRequestUrl.js +0 -55
  558. package/lib/core/utils/matching/matchRequestUrl.js.map +0 -1
  559. package/lib/core/utils/matching/matchRequestUrl.mjs +0 -35
  560. package/lib/core/utils/matching/matchRequestUrl.mjs.map +0 -1
  561. package/lib/core/utils/matching/normalizePath.d.mts +0 -13
  562. package/lib/core/utils/matching/normalizePath.d.ts +0 -13
  563. package/lib/core/utils/matching/normalizePath.js +0 -33
  564. package/lib/core/utils/matching/normalizePath.js.map +0 -1
  565. package/lib/core/utils/matching/normalizePath.mjs +0 -13
  566. package/lib/core/utils/matching/normalizePath.mjs.map +0 -1
  567. package/lib/core/utils/request/getAllAcceptedMimeTypes.d.mts +0 -14
  568. package/lib/core/utils/request/getAllAcceptedMimeTypes.d.ts +0 -14
  569. package/lib/core/utils/request/getAllAcceptedMimeTypes.js +0 -61
  570. package/lib/core/utils/request/getAllAcceptedMimeTypes.js.map +0 -1
  571. package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs +0 -41
  572. package/lib/core/utils/request/getAllAcceptedMimeTypes.mjs.map +0 -1
  573. package/lib/core/utils/request/getRequestCookies.d.mts +0 -3
  574. package/lib/core/utils/request/getRequestCookies.d.ts +0 -3
  575. package/lib/core/utils/request/getRequestCookies.js +0 -79
  576. package/lib/core/utils/request/getRequestCookies.js.map +0 -1
  577. package/lib/core/utils/request/getRequestCookies.mjs +0 -62
  578. package/lib/core/utils/request/getRequestCookies.mjs.map +0 -1
  579. package/lib/core/utils/request/onUnhandledRequest.d.mts +0 -9
  580. package/lib/core/utils/request/onUnhandledRequest.d.ts +0 -9
  581. package/lib/core/utils/request/onUnhandledRequest.js +0 -76
  582. package/lib/core/utils/request/onUnhandledRequest.js.map +0 -1
  583. package/lib/core/utils/request/onUnhandledRequest.mjs +0 -56
  584. package/lib/core/utils/request/onUnhandledRequest.mjs.map +0 -1
  585. package/lib/core/utils/request/storeResponseCookies.d.mts +0 -3
  586. package/lib/core/utils/request/storeResponseCookies.d.ts +0 -3
  587. package/lib/core/utils/request/storeResponseCookies.js +0 -32
  588. package/lib/core/utils/request/storeResponseCookies.js.map +0 -1
  589. package/lib/core/utils/request/storeResponseCookies.mjs +0 -12
  590. package/lib/core/utils/request/storeResponseCookies.mjs.map +0 -1
  591. package/lib/core/utils/request/toPublicUrl.d.mts +0 -7
  592. package/lib/core/utils/request/toPublicUrl.d.ts +0 -7
  593. package/lib/core/utils/request/toPublicUrl.js +0 -31
  594. package/lib/core/utils/request/toPublicUrl.js.map +0 -1
  595. package/lib/core/utils/request/toPublicUrl.mjs +0 -11
  596. package/lib/core/utils/request/toPublicUrl.mjs.map +0 -1
  597. package/lib/core/utils/toResponseInit.d.mts +0 -3
  598. package/lib/core/utils/toResponseInit.d.ts +0 -3
  599. package/lib/core/utils/toResponseInit.js +0 -31
  600. package/lib/core/utils/toResponseInit.js.map +0 -1
  601. package/lib/core/utils/toResponseInit.mjs +0 -11
  602. package/lib/core/utils/toResponseInit.mjs.map +0 -1
  603. package/lib/core/utils/url/cleanUrl.d.mts +0 -7
  604. package/lib/core/utils/url/cleanUrl.d.ts +0 -7
  605. package/lib/core/utils/url/cleanUrl.js +0 -31
  606. package/lib/core/utils/url/cleanUrl.js.map +0 -1
  607. package/lib/core/utils/url/cleanUrl.mjs +0 -11
  608. package/lib/core/utils/url/cleanUrl.mjs.map +0 -1
  609. package/lib/core/utils/url/getAbsoluteUrl.d.mts +0 -6
  610. package/lib/core/utils/url/getAbsoluteUrl.d.ts +0 -6
  611. package/lib/core/utils/url/getAbsoluteUrl.js +0 -38
  612. package/lib/core/utils/url/getAbsoluteUrl.js.map +0 -1
  613. package/lib/core/utils/url/getAbsoluteUrl.mjs +0 -18
  614. package/lib/core/utils/url/getAbsoluteUrl.mjs.map +0 -1
  615. package/lib/core/utils/url/isAbsoluteUrl.d.mts +0 -6
  616. package/lib/core/utils/url/isAbsoluteUrl.d.ts +0 -6
  617. package/lib/core/utils/url/isAbsoluteUrl.js +0 -27
  618. package/lib/core/utils/url/isAbsoluteUrl.js.map +0 -1
  619. package/lib/core/utils/url/isAbsoluteUrl.mjs +0 -7
  620. package/lib/core/utils/url/isAbsoluteUrl.mjs.map +0 -1
  621. package/lib/core/ws/WebSocketClientManager.d.mts +0 -65
  622. package/lib/core/ws/WebSocketClientManager.d.ts +0 -65
  623. package/lib/core/ws/WebSocketClientManager.js +0 -163
  624. package/lib/core/ws/WebSocketClientManager.js.map +0 -1
  625. package/lib/core/ws/WebSocketClientManager.mjs +0 -143
  626. package/lib/core/ws/WebSocketClientManager.mjs.map +0 -1
  627. package/lib/core/ws/WebSocketClientStore.d.mts +0 -13
  628. package/lib/core/ws/WebSocketClientStore.d.ts +0 -13
  629. package/lib/core/ws/WebSocketClientStore.js +0 -26
  630. package/lib/core/ws/WebSocketClientStore.js.map +0 -1
  631. package/lib/core/ws/WebSocketClientStore.mjs +0 -6
  632. package/lib/core/ws/WebSocketClientStore.mjs.map +0 -1
  633. package/lib/core/ws/WebSocketIndexedDBClientStore.d.mts +0 -14
  634. package/lib/core/ws/WebSocketIndexedDBClientStore.d.ts +0 -14
  635. package/lib/core/ws/WebSocketIndexedDBClientStore.js +0 -131
  636. package/lib/core/ws/WebSocketIndexedDBClientStore.js.map +0 -1
  637. package/lib/core/ws/WebSocketIndexedDBClientStore.mjs +0 -111
  638. package/lib/core/ws/WebSocketIndexedDBClientStore.mjs.map +0 -1
  639. package/lib/core/ws/WebSocketMemoryClientStore.d.mts +0 -12
  640. package/lib/core/ws/WebSocketMemoryClientStore.d.ts +0 -12
  641. package/lib/core/ws/WebSocketMemoryClientStore.js +0 -42
  642. package/lib/core/ws/WebSocketMemoryClientStore.js.map +0 -1
  643. package/lib/core/ws/WebSocketMemoryClientStore.mjs +0 -22
  644. package/lib/core/ws/WebSocketMemoryClientStore.mjs.map +0 -1
  645. package/lib/core/ws/handleWebSocketEvent.d.mts +0 -20
  646. package/lib/core/ws/handleWebSocketEvent.d.ts +0 -20
  647. package/lib/core/ws/handleWebSocketEvent.js +0 -61
  648. package/lib/core/ws/handleWebSocketEvent.js.map +0 -1
  649. package/lib/core/ws/handleWebSocketEvent.mjs +0 -43
  650. package/lib/core/ws/handleWebSocketEvent.mjs.map +0 -1
  651. package/lib/core/ws/utils/attachWebSocketLogger.d.mts +0 -18
  652. package/lib/core/ws/utils/attachWebSocketLogger.d.ts +0 -18
  653. package/lib/core/ws/utils/attachWebSocketLogger.js +0 -228
  654. package/lib/core/ws/utils/attachWebSocketLogger.js.map +0 -1
  655. package/lib/core/ws/utils/attachWebSocketLogger.mjs +0 -208
  656. package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +0 -1
  657. package/lib/core/ws/utils/getMessageLength.d.mts +0 -11
  658. package/lib/core/ws/utils/getMessageLength.d.ts +0 -11
  659. package/lib/core/ws/utils/getMessageLength.js +0 -34
  660. package/lib/core/ws/utils/getMessageLength.js.map +0 -1
  661. package/lib/core/ws/utils/getMessageLength.mjs +0 -14
  662. package/lib/core/ws/utils/getMessageLength.mjs.map +0 -1
  663. package/lib/core/ws/utils/getPublicData.d.mts +0 -5
  664. package/lib/core/ws/utils/getPublicData.d.ts +0 -5
  665. package/lib/core/ws/utils/getPublicData.js +0 -37
  666. package/lib/core/ws/utils/getPublicData.js.map +0 -1
  667. package/lib/core/ws/utils/getPublicData.mjs +0 -17
  668. package/lib/core/ws/utils/getPublicData.mjs.map +0 -1
  669. package/lib/core/ws/utils/truncateMessage.d.mts +0 -3
  670. package/lib/core/ws/utils/truncateMessage.d.ts +0 -3
  671. package/lib/core/ws/utils/truncateMessage.js +0 -31
  672. package/lib/core/ws/utils/truncateMessage.js.map +0 -1
  673. package/lib/core/ws/utils/truncateMessage.mjs +0 -11
  674. package/lib/core/ws/utils/truncateMessage.mjs.map +0 -1
  675. package/lib/core/ws/webSocketInterceptor.d.mts +0 -5
  676. package/lib/core/ws/webSocketInterceptor.d.ts +0 -5
  677. package/lib/core/ws/webSocketInterceptor.js +0 -26
  678. package/lib/core/ws/webSocketInterceptor.js.map +0 -1
  679. package/lib/core/ws/webSocketInterceptor.mjs +0 -6
  680. package/lib/core/ws/webSocketInterceptor.mjs.map +0 -1
  681. package/lib/core/ws.d.mts +0 -88
  682. package/lib/core/ws.d.ts +0 -88
  683. package/lib/core/ws.js +0 -94
  684. package/lib/core/ws.js.map +0 -1
  685. package/lib/core/ws.mjs +0 -80
  686. package/lib/core/ws.mjs.map +0 -1
  687. package/lib/native/index.d.mts +0 -66
  688. package/lib/native/index.d.ts +0 -66
  689. package/lib/native/index.js +0 -88
  690. package/lib/native/index.js.map +0 -1
  691. package/lib/native/index.mjs +0 -67
  692. package/lib/native/index.mjs.map +0 -1
  693. package/lib/node/index.d.mts +0 -113
  694. package/lib/node/index.mjs +0 -185
  695. package/lib/node/index.mjs.map +0 -1
  696. package/lib/shims/cookie.d.mts +0 -7
  697. package/lib/shims/cookie.d.ts +0 -7
  698. package/lib/shims/cookie.js +0 -294
  699. package/lib/shims/cookie.mjs +0 -286
  700. package/lib/shims/statuses.d.mts +0 -6
  701. package/lib/shims/statuses.d.ts +0 -6
  702. package/lib/shims/statuses.js +0 -195
  703. package/lib/shims/statuses.mjs +0 -187
  704. package/native/package.json +0 -30
  705. package/node/package.json +0 -33
  706. package/src/browser/utils/pruneGetRequestBody.test.ts +0 -51
  707. package/src/browser/utils/pruneGetRequestBody.ts +0 -21
  708. package/src/core/experimental/compat.ts +0 -50
  709. package/src/core/experimental/setup-api.ts +0 -55
  710. package/src/core/graphql.test.ts +0 -11
  711. package/src/core/graphql.ts +0 -136
  712. package/src/core/passthrough.test.ts +0 -11
  713. package/src/core/passthrough.ts +0 -25
  714. package/src/core/sharedOptions.ts +0 -71
  715. package/src/core/typeUtils.ts +0 -26
  716. package/src/core/utils/handleRequest.test.ts +0 -574
  717. package/src/core/utils/handleRequest.ts +0 -117
  718. package/src/core/utils/internal/checkGlobals.ts +0 -17
  719. package/src/core/utils/internal/isHandlerKind.test.ts +0 -62
  720. package/src/core/utils/internal/isHandlerKind.ts +0 -17
  721. package/src/core/utils/internal/isIterable.ts +0 -32
  722. package/src/core/utils/internal/mergeRight.test.ts +0 -43
  723. package/src/core/utils/internal/mergeRight.ts +0 -30
  724. package/src/core/utils/internal/pipeEvents.test.ts +0 -14
  725. package/src/core/utils/internal/pipeEvents.ts +0 -26
  726. package/src/core/utils/internal/tryCatch.test.ts +0 -29
  727. package/src/core/utils/internal/tryCatch.ts +0 -11
  728. package/src/core/utils/matching/matchRequestUrl.test.ts +0 -267
  729. package/src/core/utils/matching/matchRequestUrl.ts +0 -77
  730. package/src/core/utils/request/getRequestCookies.ts +0 -88
  731. package/src/core/utils/request/onUnhandledRequest.node.test.ts +0 -62
  732. package/src/core/utils/request/onUnhandledRequest.test.ts +0 -226
  733. package/src/core/utils/request/onUnhandledRequest.ts +0 -81
  734. package/src/core/utils/request/storeResponseCookies.ts +0 -15
  735. package/src/core/utils/url/cleanUrl.test.ts +0 -22
  736. package/src/core/utils/url/cleanUrl.ts +0 -16
  737. package/src/core/utils/url/isAbsoluteUrl.test.ts +0 -32
  738. package/src/core/ws/handleWebSocketEvent.ts +0 -68
  739. package/src/core/ws/utils/getPublicData.ts +0 -18
  740. package/src/core/ws/webSocketInterceptor.ts +0 -3
  741. package/src/native/index.ts +0 -44
  742. package/src/package.json +0 -3
  743. package/src/shims/cookie.ts +0 -7
  744. package/src/shims/statuses.ts +0 -6
  745. /package/src/browser/utils/{getAbsoluteWorkerUrl.ts → get-absolute-worker-url.ts} +0 -0
  746. /package/src/core/utils/internal/{devUtils.ts → dev-utils.ts} +0 -0
  747. /package/src/core/utils/internal/{isObject.ts → is-object.ts} +0 -0
  748. /package/src/core/utils/internal/{isStringEqual.ts → is-string-equal.ts} +0 -0
  749. /package/src/core/utils/internal/{jsonParse.ts → json-parse.ts} +0 -0
  750. /package/src/core/utils/internal/{toReadonlyArray.ts → to-readonly-array.ts} +0 -0
  751. /package/src/core/utils/logging/{getStatusCodeColor.ts → get-status-code-color.ts} +0 -0
  752. /package/src/core/utils/logging/{getTimestamp.ts → get-timestamp.ts} +0 -0
  753. /package/src/core/utils/logging/{serializeRequest.ts → serialize-request.ts} +0 -0
  754. /package/src/core/utils/request/{getAllAcceptedMimeTypes.ts → get-all-accepted-mime-types.ts} +0 -0
  755. /package/src/core/utils/request/{toPublicUrl.ts → to-public-url.ts} +0 -0
  756. /package/src/core/utils/{toResponseInit.ts → to-response-init.ts} +0 -0
  757. /package/src/core/utils/url/{isAbsoluteUrl.ts → is-absolute-url.ts} +0 -0
  758. /package/src/{core → http}/http.test.ts +0 -0
  759. /package/src/{core/ws/utils/truncateMessage.ts → ws/utils/truncate-message.ts} +0 -0
@@ -10,7 +10,12 @@
10
10
  const PACKAGE_VERSION = '<PACKAGE_VERSION>'
11
11
  const INTEGRITY_CHECKSUM = '<INTEGRITY_CHECKSUM>'
12
12
  const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
13
+
13
14
  const activeClientIds = new Set()
15
+ /**
16
+ * @type {Map<string, Set<Promise<Response>>>}
17
+ */
18
+ const pendingRequests = new Map()
14
19
 
15
20
  addEventListener('install', function () {
16
21
  self.skipWaiting()
@@ -20,82 +25,101 @@ addEventListener('activate', function (event) {
20
25
  event.waitUntil(self.clients.claim())
21
26
  })
22
27
 
23
- addEventListener('message', async function (event) {
28
+ addEventListener('message', function (event) {
24
29
  const clientId = Reflect.get(event.source || {}, 'id')
25
30
 
26
31
  if (!clientId || !self.clients) {
27
32
  return
28
33
  }
29
34
 
30
- const client = await self.clients.get(clientId)
31
-
32
- if (!client) {
33
- return
34
- }
35
-
36
- const allClients = await self.clients.matchAll({
37
- type: 'window',
38
- })
39
-
40
- switch (event.data) {
41
- case 'KEEPALIVE_REQUEST': {
42
- sendToClient(client, {
43
- type: 'KEEPALIVE_RESPONSE',
44
- })
45
- break
46
- }
47
-
48
- case 'INTEGRITY_CHECK_REQUEST': {
49
- sendToClient(client, {
50
- type: 'INTEGRITY_CHECK_RESPONSE',
51
- payload: {
52
- packageVersion: PACKAGE_VERSION,
53
- checksum: INTEGRITY_CHECKSUM,
54
- },
55
- })
56
- break
57
- }
58
-
59
- case 'MOCK_ACTIVATE': {
60
- activeClientIds.add(clientId)
61
-
62
- sendToClient(client, {
63
- type: 'MOCKING_ENABLED',
64
- payload: {
65
- client: {
66
- id: client.id,
67
- frameType: client.frameType,
68
- },
69
- },
70
- })
71
- break
72
- }
73
-
74
- case 'CLIENT_CLOSED': {
75
- activeClientIds.delete(clientId)
35
+ event.waitUntil(
36
+ (async () => {
37
+ if (event.data === 'CLIENT_CLOSE') {
38
+ const allClients = await self.clients.matchAll({
39
+ type: 'window',
40
+ })
41
+
42
+ activeClientIds.delete(clientId)
43
+
44
+ // Await any pending requests from the closing client.
45
+ // This makes sure that those requests are handled and not passthrough.
46
+ const pending = pendingRequests.get(clientId)
47
+ if (pending != null && pending.size > 0) {
48
+ await Promise.allSettled(pending)
49
+ }
50
+ pendingRequests.delete(clientId)
51
+
52
+ const remainingClients = allClients.filter((client) => {
53
+ return client.id !== clientId
54
+ })
55
+
56
+ // Unregister itself when there are no more clients
57
+ if (remainingClients.length === 0) {
58
+ await self.registration.unregister()
59
+ }
60
+
61
+ const client = await self.clients.get(clientId)
62
+
63
+ if (client != null) {
64
+ await sendToClient(client, {
65
+ type: 'CLIENT_CLOSED',
66
+ })
67
+ }
68
+
69
+ return
70
+ }
76
71
 
77
- const remainingClients = allClients.filter((client) => {
78
- return client.id !== clientId
79
- })
72
+ /**
73
+ * @note Check for the client AFTER handling "CLIENT_CLOSE".
74
+ * This prevents early return on "!client" in case the page has reloaded
75
+ * and disassociated itself from the worker. This ensures self-unregistration
76
+ * still fires for those pages.
77
+ */
78
+ const client = await self.clients.get(clientId)
80
79
 
81
- // Unregister itself when there are no more clients
82
- if (remainingClients.length === 0) {
83
- self.registration.unregister()
80
+ if (!client) {
81
+ return
84
82
  }
85
83
 
86
- break
87
- }
88
- }
84
+ switch (event.data) {
85
+ case 'KEEPALIVE_REQUEST': {
86
+ await sendToClient(client, {
87
+ type: 'KEEPALIVE_RESPONSE',
88
+ })
89
+ break
90
+ }
91
+
92
+ case 'INTEGRITY_CHECK_REQUEST': {
93
+ await sendToClient(client, {
94
+ type: 'INTEGRITY_CHECK_RESPONSE',
95
+ payload: {
96
+ packageVersion: PACKAGE_VERSION,
97
+ checksum: INTEGRITY_CHECKSUM,
98
+ },
99
+ })
100
+ break
101
+ }
102
+
103
+ case 'MOCK_ACTIVATE': {
104
+ activeClientIds.add(clientId)
105
+
106
+ await sendToClient(client, {
107
+ type: 'MOCKING_ENABLED',
108
+ payload: {
109
+ client: {
110
+ id: client.id,
111
+ frameType: client.frameType,
112
+ },
113
+ },
114
+ })
115
+ break
116
+ }
117
+ }
118
+ })(),
119
+ )
89
120
  })
90
121
 
91
122
  addEventListener('fetch', function (event) {
92
- const requestInterceptedAt = Date.now()
93
-
94
- // Bypass navigation requests.
95
- if (event.request.mode === 'navigate') {
96
- return
97
- }
98
-
99
123
  // Opening the DevTools triggers the "only-if-cached" request
100
124
  // that cannot be handled by the worker. Bypass such requests.
101
125
  if (
@@ -113,23 +137,54 @@ addEventListener('fetch', function (event) {
113
137
  }
114
138
 
115
139
  const requestId = crypto.randomUUID()
116
- event.respondWith(handleRequest(event, requestId, requestInterceptedAt))
140
+ event.respondWith(handleRequest(event, requestId))
117
141
  })
118
142
 
119
143
  /**
120
144
  * @param {FetchEvent} event
121
145
  * @param {string} requestId
122
- * @param {number} requestInterceptedAt
123
146
  */
124
- async function handleRequest(event, requestId, requestInterceptedAt) {
147
+ async function handleRequest(event, requestId) {
125
148
  const client = await resolveMainClient(event)
126
149
  const requestCloneForEvents = event.request.clone()
127
- const response = await getResponse(
128
- event,
129
- client,
130
- requestId,
131
- requestInterceptedAt,
132
- )
150
+
151
+ const responsePromise = getResponse(event, client, requestId)
152
+
153
+ if (client != null) {
154
+ let pending = pendingRequests.get(client.id)
155
+
156
+ if (pending == null) {
157
+ pendingRequests.set(client.id, (pending = new Set()))
158
+ }
159
+
160
+ pending.add(responsePromise)
161
+ responsePromise
162
+ .finally(() => pending.delete(responsePromise))
163
+ .catch(() => {})
164
+ }
165
+
166
+ let response
167
+
168
+ try {
169
+ response = await responsePromise
170
+ } catch (error) {
171
+ // The request has settled without a response (e.g. a passthrough
172
+ // request failed with a network error). Notify the client so it
173
+ // can release the resources associated with this request.
174
+ if (client && activeClientIds.has(client.id)) {
175
+ sendToClient(client, {
176
+ type: 'REQUEST_ERROR',
177
+ payload: {
178
+ request: {
179
+ id: requestId,
180
+ },
181
+ error: serializeError(error),
182
+ },
183
+ })
184
+ }
185
+
186
+ throw error
187
+ }
133
188
 
134
189
  // Send back the response clone for the "response:*" life-cycle events.
135
190
  // Ensure MSW is active and ready to handle the message, otherwise
@@ -137,8 +192,18 @@ async function handleRequest(event, requestId, requestInterceptedAt) {
137
192
  if (client && activeClientIds.has(client.id)) {
138
193
  const serializedRequest = await serializeRequest(requestCloneForEvents)
139
194
 
195
+ // Omit the body of server-sent event stream responses.
196
+ // Cloning such responses would prevent client-side stream cancelations
197
+ // from reaching the original stream (a teed stream only cancels its
198
+ // source once both of its branches cancel) and would buffer the
199
+ // entire stream into the unconsumed clone indefinitely.
200
+ const isEventStreamResponse = response.headers
201
+ .get('content-type')
202
+ ?.toLowerCase()
203
+ .startsWith('text/event-stream')
204
+
140
205
  // Clone the response so both the client and the library could consume it.
141
- const responseClone = response.clone()
206
+ const responseClone = isEventStreamResponse ? null : response.clone()
142
207
 
143
208
  sendToClient(
144
209
  client,
@@ -151,15 +216,17 @@ async function handleRequest(event, requestId, requestInterceptedAt) {
151
216
  ...serializedRequest,
152
217
  },
153
218
  response: {
154
- type: responseClone.type,
155
- status: responseClone.status,
156
- statusText: responseClone.statusText,
157
- headers: Object.fromEntries(responseClone.headers.entries()),
158
- body: responseClone.body,
219
+ type: response.type,
220
+ status: response.status,
221
+ statusText: response.statusText,
222
+ headers: Object.fromEntries(response.headers.entries()),
223
+ body: responseClone ? responseClone.body : null,
159
224
  },
160
225
  },
161
226
  },
162
- responseClone.body ? [serializedRequest.body, responseClone.body] : [],
227
+ responseClone && responseClone.body
228
+ ? [serializedRequest.body, responseClone.body]
229
+ : [],
163
230
  )
164
231
  }
165
232
 
@@ -205,18 +272,32 @@ async function resolveMainClient(event) {
205
272
  * @param {FetchEvent} event
206
273
  * @param {Client | undefined} client
207
274
  * @param {string} requestId
208
- * @param {number} requestInterceptedAt
209
275
  * @returns {Promise<Response>}
210
276
  */
211
- async function getResponse(event, client, requestId, requestInterceptedAt) {
277
+ async function getResponse(event, client, requestId) {
212
278
  // Clone the request because it might've been already used
213
279
  // (i.e. its body has been read and sent to the client).
214
280
  const requestClone = event.request.clone()
215
281
 
216
- function passthrough() {
217
- // Cast the request headers to a new Headers instance
218
- // so the headers can be manipulated with.
219
- const headers = new Headers(requestClone.headers)
282
+ /**
283
+ * @param {{ request?: { headers?: Array<[string, string]> } }} [data]
284
+ */
285
+ function passthrough(data) {
286
+ const headers = new Headers()
287
+ const requestHeaders = data?.request?.headers
288
+
289
+ if (Array.isArray(requestHeaders)) {
290
+ // Apply the request headers provided by the client.
291
+ // Those reflect any modifications made in the request handlers.
292
+ // Use ".append()" to support multiple headers with the same name.
293
+ for (const [name, value] of requestHeaders) {
294
+ headers.append(name, value)
295
+ }
296
+ } else {
297
+ for (const [name, value] of requestClone.headers) {
298
+ headers.append(name, value)
299
+ }
300
+ }
220
301
 
221
302
  // Remove the "accept" header value that marked this request as passthrough.
222
303
  // This prevents request alteration and also keeps it compliant with the
@@ -259,7 +340,6 @@ async function getResponse(event, client, requestId, requestInterceptedAt) {
259
340
  type: 'REQUEST',
260
341
  payload: {
261
342
  id: requestId,
262
- interceptedAt: requestInterceptedAt,
263
343
  ...serializedRequest,
264
344
  },
265
345
  },
@@ -268,17 +348,35 @@ async function getResponse(event, client, requestId, requestInterceptedAt) {
268
348
 
269
349
  switch (clientMessage.type) {
270
350
  case 'MOCK_RESPONSE': {
271
- return respondWithMock(clientMessage.data)
351
+ return respondWithMock(clientMessage.data, event)
272
352
  }
273
353
 
274
354
  case 'PASSTHROUGH': {
275
- return passthrough()
355
+ return passthrough(clientMessage.data)
276
356
  }
277
357
  }
278
358
 
279
359
  return passthrough()
280
360
  }
281
361
 
362
+ /**
363
+ * @param {unknown} error
364
+ * @returns {{ name: string, message: string }}
365
+ */
366
+ function serializeError(error) {
367
+ if (error instanceof Error) {
368
+ return {
369
+ name: error.name,
370
+ message: error.message,
371
+ }
372
+ }
373
+
374
+ return {
375
+ name: 'Error',
376
+ message: String(error),
377
+ }
378
+ }
379
+
282
380
  /**
283
381
  * @param {Client} client
284
382
  * @param {any} message
@@ -306,9 +404,10 @@ function sendToClient(client, message, transferrables = []) {
306
404
 
307
405
  /**
308
406
  * @param {Response} response
309
- * @returns {Response}
407
+ * @param {FetchEvent} event
408
+ * @returns {Promise<Response>}
310
409
  */
311
- function respondWithMock(response) {
410
+ async function respondWithMock(response, event) {
312
411
  // Setting response status code to 0 is a no-op.
313
412
  // However, when responding with a "Response.error()", the produced Response
314
413
  // instance will have status code set to 0. Since it's not possible to create
@@ -317,7 +416,19 @@ function respondWithMock(response) {
317
416
  return Response.error()
318
417
  }
319
418
 
320
- const mockedResponse = new Response(response.body, response)
419
+ let body = response.body
420
+
421
+ // Buffer the streamed mocked response body for navigation requests.
422
+ // The stream is transferred from the client that is being navigated
423
+ // away from. Once the navigation commits, that client gets destroyed
424
+ // and the stream will never complete, resulting in an empty document.
425
+ // Buffering here keeps "event.respondWith()" pending (the navigation
426
+ // cannot commit) until the entire body arrives from the client.
427
+ if (event.request.mode === 'navigate' && body instanceof ReadableStream) {
428
+ body = await new Response(body).arrayBuffer()
429
+ }
430
+
431
+ const mockedResponse = new Response(body, response)
321
432
 
322
433
  Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
323
434
  value: true,
@@ -1,7 +1,7 @@
1
- import { http } from '../core/http'
1
+ import { http } from '#http/http'
2
2
  import { AsyncHandlersController } from './async-handlers-controller'
3
3
 
4
- it('respects initial handlers in the boundary', () => {
4
+ test('respects initial handlers in the boundary', () => {
5
5
  {
6
6
  const controller = new AsyncHandlersController([])
7
7
  controller.boundary(() => {
@@ -18,7 +18,7 @@ it('respects initial handlers in the boundary', () => {
18
18
  }
19
19
  })
20
20
 
21
- it('provides boundary-specific overrides', () => {
21
+ test('provides boundary-specific overrides', () => {
22
22
  const initialHandlers = [http.get('/one', () => {})]
23
23
  const controller = new AsyncHandlersController(initialHandlers)
24
24
 
@@ -34,7 +34,7 @@ it('provides boundary-specific overrides', () => {
34
34
  expect(controller.currentHandlers()).toEqual(initialHandlers)
35
35
  })
36
36
 
37
- it('resets the handlers in the boundary', () => {
37
+ test('resets the handlers in the boundary', () => {
38
38
  const initialHandlers = [http.get('/one', () => {})]
39
39
  const controller = new AsyncHandlersController(initialHandlers)
40
40
 
@@ -2,17 +2,21 @@ import type { PartialDeep } from 'type-fest'
2
2
  import type { HttpNetworkFrameEventMap } from '#core/experimental/frames/http-frame'
3
3
  import type { WebSocketNetworkFrameEventMap } from '#core/experimental/frames/websocket-frame'
4
4
  import type { AnyHandler } from '#core/experimental/handlers-controller'
5
- import type { LifeCycleEventEmitter, SharedOptions } from '#core/sharedOptions'
6
-
7
- export interface ListenOptions extends SharedOptions {}
5
+ import type { NetworkReadyState } from '#core/experimental/define-network'
6
+ import type { LifeCycleEventEmitter, SharedOptions } from '#core/shared-options'
8
7
 
9
8
  export interface SetupServerCommon {
9
+ /**
10
+ * The current ready state of the underlying network.
11
+ */
12
+ readonly readyState: NetworkReadyState
13
+
10
14
  /**
11
15
  * Starts the request interception based on the previously provided request handlers.
12
16
  *
13
17
  * @see {@link https://mswjs.io/docs/api/setup-server/listen `server.listen()` API reference}
14
18
  */
15
- listen: (options?: PartialDeep<ListenOptions>) => void
19
+ listen: (options?: PartialDeep<SharedOptions>) => void
16
20
 
17
21
  /**
18
22
  * Stops the request interception by restoring all augmented modules.
package/src/node/index.ts CHANGED
@@ -1,8 +1,3 @@
1
1
  export type { SetupServer } from './glossary'
2
- export {
3
- setupServer,
4
- SetupServerApi,
5
- defaultNetworkOptions,
6
- } from './setup-server'
7
- export { SetupServerCommonApi } from './setup-server-common'
2
+ export { setupServer, defaultNetworkOptions } from './setup-server'
8
3
  export { AsyncHandlersController } from './async-handlers-controller'
@@ -1,31 +1,33 @@
1
- import type { PartialDeep } from 'type-fest'
2
- import type { Interceptor } from '@mswjs/interceptors'
1
+ import { invariant } from 'outvariant'
3
2
  import {
4
3
  NetworkReadyState,
5
- defineNetwork,
6
4
  type NetworkApi,
7
5
  } from '#core/experimental/define-network'
8
- import type { AnyHandler } from '#core/experimental/handlers-controller'
9
- import type { HandlersController } from '#core/experimental/handlers-controller'
10
- import { InterceptorSource } from '#core/experimental/sources/interceptor-source'
11
- import { fromLegacyOnUnhandledRequest } from '#core/experimental/compat'
12
- import type { ListenOptions, SetupServerCommon } from './glossary'
6
+ import { devUtils } from '#core/utils/internal/dev-utils'
7
+ import type { SetupServerCommon } from './glossary'
13
8
 
14
9
  /**
15
- * Define the common `setupServer` API around the given network.
16
- * This is used by both `msw/node` and `msw/native` to implement the same
17
- * baseline setup methods, like `.use()`, `.resetHandlers()`, `.close()`, etc.
10
+ * Define the common `setupServer` API around the given network,
11
+ * including the baseline setup methods, like `.use()`, `.resetHandlers()`, `.close()`, etc.
18
12
  */
19
13
  export function defineSetupServerApi(
20
14
  network: NetworkApi<any>,
21
15
  ): SetupServerCommon {
22
16
  return {
17
+ get readyState() {
18
+ return network.readyState
19
+ },
23
20
  events: network.events,
24
21
  listen(options) {
22
+ invariant(
23
+ network.readyState === NetworkReadyState.DISABLED,
24
+ devUtils.formatMessage(
25
+ 'Failed to call "server.listen()": the server is already listening. Remove the redundant "server.listen()" call.',
26
+ ),
27
+ )
28
+
25
29
  network.configure({
26
- onUnhandledFrame: fromLegacyOnUnhandledRequest(() => {
27
- return options?.onUnhandledRequest || 'warn'
28
- }),
30
+ onUnhandledFrame: options?.onUnhandledFrame ?? 'warn',
29
31
  })
30
32
 
31
33
  network.enable()
@@ -35,66 +37,7 @@ export function defineSetupServerApi(
35
37
  restoreHandlers: network.restoreHandlers.bind(network),
36
38
  listHandlers: network.listHandlers.bind(network),
37
39
  close() {
38
- /**
39
- * @note Ignore closing after closed for backwards compatibility.
40
- */
41
- if (network.readyState === NetworkReadyState.DISABLED) {
42
- return
43
- }
44
-
45
40
  network.disable()
46
41
  },
47
42
  }
48
43
  }
49
-
50
- /**
51
- * @deprecated
52
- * Please use the `defineNetwork` API instead.
53
- */
54
- export class SetupServerCommonApi implements SetupServerCommon {
55
- protected network: NetworkApi<[InterceptorSource]>
56
-
57
- constructor(
58
- interceptors: Array<Interceptor<any>>,
59
- handlers: Array<AnyHandler> | HandlersController,
60
- ) {
61
- this.network = defineNetwork({
62
- sources: [new InterceptorSource({ interceptors })],
63
- handlers,
64
- })
65
- }
66
-
67
- get events() {
68
- return this.network.events
69
- }
70
-
71
- public listen(options?: PartialDeep<ListenOptions>): void {
72
- this.network.configure({
73
- onUnhandledFrame: fromLegacyOnUnhandledRequest(() => {
74
- return options?.onUnhandledRequest || 'warn'
75
- }),
76
- })
77
-
78
- this.network.enable()
79
- }
80
-
81
- public use(...handlers: Array<AnyHandler>): void {
82
- this.network.use(...handlers)
83
- }
84
-
85
- public resetHandlers(...nextHandlers: Array<AnyHandler>): void {
86
- return this.network.resetHandlers(...nextHandlers)
87
- }
88
-
89
- public restoreHandlers(): void {
90
- return this.network.restoreHandlers()
91
- }
92
-
93
- public listHandlers(): ReadonlyArray<AnyHandler> {
94
- return this.network.listHandlers()
95
- }
96
-
97
- public close(): void {
98
- this.network.disable()
99
- }
100
- }
@@ -11,22 +11,13 @@ import type { AnyHandler } from '#core/experimental/handlers-controller'
11
11
  import { InterceptorSource } from '#core/experimental/sources/interceptor-source'
12
12
  import type { SetupServer } from './glossary'
13
13
  import { AsyncHandlersController } from './async-handlers-controller'
14
- import {
15
- defineSetupServerApi,
16
- SetupServerCommonApi,
17
- } from './setup-server-common'
14
+ import { defineSetupServerApi } from './setup-server-common'
18
15
 
19
16
  const defaultInterceptors: Array<Interceptor<any>> = [
20
17
  new ClientRequestInterceptor(),
21
18
  new XMLHttpRequestInterceptor(),
22
19
  new FetchInterceptor(),
23
- /**
24
- * @fixme WebSocketInterceptor is in a browser-only export of Interceptors
25
- * while the Interceptor class imported from the root module points to `lib/node`.
26
- * An absolute madness to solve as it requires to duplicate the build config we have
27
- * in MSW: shared core, CJS/ESM patching, .d.ts patching...
28
- */
29
- new WebSocketInterceptor() as any,
20
+ new WebSocketInterceptor(),
30
21
  ]
31
22
 
32
23
  export const defaultNetworkOptions: DefineNetworkOptions<[InterceptorSource]> =
@@ -57,35 +48,13 @@ export function setupServer(...handlers: Array<AnyHandler>): SetupServer {
57
48
 
58
49
  return {
59
50
  ...commonApi,
51
+ /**
52
+ * @note Spreading evaluates the "readyState" getter once.
53
+ * Redefine it so the property stays live.
54
+ */
55
+ get readyState() {
56
+ return network.readyState
57
+ },
60
58
  boundary: handlersController.boundary.bind(handlersController),
61
59
  }
62
60
  }
63
-
64
- /**
65
- * @deprecated
66
- * Please use the `defineNetwork` API instead.
67
- */
68
- export class SetupServerApi
69
- extends SetupServerCommonApi
70
- implements SetupServer
71
- {
72
- #handlersController: AsyncHandlersController
73
-
74
- public boundary: AsyncHandlersController['boundary']
75
-
76
- constructor(
77
- handlers: Array<AnyHandler>,
78
- interceptors: Array<Interceptor<any>>,
79
- ) {
80
- const controller = new AsyncHandlersController(handlers)
81
- super(interceptors, controller)
82
-
83
- const { sources: _, ...networkOptions } = defaultNetworkOptions
84
- this.network.configure(networkOptions)
85
-
86
- this.#handlersController = controller
87
- this.boundary = this.#handlersController.boundary.bind(
88
- this.#handlersController,
89
- )
90
- }
91
- }
@@ -0,0 +1,14 @@
1
+ import { HttpHandler } from '#http/http-handler'
2
+ import { sse } from './index'
3
+
4
+ beforeAll(() => {
5
+ vi.stubGlobal('EventSource', class EventSource {})
6
+ })
7
+
8
+ afterAll(() => {
9
+ vi.unstubAllGlobals()
10
+ })
11
+
12
+ test('exposes the sse request handler', () => {
13
+ expect(sse('/stream', () => {})).toBeInstanceOf(HttpHandler)
14
+ })
@@ -0,0 +1,7 @@
1
+ export {
2
+ sse,
3
+ type ServerSentEventRequestHandler,
4
+ type ServerSentEventResolver,
5
+ type ServerSentEventResolverExtras,
6
+ type ServerSentEventMessage,
7
+ } from './sse'