@rangojs/router 0.10.0 → 0.11.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 (868) hide show
  1. package/AGENTS.md +1 -1
  2. package/LICENSE +21 -0
  3. package/README.md +17 -15
  4. package/dist/types/browser/partial-update.d.ts +1 -0
  5. package/dist/types/cache/cf/cf-cache-constants.d.ts +1 -1
  6. package/dist/types/cache/cf/cf-cache-store.d.ts +1 -1
  7. package/dist/types/client-urls/navigation.d.ts +11 -0
  8. package/dist/types/client-urls/revalidate-chain.d.ts +33 -0
  9. package/dist/types/client-urls/types.d.ts +41 -14
  10. package/dist/types/client.d.ts +2 -0
  11. package/dist/types/index.d.ts +1 -1
  12. package/dist/types/index.rsc.d.ts +1 -1
  13. package/dist/types/router/is-action.d.ts +34 -0
  14. package/dist/types/rsc/shell-capture-constants.d.ts +1 -1
  15. package/dist/types/testing/index.d.ts +3 -1
  16. package/dist/types/testing/run-client-revalidate.d.ts +43 -0
  17. package/dist/types/testing/to-url.d.ts +2 -0
  18. package/dist/types/types/handler-context.d.ts +12 -5
  19. package/dist/types/types/index.d.ts +1 -1
  20. package/dist/types/vite/plugins/expose-action-id.d.ts +14 -0
  21. package/dist/vite/index.js +19 -6
  22. package/package.json +6 -5
  23. package/skills/bundle-analysis/SKILL.md +1 -1
  24. package/skills/client-urls/SKILL.md +26 -4
  25. package/skills/loader/SKILL.md +1 -0
  26. package/skills/testing/SKILL.md +2 -1
  27. package/skills/testing/bindings.md +1 -1
  28. package/skills/testing/cache-prerender.md +1 -1
  29. package/skills/testing/client-components.md +1 -1
  30. package/skills/testing/e2e-parity.md +1 -1
  31. package/skills/testing/flight.md +1 -1
  32. package/skills/testing/handles.md +1 -1
  33. package/skills/testing/loader.md +1 -1
  34. package/skills/testing/middleware.md +1 -1
  35. package/skills/testing/render-handler.md +1 -1
  36. package/skills/testing/response-routes.md +1 -1
  37. package/skills/testing/reverse-and-types.md +1 -1
  38. package/skills/testing/server-actions.md +1 -1
  39. package/skills/testing/server-tree.md +1 -1
  40. package/skills/testing/setup.md +1 -1
  41. package/skills/typesafety/route-types.md +1 -0
  42. package/src/browser/partial-update.ts +11 -2
  43. package/src/browser/server-action-bridge.ts +9 -2
  44. package/src/cache/cache-runtime.ts +2 -2
  45. package/src/cache/cf/cf-cache-constants.ts +1 -1
  46. package/src/cache/cf/cf-cache-store.ts +1 -1
  47. package/src/client-urls/navigation.ts +40 -42
  48. package/src/client-urls/revalidate-chain.ts +83 -0
  49. package/src/client-urls/types.ts +41 -13
  50. package/src/client.tsx +5 -0
  51. package/src/index.rsc.ts +1 -0
  52. package/src/index.ts +1 -0
  53. package/src/router/is-action.ts +100 -0
  54. package/src/router/revalidation.ts +5 -48
  55. package/src/rsc/server-action.ts +2 -4
  56. package/src/rsc/shell-capture-constants.ts +1 -1
  57. package/src/rsc/shell-capture.ts +2 -2
  58. package/src/testing/index.ts +4 -1
  59. package/src/testing/run-client-revalidate.ts +108 -0
  60. package/src/testing/run-transition-when.ts +1 -3
  61. package/src/testing/to-url.ts +5 -0
  62. package/src/types/handler-context.ts +13 -5
  63. package/src/types/index.ts +1 -0
  64. package/src/vite/plugins/expose-action-id.ts +29 -1
  65. package/dist/__internal.d.ts +0 -83
  66. package/dist/__internal.d.ts.map +0 -1
  67. package/dist/__internal.js +0 -19
  68. package/dist/__internal.js.map +0 -1
  69. package/dist/__mocks__/version.d.ts +0 -7
  70. package/dist/__mocks__/version.d.ts.map +0 -1
  71. package/dist/__mocks__/version.js +0 -7
  72. package/dist/__mocks__/version.js.map +0 -1
  73. package/dist/__tests__/client-href.test.d.ts +0 -2
  74. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  75. package/dist/__tests__/client-href.test.js +0 -74
  76. package/dist/__tests__/client-href.test.js.map +0 -1
  77. package/dist/__tests__/component-utils.test.d.ts +0 -2
  78. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  79. package/dist/__tests__/component-utils.test.js +0 -51
  80. package/dist/__tests__/component-utils.test.js.map +0 -1
  81. package/dist/__tests__/event-controller.test.d.ts +0 -2
  82. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  83. package/dist/__tests__/event-controller.test.js +0 -538
  84. package/dist/__tests__/event-controller.test.js.map +0 -1
  85. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  86. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  87. package/dist/__tests__/helpers/route-tree.js +0 -374
  88. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  89. package/dist/__tests__/match-result.test.d.ts +0 -2
  90. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  91. package/dist/__tests__/match-result.test.js +0 -154
  92. package/dist/__tests__/match-result.test.js.map +0 -1
  93. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  94. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  95. package/dist/__tests__/navigation-store.test.js +0 -440
  96. package/dist/__tests__/navigation-store.test.js.map +0 -1
  97. package/dist/__tests__/partial-update.test.d.ts +0 -2
  98. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  99. package/dist/__tests__/partial-update.test.js +0 -1009
  100. package/dist/__tests__/partial-update.test.js.map +0 -1
  101. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  102. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  103. package/dist/__tests__/reverse-types.test.js +0 -656
  104. package/dist/__tests__/reverse-types.test.js.map +0 -1
  105. package/dist/__tests__/route-definition.test.d.ts +0 -2
  106. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  107. package/dist/__tests__/route-definition.test.js +0 -55
  108. package/dist/__tests__/route-definition.test.js.map +0 -1
  109. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  110. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  111. package/dist/__tests__/router-helpers.test.js +0 -377
  112. package/dist/__tests__/router-helpers.test.js.map +0 -1
  113. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  114. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  115. package/dist/__tests__/router-integration-2.test.js +0 -426
  116. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  117. package/dist/__tests__/router-integration.test.d.ts +0 -2
  118. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  119. package/dist/__tests__/router-integration.test.js +0 -1051
  120. package/dist/__tests__/router-integration.test.js.map +0 -1
  121. package/dist/__tests__/search-params.test.d.ts +0 -5
  122. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  123. package/dist/__tests__/search-params.test.js +0 -306
  124. package/dist/__tests__/search-params.test.js.map +0 -1
  125. package/dist/__tests__/segment-system.test.d.ts +0 -2
  126. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  127. package/dist/__tests__/segment-system.test.js +0 -627
  128. package/dist/__tests__/segment-system.test.js.map +0 -1
  129. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  130. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  131. package/dist/__tests__/static-handler-types.test.js +0 -63
  132. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  133. package/dist/__tests__/urls.test.d.ts +0 -2
  134. package/dist/__tests__/urls.test.d.ts.map +0 -1
  135. package/dist/__tests__/urls.test.js +0 -421
  136. package/dist/__tests__/urls.test.js.map +0 -1
  137. package/dist/__tests__/use-mount.test.d.ts +0 -2
  138. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  139. package/dist/__tests__/use-mount.test.js +0 -35
  140. package/dist/__tests__/use-mount.test.js.map +0 -1
  141. package/dist/bin/rango.d.ts +0 -2
  142. package/dist/bin/rango.d.ts.map +0 -1
  143. package/dist/bin/rango.js.map +0 -1
  144. package/dist/browser/event-controller.d.ts +0 -191
  145. package/dist/browser/event-controller.d.ts.map +0 -1
  146. package/dist/browser/event-controller.js +0 -559
  147. package/dist/browser/event-controller.js.map +0 -1
  148. package/dist/browser/index.d.ts +0 -2
  149. package/dist/browser/index.d.ts.map +0 -1
  150. package/dist/browser/index.js +0 -14
  151. package/dist/browser/index.js.map +0 -1
  152. package/dist/browser/link-interceptor.d.ts +0 -38
  153. package/dist/browser/link-interceptor.d.ts.map +0 -1
  154. package/dist/browser/link-interceptor.js +0 -99
  155. package/dist/browser/link-interceptor.js.map +0 -1
  156. package/dist/browser/logging.d.ts +0 -10
  157. package/dist/browser/logging.d.ts.map +0 -1
  158. package/dist/browser/logging.js +0 -29
  159. package/dist/browser/logging.js.map +0 -1
  160. package/dist/browser/lru-cache.d.ts +0 -17
  161. package/dist/browser/lru-cache.d.ts.map +0 -1
  162. package/dist/browser/lru-cache.js +0 -50
  163. package/dist/browser/lru-cache.js.map +0 -1
  164. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  165. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  166. package/dist/browser/merge-segment-loaders.js +0 -102
  167. package/dist/browser/merge-segment-loaders.js.map +0 -1
  168. package/dist/browser/navigation-bridge.d.ts +0 -102
  169. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  170. package/dist/browser/navigation-bridge.js +0 -708
  171. package/dist/browser/navigation-bridge.js.map +0 -1
  172. package/dist/browser/navigation-client.d.ts +0 -25
  173. package/dist/browser/navigation-client.d.ts.map +0 -1
  174. package/dist/browser/navigation-client.js +0 -157
  175. package/dist/browser/navigation-client.js.map +0 -1
  176. package/dist/browser/navigation-store.d.ts +0 -101
  177. package/dist/browser/navigation-store.d.ts.map +0 -1
  178. package/dist/browser/navigation-store.js +0 -625
  179. package/dist/browser/navigation-store.js.map +0 -1
  180. package/dist/browser/partial-update.d.ts +0 -75
  181. package/dist/browser/partial-update.d.ts.map +0 -1
  182. package/dist/browser/partial-update.js +0 -426
  183. package/dist/browser/partial-update.js.map +0 -1
  184. package/dist/browser/react/Link.d.ts +0 -86
  185. package/dist/browser/react/Link.d.ts.map +0 -1
  186. package/dist/browser/react/Link.js +0 -128
  187. package/dist/browser/react/Link.js.map +0 -1
  188. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  189. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  190. package/dist/browser/react/NavigationProvider.js +0 -216
  191. package/dist/browser/react/NavigationProvider.js.map +0 -1
  192. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  193. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  194. package/dist/browser/react/ScrollRestoration.js +0 -57
  195. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  196. package/dist/browser/react/context.d.ts +0 -46
  197. package/dist/browser/react/context.d.ts.map +0 -1
  198. package/dist/browser/react/context.js +0 -10
  199. package/dist/browser/react/context.js.map +0 -1
  200. package/dist/browser/react/index.d.ts +0 -11
  201. package/dist/browser/react/index.d.ts.map +0 -1
  202. package/dist/browser/react/index.js +0 -22
  203. package/dist/browser/react/index.js.map +0 -1
  204. package/dist/browser/react/location-state-shared.d.ts +0 -63
  205. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  206. package/dist/browser/react/location-state-shared.js +0 -81
  207. package/dist/browser/react/location-state-shared.js.map +0 -1
  208. package/dist/browser/react/location-state.d.ts +0 -23
  209. package/dist/browser/react/location-state.d.ts.map +0 -1
  210. package/dist/browser/react/location-state.js +0 -29
  211. package/dist/browser/react/location-state.js.map +0 -1
  212. package/dist/browser/react/mount-context.d.ts +0 -24
  213. package/dist/browser/react/mount-context.d.ts.map +0 -1
  214. package/dist/browser/react/mount-context.js +0 -24
  215. package/dist/browser/react/mount-context.js.map +0 -1
  216. package/dist/browser/react/use-action.d.ts +0 -64
  217. package/dist/browser/react/use-action.d.ts.map +0 -1
  218. package/dist/browser/react/use-action.js +0 -134
  219. package/dist/browser/react/use-action.js.map +0 -1
  220. package/dist/browser/react/use-client-cache.d.ts +0 -41
  221. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  222. package/dist/browser/react/use-client-cache.js +0 -39
  223. package/dist/browser/react/use-client-cache.js.map +0 -1
  224. package/dist/browser/react/use-handle.d.ts +0 -31
  225. package/dist/browser/react/use-handle.d.ts.map +0 -1
  226. package/dist/browser/react/use-handle.js +0 -144
  227. package/dist/browser/react/use-handle.js.map +0 -1
  228. package/dist/browser/react/use-href.d.ts +0 -33
  229. package/dist/browser/react/use-href.d.ts.map +0 -1
  230. package/dist/browser/react/use-href.js +0 -39
  231. package/dist/browser/react/use-href.js.map +0 -1
  232. package/dist/browser/react/use-link-status.d.ts +0 -37
  233. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  234. package/dist/browser/react/use-link-status.js +0 -99
  235. package/dist/browser/react/use-link-status.js.map +0 -1
  236. package/dist/browser/react/use-mount.d.ts +0 -25
  237. package/dist/browser/react/use-mount.d.ts.map +0 -1
  238. package/dist/browser/react/use-mount.js +0 -30
  239. package/dist/browser/react/use-mount.js.map +0 -1
  240. package/dist/browser/react/use-navigation.d.ts +0 -27
  241. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  242. package/dist/browser/react/use-navigation.js +0 -87
  243. package/dist/browser/react/use-navigation.js.map +0 -1
  244. package/dist/browser/react/use-segments.d.ts +0 -38
  245. package/dist/browser/react/use-segments.d.ts.map +0 -1
  246. package/dist/browser/react/use-segments.js +0 -130
  247. package/dist/browser/react/use-segments.js.map +0 -1
  248. package/dist/browser/request-controller.d.ts +0 -26
  249. package/dist/browser/request-controller.d.ts.map +0 -1
  250. package/dist/browser/request-controller.js +0 -147
  251. package/dist/browser/request-controller.js.map +0 -1
  252. package/dist/browser/rsc-router.d.ts +0 -129
  253. package/dist/browser/rsc-router.d.ts.map +0 -1
  254. package/dist/browser/rsc-router.js +0 -195
  255. package/dist/browser/rsc-router.js.map +0 -1
  256. package/dist/browser/scroll-restoration.d.ts +0 -93
  257. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  258. package/dist/browser/scroll-restoration.js +0 -321
  259. package/dist/browser/scroll-restoration.js.map +0 -1
  260. package/dist/browser/segment-structure-assert.d.ts +0 -17
  261. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  262. package/dist/browser/segment-structure-assert.js +0 -59
  263. package/dist/browser/segment-structure-assert.js.map +0 -1
  264. package/dist/browser/server-action-bridge.d.ts +0 -26
  265. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  266. package/dist/browser/server-action-bridge.js +0 -668
  267. package/dist/browser/server-action-bridge.js.map +0 -1
  268. package/dist/browser/shallow.d.ts +0 -12
  269. package/dist/browser/shallow.d.ts.map +0 -1
  270. package/dist/browser/shallow.js +0 -34
  271. package/dist/browser/shallow.js.map +0 -1
  272. package/dist/browser/types.d.ts +0 -369
  273. package/dist/browser/types.d.ts.map +0 -1
  274. package/dist/browser/types.js +0 -2
  275. package/dist/browser/types.js.map +0 -1
  276. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  277. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  278. package/dist/build/__tests__/generate-cli.test.js +0 -237
  279. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  280. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  281. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  282. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  283. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  284. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  285. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  286. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  287. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  288. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  289. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  290. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  291. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  292. package/dist/build/generate-manifest.d.ts +0 -81
  293. package/dist/build/generate-manifest.d.ts.map +0 -1
  294. package/dist/build/generate-manifest.js +0 -276
  295. package/dist/build/generate-manifest.js.map +0 -1
  296. package/dist/build/generate-route-types.d.ts +0 -115
  297. package/dist/build/generate-route-types.d.ts.map +0 -1
  298. package/dist/build/generate-route-types.js +0 -740
  299. package/dist/build/generate-route-types.js.map +0 -1
  300. package/dist/build/index.d.ts +0 -21
  301. package/dist/build/index.d.ts.map +0 -1
  302. package/dist/build/index.js +0 -21
  303. package/dist/build/index.js.map +0 -1
  304. package/dist/build/route-trie.d.ts +0 -71
  305. package/dist/build/route-trie.d.ts.map +0 -1
  306. package/dist/build/route-trie.js +0 -175
  307. package/dist/build/route-trie.js.map +0 -1
  308. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  309. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  310. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  311. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  312. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  313. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  314. package/dist/cache/__tests__/document-cache.test.js +0 -345
  315. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  316. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  317. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  318. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  319. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  320. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  321. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  322. package/dist/cache/__tests__/memory-store.test.js +0 -367
  323. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  324. package/dist/cache/cache-scope.d.ts +0 -102
  325. package/dist/cache/cache-scope.d.ts.map +0 -1
  326. package/dist/cache/cache-scope.js +0 -440
  327. package/dist/cache/cache-scope.js.map +0 -1
  328. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  329. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  330. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  331. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  332. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  333. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  334. package/dist/cache/cf/cf-cache-store.js +0 -242
  335. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  336. package/dist/cache/cf/index.d.ts +0 -14
  337. package/dist/cache/cf/index.d.ts.map +0 -1
  338. package/dist/cache/cf/index.js +0 -17
  339. package/dist/cache/cf/index.js.map +0 -1
  340. package/dist/cache/document-cache.d.ts +0 -64
  341. package/dist/cache/document-cache.d.ts.map +0 -1
  342. package/dist/cache/document-cache.js +0 -228
  343. package/dist/cache/document-cache.js.map +0 -1
  344. package/dist/cache/index.d.ts +0 -19
  345. package/dist/cache/index.d.ts.map +0 -1
  346. package/dist/cache/index.js +0 -21
  347. package/dist/cache/index.js.map +0 -1
  348. package/dist/cache/memory-segment-store.d.ts +0 -110
  349. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  350. package/dist/cache/memory-segment-store.js +0 -117
  351. package/dist/cache/memory-segment-store.js.map +0 -1
  352. package/dist/cache/memory-store.d.ts +0 -41
  353. package/dist/cache/memory-store.d.ts.map +0 -1
  354. package/dist/cache/memory-store.js +0 -191
  355. package/dist/cache/memory-store.js.map +0 -1
  356. package/dist/cache/types.d.ts +0 -317
  357. package/dist/cache/types.d.ts.map +0 -1
  358. package/dist/cache/types.js +0 -12
  359. package/dist/cache/types.js.map +0 -1
  360. package/dist/client.d.ts +0 -248
  361. package/dist/client.d.ts.map +0 -1
  362. package/dist/client.js +0 -367
  363. package/dist/client.js.map +0 -1
  364. package/dist/client.rsc.d.ts +0 -26
  365. package/dist/client.rsc.d.ts.map +0 -1
  366. package/dist/client.rsc.js +0 -46
  367. package/dist/client.rsc.js.map +0 -1
  368. package/dist/component-utils.d.ts +0 -36
  369. package/dist/component-utils.d.ts.map +0 -1
  370. package/dist/component-utils.js +0 -61
  371. package/dist/component-utils.js.map +0 -1
  372. package/dist/components/DefaultDocument.d.ts +0 -13
  373. package/dist/components/DefaultDocument.d.ts.map +0 -1
  374. package/dist/components/DefaultDocument.js +0 -15
  375. package/dist/components/DefaultDocument.js.map +0 -1
  376. package/dist/debug.d.ts +0 -58
  377. package/dist/debug.d.ts.map +0 -1
  378. package/dist/debug.js +0 -157
  379. package/dist/debug.js.map +0 -1
  380. package/dist/default-error-boundary.d.ts +0 -11
  381. package/dist/default-error-boundary.d.ts.map +0 -1
  382. package/dist/default-error-boundary.js +0 -45
  383. package/dist/default-error-boundary.js.map +0 -1
  384. package/dist/deps/browser.d.ts +0 -2
  385. package/dist/deps/browser.d.ts.map +0 -1
  386. package/dist/deps/browser.js +0 -3
  387. package/dist/deps/browser.js.map +0 -1
  388. package/dist/deps/html-stream-client.d.ts +0 -2
  389. package/dist/deps/html-stream-client.d.ts.map +0 -1
  390. package/dist/deps/html-stream-client.js +0 -3
  391. package/dist/deps/html-stream-client.js.map +0 -1
  392. package/dist/deps/html-stream-server.d.ts +0 -2
  393. package/dist/deps/html-stream-server.d.ts.map +0 -1
  394. package/dist/deps/html-stream-server.js +0 -3
  395. package/dist/deps/html-stream-server.js.map +0 -1
  396. package/dist/deps/rsc.d.ts +0 -2
  397. package/dist/deps/rsc.d.ts.map +0 -1
  398. package/dist/deps/rsc.js +0 -4
  399. package/dist/deps/rsc.js.map +0 -1
  400. package/dist/deps/ssr.d.ts +0 -2
  401. package/dist/deps/ssr.d.ts.map +0 -1
  402. package/dist/deps/ssr.js +0 -3
  403. package/dist/deps/ssr.js.map +0 -1
  404. package/dist/errors.d.ts +0 -174
  405. package/dist/errors.d.ts.map +0 -1
  406. package/dist/errors.js +0 -241
  407. package/dist/errors.js.map +0 -1
  408. package/dist/handle.d.ts +0 -78
  409. package/dist/handle.d.ts.map +0 -1
  410. package/dist/handle.js +0 -82
  411. package/dist/handle.js.map +0 -1
  412. package/dist/handles/MetaTags.d.ts +0 -14
  413. package/dist/handles/MetaTags.d.ts.map +0 -1
  414. package/dist/handles/MetaTags.js +0 -136
  415. package/dist/handles/MetaTags.js.map +0 -1
  416. package/dist/handles/index.d.ts +0 -6
  417. package/dist/handles/index.d.ts.map +0 -1
  418. package/dist/handles/index.js +0 -6
  419. package/dist/handles/index.js.map +0 -1
  420. package/dist/handles/meta.d.ts +0 -39
  421. package/dist/handles/meta.d.ts.map +0 -1
  422. package/dist/handles/meta.js +0 -202
  423. package/dist/handles/meta.js.map +0 -1
  424. package/dist/host/__tests__/errors.test.d.ts +0 -2
  425. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  426. package/dist/host/__tests__/errors.test.js +0 -76
  427. package/dist/host/__tests__/errors.test.js.map +0 -1
  428. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  429. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  430. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  431. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  432. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  433. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  434. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  435. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  436. package/dist/host/__tests__/router.test.d.ts +0 -2
  437. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  438. package/dist/host/__tests__/router.test.js +0 -241
  439. package/dist/host/__tests__/router.test.js.map +0 -1
  440. package/dist/host/__tests__/testing.test.d.ts +0 -2
  441. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  442. package/dist/host/__tests__/testing.test.js +0 -64
  443. package/dist/host/__tests__/testing.test.js.map +0 -1
  444. package/dist/host/__tests__/utils.test.d.ts +0 -2
  445. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  446. package/dist/host/__tests__/utils.test.js +0 -29
  447. package/dist/host/__tests__/utils.test.js.map +0 -1
  448. package/dist/host/cookie-handler.d.ts +0 -34
  449. package/dist/host/cookie-handler.d.ts.map +0 -1
  450. package/dist/host/cookie-handler.js +0 -124
  451. package/dist/host/cookie-handler.js.map +0 -1
  452. package/dist/host/errors.d.ts +0 -56
  453. package/dist/host/errors.d.ts.map +0 -1
  454. package/dist/host/errors.js +0 -79
  455. package/dist/host/errors.js.map +0 -1
  456. package/dist/host/index.d.ts +0 -29
  457. package/dist/host/index.d.ts.map +0 -1
  458. package/dist/host/index.js +0 -32
  459. package/dist/host/index.js.map +0 -1
  460. package/dist/host/pattern-matcher.d.ts +0 -36
  461. package/dist/host/pattern-matcher.d.ts.map +0 -1
  462. package/dist/host/pattern-matcher.js +0 -172
  463. package/dist/host/pattern-matcher.js.map +0 -1
  464. package/dist/host/router.d.ts +0 -26
  465. package/dist/host/router.d.ts.map +0 -1
  466. package/dist/host/router.js +0 -218
  467. package/dist/host/router.js.map +0 -1
  468. package/dist/host/testing.d.ts +0 -36
  469. package/dist/host/testing.d.ts.map +0 -1
  470. package/dist/host/testing.js +0 -55
  471. package/dist/host/testing.js.map +0 -1
  472. package/dist/host/types.d.ts +0 -115
  473. package/dist/host/types.d.ts.map +0 -1
  474. package/dist/host/types.js +0 -7
  475. package/dist/host/types.js.map +0 -1
  476. package/dist/host/utils.d.ts +0 -21
  477. package/dist/host/utils.d.ts.map +0 -1
  478. package/dist/host/utils.js +0 -23
  479. package/dist/host/utils.js.map +0 -1
  480. package/dist/href-client.d.ts +0 -131
  481. package/dist/href-client.d.ts.map +0 -1
  482. package/dist/href-client.js +0 -64
  483. package/dist/href-client.js.map +0 -1
  484. package/dist/href-context.d.ts +0 -29
  485. package/dist/href-context.d.ts.map +0 -1
  486. package/dist/href-context.js +0 -21
  487. package/dist/href-context.js.map +0 -1
  488. package/dist/index.d.ts +0 -73
  489. package/dist/index.d.ts.map +0 -1
  490. package/dist/index.js +0 -91
  491. package/dist/index.js.map +0 -1
  492. package/dist/index.rsc.d.ts +0 -32
  493. package/dist/index.rsc.d.ts.map +0 -1
  494. package/dist/index.rsc.js +0 -40
  495. package/dist/index.rsc.js.map +0 -1
  496. package/dist/internal-debug.d.ts +0 -2
  497. package/dist/internal-debug.d.ts.map +0 -1
  498. package/dist/internal-debug.js +0 -5
  499. package/dist/internal-debug.js.map +0 -1
  500. package/dist/loader.d.ts +0 -14
  501. package/dist/loader.d.ts.map +0 -1
  502. package/dist/loader.js +0 -20
  503. package/dist/loader.js.map +0 -1
  504. package/dist/loader.rsc.d.ts +0 -19
  505. package/dist/loader.rsc.d.ts.map +0 -1
  506. package/dist/loader.rsc.js +0 -99
  507. package/dist/loader.rsc.js.map +0 -1
  508. package/dist/network-error-thrower.d.ts +0 -17
  509. package/dist/network-error-thrower.d.ts.map +0 -1
  510. package/dist/network-error-thrower.js +0 -14
  511. package/dist/network-error-thrower.js.map +0 -1
  512. package/dist/outlet-context.d.ts +0 -13
  513. package/dist/outlet-context.d.ts.map +0 -1
  514. package/dist/outlet-context.js +0 -3
  515. package/dist/outlet-context.js.map +0 -1
  516. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  517. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  518. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  519. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  520. package/dist/prerender/param-hash.d.ts +0 -16
  521. package/dist/prerender/param-hash.d.ts.map +0 -1
  522. package/dist/prerender/param-hash.js +0 -36
  523. package/dist/prerender/param-hash.js.map +0 -1
  524. package/dist/prerender/store.d.ts +0 -38
  525. package/dist/prerender/store.d.ts.map +0 -1
  526. package/dist/prerender/store.js +0 -61
  527. package/dist/prerender/store.js.map +0 -1
  528. package/dist/prerender.d.ts +0 -66
  529. package/dist/prerender.d.ts.map +0 -1
  530. package/dist/prerender.js +0 -57
  531. package/dist/prerender.js.map +0 -1
  532. package/dist/reverse.d.ts +0 -196
  533. package/dist/reverse.d.ts.map +0 -1
  534. package/dist/reverse.js +0 -78
  535. package/dist/reverse.js.map +0 -1
  536. package/dist/root-error-boundary.d.ts +0 -33
  537. package/dist/root-error-boundary.d.ts.map +0 -1
  538. package/dist/root-error-boundary.js +0 -165
  539. package/dist/root-error-boundary.js.map +0 -1
  540. package/dist/route-content-wrapper.d.ts +0 -46
  541. package/dist/route-content-wrapper.d.ts.map +0 -1
  542. package/dist/route-content-wrapper.js +0 -77
  543. package/dist/route-content-wrapper.js.map +0 -1
  544. package/dist/route-definition.d.ts +0 -421
  545. package/dist/route-definition.d.ts.map +0 -1
  546. package/dist/route-definition.js +0 -868
  547. package/dist/route-definition.js.map +0 -1
  548. package/dist/route-map-builder.d.ts +0 -155
  549. package/dist/route-map-builder.d.ts.map +0 -1
  550. package/dist/route-map-builder.js +0 -237
  551. package/dist/route-map-builder.js.map +0 -1
  552. package/dist/route-types.d.ts +0 -165
  553. package/dist/route-types.d.ts.map +0 -1
  554. package/dist/route-types.js +0 -7
  555. package/dist/route-types.js.map +0 -1
  556. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  557. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  558. package/dist/router/__tests__/handler-context.test.js +0 -65
  559. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  560. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  561. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  562. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  563. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  564. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  565. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  566. package/dist/router/__tests__/match-context.test.js +0 -92
  567. package/dist/router/__tests__/match-context.test.js.map +0 -1
  568. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  569. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  570. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  571. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  572. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  573. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  574. package/dist/router/__tests__/match-result.test.js +0 -457
  575. package/dist/router/__tests__/match-result.test.js.map +0 -1
  576. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  577. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  578. package/dist/router/__tests__/on-error.test.js +0 -678
  579. package/dist/router/__tests__/on-error.test.js.map +0 -1
  580. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  581. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  582. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  583. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  584. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  585. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  586. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  587. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  588. package/dist/router/error-handling.d.ts +0 -77
  589. package/dist/router/error-handling.d.ts.map +0 -1
  590. package/dist/router/error-handling.js +0 -202
  591. package/dist/router/error-handling.js.map +0 -1
  592. package/dist/router/handler-context.d.ts +0 -20
  593. package/dist/router/handler-context.d.ts.map +0 -1
  594. package/dist/router/handler-context.js +0 -198
  595. package/dist/router/handler-context.js.map +0 -1
  596. package/dist/router/intercept-resolution.d.ts +0 -66
  597. package/dist/router/intercept-resolution.d.ts.map +0 -1
  598. package/dist/router/intercept-resolution.js +0 -246
  599. package/dist/router/intercept-resolution.js.map +0 -1
  600. package/dist/router/loader-resolution.d.ts +0 -64
  601. package/dist/router/loader-resolution.d.ts.map +0 -1
  602. package/dist/router/loader-resolution.js +0 -284
  603. package/dist/router/loader-resolution.js.map +0 -1
  604. package/dist/router/logging.d.ts +0 -15
  605. package/dist/router/logging.d.ts.map +0 -1
  606. package/dist/router/logging.js +0 -99
  607. package/dist/router/logging.js.map +0 -1
  608. package/dist/router/manifest.d.ts +0 -22
  609. package/dist/router/manifest.d.ts.map +0 -1
  610. package/dist/router/manifest.js +0 -181
  611. package/dist/router/manifest.js.map +0 -1
  612. package/dist/router/match-api.d.ts +0 -35
  613. package/dist/router/match-api.d.ts.map +0 -1
  614. package/dist/router/match-api.js +0 -406
  615. package/dist/router/match-api.js.map +0 -1
  616. package/dist/router/match-context.d.ts +0 -206
  617. package/dist/router/match-context.d.ts.map +0 -1
  618. package/dist/router/match-context.js +0 -17
  619. package/dist/router/match-context.js.map +0 -1
  620. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  621. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  622. package/dist/router/match-middleware/background-revalidation.js +0 -75
  623. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  624. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  625. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  626. package/dist/router/match-middleware/cache-lookup.js +0 -257
  627. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  628. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  629. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  630. package/dist/router/match-middleware/cache-store.js +0 -108
  631. package/dist/router/match-middleware/cache-store.js.map +0 -1
  632. package/dist/router/match-middleware/index.d.ts +0 -81
  633. package/dist/router/match-middleware/index.d.ts.map +0 -1
  634. package/dist/router/match-middleware/index.js +0 -80
  635. package/dist/router/match-middleware/index.js.map +0 -1
  636. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  637. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  638. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  639. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  640. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  641. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  642. package/dist/router/match-middleware/segment-resolution.js +0 -53
  643. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  644. package/dist/router/match-pipelines.d.ts +0 -147
  645. package/dist/router/match-pipelines.d.ts.map +0 -1
  646. package/dist/router/match-pipelines.js +0 -82
  647. package/dist/router/match-pipelines.js.map +0 -1
  648. package/dist/router/match-result.d.ts +0 -126
  649. package/dist/router/match-result.d.ts.map +0 -1
  650. package/dist/router/match-result.js +0 -93
  651. package/dist/router/match-result.js.map +0 -1
  652. package/dist/router/metrics.d.ts +0 -20
  653. package/dist/router/metrics.d.ts.map +0 -1
  654. package/dist/router/metrics.js +0 -47
  655. package/dist/router/metrics.js.map +0 -1
  656. package/dist/router/middleware.d.ts +0 -249
  657. package/dist/router/middleware.d.ts.map +0 -1
  658. package/dist/router/middleware.js +0 -434
  659. package/dist/router/middleware.js.map +0 -1
  660. package/dist/router/middleware.test.d.ts +0 -2
  661. package/dist/router/middleware.test.d.ts.map +0 -1
  662. package/dist/router/middleware.test.js +0 -816
  663. package/dist/router/middleware.test.js.map +0 -1
  664. package/dist/router/pattern-matching.d.ts +0 -149
  665. package/dist/router/pattern-matching.d.ts.map +0 -1
  666. package/dist/router/pattern-matching.js +0 -349
  667. package/dist/router/pattern-matching.js.map +0 -1
  668. package/dist/router/revalidation.d.ts +0 -44
  669. package/dist/router/revalidation.d.ts.map +0 -1
  670. package/dist/router/revalidation.js +0 -147
  671. package/dist/router/revalidation.js.map +0 -1
  672. package/dist/router/router-context.d.ts +0 -135
  673. package/dist/router/router-context.d.ts.map +0 -1
  674. package/dist/router/router-context.js +0 -36
  675. package/dist/router/router-context.js.map +0 -1
  676. package/dist/router/segment-resolution.d.ts +0 -127
  677. package/dist/router/segment-resolution.d.ts.map +0 -1
  678. package/dist/router/segment-resolution.js +0 -919
  679. package/dist/router/segment-resolution.js.map +0 -1
  680. package/dist/router/trie-matching.d.ts +0 -40
  681. package/dist/router/trie-matching.d.ts.map +0 -1
  682. package/dist/router/trie-matching.js +0 -127
  683. package/dist/router/trie-matching.js.map +0 -1
  684. package/dist/router/types.d.ts +0 -136
  685. package/dist/router/types.d.ts.map +0 -1
  686. package/dist/router/types.js +0 -7
  687. package/dist/router/types.js.map +0 -1
  688. package/dist/router.d.ts +0 -753
  689. package/dist/router.d.ts.map +0 -1
  690. package/dist/router.gen.d.ts +0 -6
  691. package/dist/router.gen.d.ts.map +0 -1
  692. package/dist/router.gen.js +0 -6
  693. package/dist/router.gen.js.map +0 -1
  694. package/dist/router.js +0 -1304
  695. package/dist/router.js.map +0 -1
  696. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  697. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  698. package/dist/rsc/__tests__/helpers.test.js +0 -140
  699. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  700. package/dist/rsc/handler.d.ts +0 -45
  701. package/dist/rsc/handler.d.ts.map +0 -1
  702. package/dist/rsc/handler.js +0 -1172
  703. package/dist/rsc/handler.js.map +0 -1
  704. package/dist/rsc/helpers.d.ts +0 -16
  705. package/dist/rsc/helpers.d.ts.map +0 -1
  706. package/dist/rsc/helpers.js +0 -55
  707. package/dist/rsc/helpers.js.map +0 -1
  708. package/dist/rsc/index.d.ts +0 -22
  709. package/dist/rsc/index.d.ts.map +0 -1
  710. package/dist/rsc/index.js +0 -23
  711. package/dist/rsc/index.js.map +0 -1
  712. package/dist/rsc/nonce.d.ts +0 -9
  713. package/dist/rsc/nonce.d.ts.map +0 -1
  714. package/dist/rsc/nonce.js +0 -18
  715. package/dist/rsc/nonce.js.map +0 -1
  716. package/dist/rsc/types.d.ts +0 -206
  717. package/dist/rsc/types.d.ts.map +0 -1
  718. package/dist/rsc/types.js +0 -8
  719. package/dist/rsc/types.js.map +0 -1
  720. package/dist/search-params.d.ts +0 -103
  721. package/dist/search-params.d.ts.map +0 -1
  722. package/dist/search-params.js +0 -74
  723. package/dist/search-params.js.map +0 -1
  724. package/dist/segment-system.d.ts +0 -75
  725. package/dist/segment-system.d.ts.map +0 -1
  726. package/dist/segment-system.js +0 -336
  727. package/dist/segment-system.js.map +0 -1
  728. package/dist/server/context.d.ts +0 -245
  729. package/dist/server/context.d.ts.map +0 -1
  730. package/dist/server/context.js +0 -197
  731. package/dist/server/context.js.map +0 -1
  732. package/dist/server/fetchable-loader-store.d.ts +0 -18
  733. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  734. package/dist/server/fetchable-loader-store.js +0 -18
  735. package/dist/server/fetchable-loader-store.js.map +0 -1
  736. package/dist/server/handle-store.d.ts +0 -85
  737. package/dist/server/handle-store.d.ts.map +0 -1
  738. package/dist/server/handle-store.js +0 -142
  739. package/dist/server/handle-store.js.map +0 -1
  740. package/dist/server/loader-registry.d.ts +0 -55
  741. package/dist/server/loader-registry.d.ts.map +0 -1
  742. package/dist/server/loader-registry.js +0 -132
  743. package/dist/server/loader-registry.js.map +0 -1
  744. package/dist/server/request-context.d.ts +0 -226
  745. package/dist/server/request-context.d.ts.map +0 -1
  746. package/dist/server/request-context.js +0 -290
  747. package/dist/server/request-context.js.map +0 -1
  748. package/dist/server/root-layout.d.ts +0 -4
  749. package/dist/server/root-layout.d.ts.map +0 -1
  750. package/dist/server/root-layout.js +0 -5
  751. package/dist/server/root-layout.js.map +0 -1
  752. package/dist/server.d.ts +0 -15
  753. package/dist/server.d.ts.map +0 -1
  754. package/dist/server.js +0 -20
  755. package/dist/server.js.map +0 -1
  756. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  757. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  758. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  759. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  760. package/dist/ssr/index.d.ts +0 -98
  761. package/dist/ssr/index.d.ts.map +0 -1
  762. package/dist/ssr/index.js +0 -158
  763. package/dist/ssr/index.js.map +0 -1
  764. package/dist/static-handler.d.ts +0 -50
  765. package/dist/static-handler.d.ts.map +0 -1
  766. package/dist/static-handler.gen.d.ts +0 -5
  767. package/dist/static-handler.gen.d.ts.map +0 -1
  768. package/dist/static-handler.gen.js +0 -5
  769. package/dist/static-handler.gen.js.map +0 -1
  770. package/dist/static-handler.js +0 -29
  771. package/dist/static-handler.js.map +0 -1
  772. package/dist/theme/ThemeProvider.d.ts +0 -20
  773. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  774. package/dist/theme/ThemeProvider.js +0 -240
  775. package/dist/theme/ThemeProvider.js.map +0 -1
  776. package/dist/theme/ThemeScript.d.ts +0 -48
  777. package/dist/theme/ThemeScript.d.ts.map +0 -1
  778. package/dist/theme/ThemeScript.js +0 -13
  779. package/dist/theme/ThemeScript.js.map +0 -1
  780. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  781. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  782. package/dist/theme/__tests__/theme.test.js +0 -103
  783. package/dist/theme/__tests__/theme.test.js.map +0 -1
  784. package/dist/theme/constants.d.ts +0 -29
  785. package/dist/theme/constants.d.ts.map +0 -1
  786. package/dist/theme/constants.js +0 -48
  787. package/dist/theme/constants.js.map +0 -1
  788. package/dist/theme/index.d.ts +0 -31
  789. package/dist/theme/index.d.ts.map +0 -1
  790. package/dist/theme/index.js +0 -36
  791. package/dist/theme/index.js.map +0 -1
  792. package/dist/theme/theme-context.d.ts +0 -40
  793. package/dist/theme/theme-context.d.ts.map +0 -1
  794. package/dist/theme/theme-context.js +0 -60
  795. package/dist/theme/theme-context.js.map +0 -1
  796. package/dist/theme/theme-script.d.ts +0 -27
  797. package/dist/theme/theme-script.d.ts.map +0 -1
  798. package/dist/theme/theme-script.js +0 -147
  799. package/dist/theme/theme-script.js.map +0 -1
  800. package/dist/theme/types.d.ts +0 -163
  801. package/dist/theme/types.d.ts.map +0 -1
  802. package/dist/theme/types.js +0 -11
  803. package/dist/theme/types.js.map +0 -1
  804. package/dist/theme/use-theme.d.ts +0 -12
  805. package/dist/theme/use-theme.d.ts.map +0 -1
  806. package/dist/theme/use-theme.js +0 -40
  807. package/dist/theme/use-theme.js.map +0 -1
  808. package/dist/types.d.ts +0 -1479
  809. package/dist/types.d.ts.map +0 -1
  810. package/dist/types.js +0 -10
  811. package/dist/types.js.map +0 -1
  812. package/dist/urls.d.ts +0 -441
  813. package/dist/urls.d.ts.map +0 -1
  814. package/dist/urls.gen.d.ts +0 -8
  815. package/dist/urls.gen.d.ts.map +0 -1
  816. package/dist/urls.gen.js +0 -8
  817. package/dist/urls.gen.js.map +0 -1
  818. package/dist/urls.js +0 -443
  819. package/dist/urls.js.map +0 -1
  820. package/dist/use-loader.d.ts +0 -127
  821. package/dist/use-loader.d.ts.map +0 -1
  822. package/dist/use-loader.js +0 -237
  823. package/dist/use-loader.js.map +0 -1
  824. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  825. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  826. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  827. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  828. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  829. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  830. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  831. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  832. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  833. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  834. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  835. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  836. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  837. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  838. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  839. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  840. package/dist/vite/ast-handler-extract.d.ts +0 -49
  841. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  842. package/dist/vite/ast-handler-extract.js +0 -249
  843. package/dist/vite/ast-handler-extract.js.map +0 -1
  844. package/dist/vite/expose-action-id.d.ts +0 -19
  845. package/dist/vite/expose-action-id.d.ts.map +0 -1
  846. package/dist/vite/expose-action-id.js +0 -250
  847. package/dist/vite/expose-action-id.js.map +0 -1
  848. package/dist/vite/expose-id-utils.d.ts +0 -69
  849. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  850. package/dist/vite/expose-id-utils.js +0 -289
  851. package/dist/vite/expose-id-utils.js.map +0 -1
  852. package/dist/vite/expose-internal-ids.d.ts +0 -22
  853. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  854. package/dist/vite/expose-internal-ids.js +0 -886
  855. package/dist/vite/expose-internal-ids.js.map +0 -1
  856. package/dist/vite/index.d.ts +0 -149
  857. package/dist/vite/index.d.ts.map +0 -1
  858. package/dist/vite/index.js.bak +0 -5448
  859. package/dist/vite/index.js.map +0 -1
  860. package/dist/vite/index.named-routes.gen.ts +0 -103
  861. package/dist/vite/package-resolution.d.ts +0 -43
  862. package/dist/vite/package-resolution.d.ts.map +0 -1
  863. package/dist/vite/package-resolution.js +0 -112
  864. package/dist/vite/package-resolution.js.map +0 -1
  865. package/dist/vite/virtual-entries.d.ts +0 -25
  866. package/dist/vite/virtual-entries.d.ts.map +0 -1
  867. package/dist/vite/virtual-entries.js +0 -110
  868. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,678 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { wrapLoaderWithErrorHandling } from "../loader-resolution";
3
- import { invokeOnError } from "../error-handling";
4
- describe("OnError Types", () => {
5
- describe("OnErrorContext", () => {
6
- it("should have all required properties", () => {
7
- const context = {
8
- error: new Error("Test error"),
9
- phase: "routing",
10
- request: new Request("https://example.com/test"),
11
- url: new URL("https://example.com/test"),
12
- pathname: "/test",
13
- method: "GET",
14
- };
15
- expect(context.error).toBeInstanceOf(Error);
16
- expect(context.phase).toBe("routing");
17
- expect(context.request).toBeInstanceOf(Request);
18
- expect(context.url).toBeInstanceOf(URL);
19
- expect(context.pathname).toBe("/test");
20
- expect(context.method).toBe("GET");
21
- });
22
- it("should support optional properties", () => {
23
- const context = {
24
- error: new Error("Test error"),
25
- phase: "loader",
26
- request: new Request("https://example.com/products/123"),
27
- url: new URL("https://example.com/products/123"),
28
- pathname: "/products/123",
29
- method: "GET",
30
- routeKey: "products.detail",
31
- params: { id: "123" },
32
- segmentId: "M1L0R0",
33
- segmentType: "loader",
34
- loaderName: "ProductLoader",
35
- duration: 150.5,
36
- isPartial: true,
37
- handledByBoundary: true,
38
- stack: "Error: Test error\n at ...",
39
- metadata: { custom: "data" },
40
- };
41
- expect(context.routeKey).toBe("products.detail");
42
- expect(context.params).toEqual({ id: "123" });
43
- expect(context.segmentId).toBe("M1L0R0");
44
- expect(context.segmentType).toBe("loader");
45
- expect(context.loaderName).toBe("ProductLoader");
46
- expect(context.duration).toBe(150.5);
47
- expect(context.isPartial).toBe(true);
48
- expect(context.handledByBoundary).toBe(true);
49
- expect(context.stack).toBeDefined();
50
- expect(context.metadata).toEqual({ custom: "data" });
51
- });
52
- it("should support action-specific properties", () => {
53
- const context = {
54
- error: new Error("Action failed"),
55
- phase: "action",
56
- request: new Request("https://example.com/api", { method: "POST" }),
57
- url: new URL("https://example.com/api"),
58
- pathname: "/api",
59
- method: "POST",
60
- actionId: "src/actions.ts#addToCart",
61
- };
62
- expect(context.phase).toBe("action");
63
- expect(context.actionId).toBe("src/actions.ts#addToCart");
64
- expect(context.method).toBe("POST");
65
- });
66
- it("should support middleware-specific properties", () => {
67
- const context = {
68
- error: new Error("Auth failed"),
69
- phase: "middleware",
70
- request: new Request("https://example.com/admin"),
71
- url: new URL("https://example.com/admin"),
72
- pathname: "/admin",
73
- method: "GET",
74
- middlewareId: "auth",
75
- segmentType: "middleware",
76
- };
77
- expect(context.phase).toBe("middleware");
78
- expect(context.middlewareId).toBe("auth");
79
- expect(context.segmentType).toBe("middleware");
80
- });
81
- it("should support typed env", () => {
82
- const context = {
83
- error: new Error("DB error"),
84
- phase: "loader",
85
- request: new Request("https://example.com"),
86
- url: new URL("https://example.com"),
87
- pathname: "/",
88
- method: "GET",
89
- env: {
90
- DB: { query: () => { } },
91
- USER_ID: "user-123",
92
- },
93
- };
94
- expect(context.env?.DB).toBeDefined();
95
- expect(context.env?.USER_ID).toBe("user-123");
96
- });
97
- });
98
- describe("ErrorPhase", () => {
99
- it("should include all valid phases", () => {
100
- const phases = [
101
- "routing",
102
- "manifest",
103
- "middleware",
104
- "loader",
105
- "handler",
106
- "rendering",
107
- "action",
108
- "revalidation",
109
- "unknown",
110
- ];
111
- expect(phases).toHaveLength(9);
112
- phases.forEach((phase) => {
113
- expect(typeof phase).toBe("string");
114
- });
115
- });
116
- });
117
- describe("OnErrorCallback", () => {
118
- it("should accept sync callback", () => {
119
- const errors = [];
120
- const callback = (context) => {
121
- errors.push(context);
122
- };
123
- const context = {
124
- error: new Error("Test"),
125
- phase: "routing",
126
- request: new Request("https://example.com"),
127
- url: new URL("https://example.com"),
128
- pathname: "/",
129
- method: "GET",
130
- };
131
- callback(context);
132
- expect(errors).toHaveLength(1);
133
- });
134
- it("should accept async callback", async () => {
135
- const errors = [];
136
- const callback = async (context) => {
137
- await Promise.resolve();
138
- errors.push(context);
139
- };
140
- const context = {
141
- error: new Error("Test"),
142
- phase: "action",
143
- request: new Request("https://example.com"),
144
- url: new URL("https://example.com"),
145
- pathname: "/",
146
- method: "POST",
147
- };
148
- await callback(context);
149
- expect(errors).toHaveLength(1);
150
- });
151
- it("should work with typed env", () => {
152
- const callback = (context) => {
153
- // Type-safe access to env
154
- const secret = context.env?.secret;
155
- expect(typeof secret).toBe("string");
156
- };
157
- callback({
158
- error: new Error("Test"),
159
- phase: "routing",
160
- request: new Request("https://example.com"),
161
- url: new URL("https://example.com"),
162
- pathname: "/",
163
- method: "GET",
164
- env: { secret: "test-secret" },
165
- });
166
- });
167
- });
168
- });
169
- describe("OnError Callback Integration", () => {
170
- it("should capture error details from context", () => {
171
- const capturedErrors = [];
172
- const onError = (context) => {
173
- capturedErrors.push({
174
- message: context.error.message,
175
- phase: context.phase,
176
- route: context.routeKey,
177
- duration: context.duration,
178
- });
179
- };
180
- // Simulate errors from different phases
181
- onError({
182
- error: new Error("Route not found"),
183
- phase: "routing",
184
- request: new Request("https://example.com/unknown"),
185
- url: new URL("https://example.com/unknown"),
186
- pathname: "/unknown",
187
- method: "GET",
188
- });
189
- onError({
190
- error: new Error("Loader failed"),
191
- phase: "loader",
192
- request: new Request("https://example.com/products"),
193
- url: new URL("https://example.com/products"),
194
- pathname: "/products",
195
- method: "GET",
196
- routeKey: "products.list",
197
- loaderName: "ProductsLoader",
198
- duration: 100,
199
- });
200
- onError({
201
- error: new Error("Action failed"),
202
- phase: "action",
203
- request: new Request("https://example.com/cart", { method: "POST" }),
204
- url: new URL("https://example.com/cart"),
205
- pathname: "/cart",
206
- method: "POST",
207
- actionId: "addToCart",
208
- duration: 50,
209
- });
210
- expect(capturedErrors).toHaveLength(3);
211
- expect(capturedErrors[0]).toEqual({
212
- message: "Route not found",
213
- phase: "routing",
214
- route: undefined,
215
- duration: undefined,
216
- });
217
- expect(capturedErrors[1]).toEqual({
218
- message: "Loader failed",
219
- phase: "loader",
220
- route: "products.list",
221
- duration: 100,
222
- });
223
- expect(capturedErrors[2]).toEqual({
224
- message: "Action failed",
225
- phase: "action",
226
- route: undefined,
227
- duration: 50,
228
- });
229
- });
230
- it("should handle errors thrown in callback gracefully", () => {
231
- const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
232
- const badCallback = () => {
233
- throw new Error("Callback error");
234
- };
235
- // The callback throws, but it shouldn't propagate
236
- // In real implementation, this is caught by invokeOnError
237
- expect(() => {
238
- try {
239
- badCallback({
240
- error: new Error("Original error"),
241
- phase: "routing",
242
- request: new Request("https://example.com"),
243
- url: new URL("https://example.com"),
244
- pathname: "/",
245
- method: "GET",
246
- });
247
- }
248
- catch (e) {
249
- // In real code, invokeOnError catches this
250
- console.error("[Router.onError] Callback error:", e);
251
- }
252
- }).not.toThrow();
253
- consoleErrorSpy.mockRestore();
254
- });
255
- it("should handle async callback rejection gracefully", async () => {
256
- const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
257
- const badAsyncCallback = async () => {
258
- await Promise.reject(new Error("Async callback error"));
259
- };
260
- const context = {
261
- error: new Error("Original error"),
262
- phase: "action",
263
- request: new Request("https://example.com"),
264
- url: new URL("https://example.com"),
265
- pathname: "/",
266
- method: "POST",
267
- };
268
- // In real implementation, the promise rejection is caught
269
- const result = badAsyncCallback(context);
270
- if (result instanceof Promise) {
271
- await result.catch((e) => {
272
- console.error("[Router.onError] Callback error:", e);
273
- });
274
- }
275
- consoleErrorSpy.mockRestore();
276
- });
277
- });
278
- describe("wrapLoaderWithErrorHandling", () => {
279
- const mockEntry = { id: "test-entry" };
280
- const mockPathname = "/test";
281
- const createMockErrorInfo = (error, segmentId, segmentType) => ({
282
- message: error instanceof Error ? error.message : String(error),
283
- name: error instanceof Error ? error.name : "Error",
284
- segmentId,
285
- segmentType,
286
- });
287
- describe("successful resolution", () => {
288
- it("should return ok: true with data on success", async () => {
289
- const promise = Promise.resolve({ name: "Test Product" });
290
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.ProductLoader", mockPathname, () => null, createMockErrorInfo);
291
- expect(result).toEqual({
292
- __loaderResult: true,
293
- ok: true,
294
- data: { name: "Test Product" },
295
- });
296
- });
297
- it("should not invoke onError on success", async () => {
298
- const onError = vi.fn();
299
- const promise = Promise.resolve("success");
300
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.TestLoader", mockPathname, () => null, createMockErrorInfo, onError);
301
- expect(onError).not.toHaveBeenCalled();
302
- });
303
- });
304
- describe("error handling without boundary", () => {
305
- it("should return ok: false with error info when no boundary", async () => {
306
- const promise = Promise.reject(new Error("Loader failed"));
307
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.FailingLoader", mockPathname, () => null, // No error boundary
308
- createMockErrorInfo);
309
- expect(result).toEqual({
310
- __loaderResult: true,
311
- ok: false,
312
- error: {
313
- message: "Loader failed",
314
- name: "Error",
315
- segmentId: "M1L0.FailingLoader",
316
- segmentType: "loader",
317
- },
318
- fallback: null,
319
- });
320
- });
321
- it("should invoke onError with handledByBoundary: false", async () => {
322
- const onError = vi.fn();
323
- const testError = new Error("Test error");
324
- const promise = Promise.reject(testError);
325
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.TestLoader", mockPathname, () => null, // No boundary
326
- createMockErrorInfo, onError);
327
- expect(onError).toHaveBeenCalledWith(testError, {
328
- segmentId: "M1L0.TestLoader",
329
- loaderName: "TestLoader",
330
- handledByBoundary: false,
331
- });
332
- });
333
- });
334
- describe("error handling with boundary", () => {
335
- it("should return fallback when error boundary exists", async () => {
336
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
337
- const promise = Promise.reject(new Error("Handled error"));
338
- const fallbackElement = "Error Fallback UI";
339
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.HandledLoader", mockPathname, () => fallbackElement, // Has error boundary
340
- createMockErrorInfo);
341
- expect(result).toEqual({
342
- __loaderResult: true,
343
- ok: false,
344
- error: {
345
- message: "Handled error",
346
- name: "Error",
347
- segmentId: "M1L0.HandledLoader",
348
- segmentType: "loader",
349
- },
350
- fallback: fallbackElement,
351
- });
352
- consoleSpy.mockRestore();
353
- });
354
- it("should invoke onError with handledByBoundary: true", async () => {
355
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
356
- const onError = vi.fn();
357
- const testError = new Error("Boundary handled");
358
- const promise = Promise.reject(testError);
359
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.BoundaryLoader", mockPathname, () => "Fallback", // Has boundary
360
- createMockErrorInfo, onError);
361
- expect(onError).toHaveBeenCalledWith(testError, {
362
- segmentId: "M1L0.BoundaryLoader",
363
- loaderName: "BoundaryLoader",
364
- handledByBoundary: true,
365
- });
366
- consoleSpy.mockRestore();
367
- });
368
- it("should call ErrorBoundaryHandler function with error props", async () => {
369
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
370
- const promise = Promise.reject(new Error("Handler error"));
371
- const boundaryHandler = vi.fn().mockReturnValue("Rendered Fallback");
372
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.HandlerLoader", mockPathname, () => boundaryHandler, createMockErrorInfo);
373
- expect(boundaryHandler).toHaveBeenCalledWith({
374
- error: {
375
- message: "Handler error",
376
- name: "Error",
377
- segmentId: "M1L0.HandlerLoader",
378
- segmentType: "loader",
379
- },
380
- });
381
- if (!result.ok) {
382
- expect(result.fallback).toBe("Rendered Fallback");
383
- }
384
- consoleSpy.mockRestore();
385
- });
386
- });
387
- describe("loaderName extraction", () => {
388
- it("should extract loader name from segmentId with dot notation", async () => {
389
- const onError = vi.fn();
390
- const promise = Promise.reject(new Error("test"));
391
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0D0.ProductLoader", mockPathname, () => null, createMockErrorInfo, onError);
392
- expect(onError).toHaveBeenCalledWith(expect.any(Error), expect.objectContaining({ loaderName: "ProductLoader" }));
393
- });
394
- it("should handle segmentId without dots", async () => {
395
- const onError = vi.fn();
396
- const promise = Promise.reject(new Error("test"));
397
- await wrapLoaderWithErrorHandling(promise, mockEntry, "SimpleLoader", mockPathname, () => null, createMockErrorInfo, onError);
398
- expect(onError).toHaveBeenCalledWith(expect.any(Error), expect.objectContaining({ loaderName: "SimpleLoader" }));
399
- });
400
- it("should return 'unknown' for empty segmentId", async () => {
401
- const onError = vi.fn();
402
- const promise = Promise.reject(new Error("test"));
403
- await wrapLoaderWithErrorHandling(promise, mockEntry, "", mockPathname, () => null, createMockErrorInfo, onError);
404
- expect(onError).toHaveBeenCalledWith(expect.any(Error), expect.objectContaining({ loaderName: "unknown" }));
405
- });
406
- });
407
- describe("non-Error objects", () => {
408
- it("should handle string errors", async () => {
409
- const promise = Promise.reject("String error message");
410
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.StringErrorLoader", mockPathname, () => null, createMockErrorInfo);
411
- expect(result.ok).toBe(false);
412
- if (!result.ok) {
413
- expect(result.error?.message).toBe("String error message");
414
- }
415
- });
416
- it("should handle object errors", async () => {
417
- const promise = Promise.reject({ code: "ERR_001", detail: "Failed" });
418
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.ObjectErrorLoader", mockPathname, () => null, (error) => ({
419
- message: String(error),
420
- name: "Error",
421
- segmentId: "test",
422
- segmentType: "loader",
423
- }));
424
- expect(result.ok).toBe(false);
425
- });
426
- it("should handle null/undefined errors", async () => {
427
- const promise = Promise.reject(null);
428
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.NullErrorLoader", mockPathname, () => null, (error) => ({
429
- message: String(error),
430
- name: "Error",
431
- segmentId: "test",
432
- segmentType: "loader",
433
- }));
434
- expect(result.ok).toBe(false);
435
- if (!result.ok) {
436
- expect(result.error?.message).toBe("null");
437
- }
438
- });
439
- });
440
- });
441
- describe("Error Context Edge Cases", () => {
442
- it("should handle errors with circular references in metadata", () => {
443
- const circular = { name: "test" };
444
- circular.self = circular;
445
- const context = {
446
- error: new Error("Circular test"),
447
- phase: "loader",
448
- request: new Request("https://example.com"),
449
- url: new URL("https://example.com"),
450
- pathname: "/",
451
- method: "GET",
452
- metadata: { circular }, // This shouldn't crash serialization
453
- };
454
- expect(context.metadata?.circular).toBe(circular);
455
- });
456
- it("should handle errors without stack traces", () => {
457
- const errorWithoutStack = new Error("No stack");
458
- delete errorWithoutStack.stack;
459
- const context = {
460
- error: errorWithoutStack,
461
- phase: "routing",
462
- request: new Request("https://example.com"),
463
- url: new URL("https://example.com"),
464
- pathname: "/",
465
- method: "GET",
466
- stack: errorWithoutStack.stack,
467
- };
468
- expect(context.stack).toBeUndefined();
469
- });
470
- it("should handle very long error messages", () => {
471
- const longMessage = "x".repeat(10000);
472
- const context = {
473
- error: new Error(longMessage),
474
- phase: "handler",
475
- request: new Request("https://example.com"),
476
- url: new URL("https://example.com"),
477
- pathname: "/",
478
- method: "GET",
479
- };
480
- expect(context.error.message.length).toBe(10000);
481
- });
482
- it("should preserve error cause chain", () => {
483
- const rootCause = new Error("Root cause");
484
- const wrappedError = new Error("Wrapped error", { cause: rootCause });
485
- const context = {
486
- error: wrappedError,
487
- phase: "loader",
488
- request: new Request("https://example.com"),
489
- url: new URL("https://example.com"),
490
- pathname: "/",
491
- method: "GET",
492
- };
493
- expect(context.error.cause).toBe(rootCause);
494
- });
495
- });
496
- describe("invokeOnError Shared Utility", () => {
497
- const createMockContext = () => ({
498
- request: new Request("https://example.com/test"),
499
- url: new URL("https://example.com/test"),
500
- });
501
- describe("callback invocation", () => {
502
- it("should not call callback if undefined", () => {
503
- const context = createMockContext();
504
- expect(() => {
505
- invokeOnError(undefined, new Error("test"), "routing", context);
506
- }).not.toThrow();
507
- });
508
- it("should invoke callback with full context", () => {
509
- const callback = vi.fn();
510
- const error = new Error("Test error");
511
- const context = {
512
- request: new Request("https://example.com/products/123"),
513
- url: new URL("https://example.com/products/123"),
514
- routeKey: "products.detail",
515
- params: { id: "123" },
516
- segmentId: "M1R0",
517
- segmentType: "route",
518
- env: { DB: "test" },
519
- isPartial: true,
520
- handledByBoundary: false,
521
- };
522
- invokeOnError(callback, error, "handler", context);
523
- expect(callback).toHaveBeenCalledTimes(1);
524
- const receivedContext = callback.mock.calls[0][0];
525
- expect(receivedContext.error).toBe(error);
526
- expect(receivedContext.phase).toBe("handler");
527
- expect(receivedContext.pathname).toBe("/products/123");
528
- expect(receivedContext.method).toBe("GET");
529
- expect(receivedContext.routeKey).toBe("products.detail");
530
- expect(receivedContext.params).toEqual({ id: "123" });
531
- expect(receivedContext.segmentId).toBe("M1R0");
532
- expect(receivedContext.segmentType).toBe("route");
533
- expect(receivedContext.env).toEqual({ DB: "test" });
534
- expect(receivedContext.isPartial).toBe(true);
535
- expect(receivedContext.handledByBoundary).toBe(false);
536
- expect(receivedContext.stack).toBeDefined();
537
- });
538
- it("should convert non-Error objects to Error", () => {
539
- const callback = vi.fn();
540
- const context = createMockContext();
541
- invokeOnError(callback, "string error", "routing", context);
542
- const receivedContext = callback.mock.calls[0][0];
543
- expect(receivedContext.error).toBeInstanceOf(Error);
544
- expect(receivedContext.error.message).toBe("string error");
545
- });
546
- it("should calculate duration from requestStartTime", () => {
547
- const callback = vi.fn();
548
- const context = {
549
- ...createMockContext(),
550
- requestStartTime: performance.now() - 100, // 100ms ago
551
- };
552
- invokeOnError(callback, new Error("test"), "loader", context);
553
- const receivedContext = callback.mock.calls[0][0];
554
- expect(receivedContext.duration).toBeGreaterThanOrEqual(100);
555
- expect(receivedContext.duration).toBeLessThan(200);
556
- });
557
- it("should not set duration if requestStartTime is not provided", () => {
558
- const callback = vi.fn();
559
- const context = createMockContext();
560
- invokeOnError(callback, new Error("test"), "loader", context);
561
- const receivedContext = callback.mock.calls[0][0];
562
- expect(receivedContext.duration).toBeUndefined();
563
- });
564
- });
565
- describe("error handling in callback", () => {
566
- it("should catch sync callback errors and log them", () => {
567
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
568
- const callback = () => {
569
- throw new Error("Callback sync error");
570
- };
571
- const context = createMockContext();
572
- expect(() => {
573
- invokeOnError(callback, new Error("original"), "routing", context);
574
- }).not.toThrow();
575
- expect(consoleSpy).toHaveBeenCalledWith("[Router.onError] Callback error:", expect.any(Error));
576
- consoleSpy.mockRestore();
577
- });
578
- it("should catch async callback rejections and log them", async () => {
579
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
580
- const callback = async () => {
581
- throw new Error("Callback async error");
582
- };
583
- const context = createMockContext();
584
- invokeOnError(callback, new Error("original"), "routing", context);
585
- // Wait for the async rejection to be caught
586
- await new Promise((resolve) => setTimeout(resolve, 10));
587
- expect(consoleSpy).toHaveBeenCalledWith("[Router.onError] Callback error:", expect.any(Error));
588
- consoleSpy.mockRestore();
589
- });
590
- it("should use custom log prefix", () => {
591
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
592
- const callback = () => {
593
- throw new Error("Callback error");
594
- };
595
- const context = createMockContext();
596
- invokeOnError(callback, new Error("original"), "rendering", context, "RSC");
597
- expect(consoleSpy).toHaveBeenCalledWith("[RSC.onError] Callback error:", expect.any(Error));
598
- consoleSpy.mockRestore();
599
- });
600
- });
601
- describe("all phases", () => {
602
- const phases = [
603
- "routing",
604
- "manifest",
605
- "middleware",
606
- "loader",
607
- "handler",
608
- "rendering",
609
- "action",
610
- "revalidation",
611
- "unknown",
612
- ];
613
- phases.forEach((phase) => {
614
- it(`should accept phase: ${phase}`, () => {
615
- const callback = vi.fn();
616
- const context = createMockContext();
617
- invokeOnError(callback, new Error("test"), phase, context);
618
- expect(callback).toHaveBeenCalledWith(expect.objectContaining({ phase }));
619
- });
620
- });
621
- });
622
- describe("optional context fields", () => {
623
- it("should pass through all optional fields", () => {
624
- const callback = vi.fn();
625
- const context = {
626
- request: new Request("https://example.com/api", { method: "POST" }),
627
- url: new URL("https://example.com/api"),
628
- routeKey: "api.action",
629
- params: { id: "1" },
630
- segmentId: "M1A0",
631
- segmentType: "middleware",
632
- loaderName: "TestLoader",
633
- middlewareId: "auth",
634
- actionId: "createItem",
635
- env: { secret: "123" },
636
- isPartial: false,
637
- handledByBoundary: true,
638
- metadata: { custom: "data" },
639
- requestStartTime: performance.now() - 50,
640
- };
641
- invokeOnError(callback, new Error("test"), "action", context);
642
- const received = callback.mock.calls[0][0];
643
- expect(received.method).toBe("POST");
644
- expect(received.loaderName).toBe("TestLoader");
645
- expect(received.middlewareId).toBe("auth");
646
- expect(received.actionId).toBe("createItem");
647
- expect(received.metadata).toEqual({ custom: "data" });
648
- });
649
- it("should handle minimal context", () => {
650
- const callback = vi.fn();
651
- const context = {
652
- request: new Request("https://example.com"),
653
- url: new URL("https://example.com"),
654
- };
655
- invokeOnError(callback, new Error("test"), "unknown", context);
656
- const received = callback.mock.calls[0][0];
657
- expect(received.routeKey).toBeUndefined();
658
- expect(received.params).toBeUndefined();
659
- expect(received.segmentId).toBeUndefined();
660
- expect(received.duration).toBeUndefined();
661
- });
662
- });
663
- });
664
- describe("LoaderErrorCallback Type", () => {
665
- it("should accept valid callback signature", () => {
666
- const callback = (error, context) => {
667
- expect(typeof context.segmentId).toBe("string");
668
- expect(typeof context.loaderName).toBe("string");
669
- expect(typeof context.handledByBoundary).toBe("boolean");
670
- };
671
- callback(new Error("test"), {
672
- segmentId: "M1L0.TestLoader",
673
- loaderName: "TestLoader",
674
- handledByBoundary: false,
675
- });
676
- });
677
- });
678
- //# sourceMappingURL=on-error.test.js.map