@rangojs/router 0.0.0-experimental.9c87b9aa → 0.0.0-experimental.9eb4192e

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 (956) hide show
  1. package/README.md +126 -38
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +1537 -505
  4. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  5. package/package.json +7 -5
  6. package/skills/breadcrumbs/SKILL.md +3 -1
  7. package/skills/handler-use/SKILL.md +362 -0
  8. package/skills/hooks/SKILL.md +28 -20
  9. package/skills/intercept/SKILL.md +20 -0
  10. package/skills/layout/SKILL.md +22 -0
  11. package/skills/links/SKILL.md +91 -17
  12. package/skills/loader/SKILL.md +36 -3
  13. package/skills/middleware/SKILL.md +34 -3
  14. package/skills/migrate-nextjs/SKILL.md +560 -0
  15. package/skills/migrate-react-router/SKILL.md +765 -0
  16. package/skills/parallel/SKILL.md +59 -0
  17. package/skills/prerender/SKILL.md +110 -68
  18. package/skills/rango/SKILL.md +24 -22
  19. package/skills/response-routes/SKILL.md +8 -0
  20. package/skills/route/SKILL.md +24 -0
  21. package/skills/router-setup/SKILL.md +87 -2
  22. package/skills/streams-and-websockets/SKILL.md +283 -0
  23. package/skills/typesafety/SKILL.md +3 -1
  24. package/src/__internal.ts +1 -1
  25. package/src/browser/app-shell.ts +52 -0
  26. package/src/browser/app-version.ts +14 -0
  27. package/src/browser/navigation-bridge.ts +87 -6
  28. package/src/browser/navigation-client.ts +128 -53
  29. package/src/browser/navigation-store.ts +68 -9
  30. package/src/browser/partial-update.ts +60 -7
  31. package/src/browser/prefetch/cache.ts +129 -21
  32. package/src/browser/prefetch/fetch.ts +156 -18
  33. package/src/browser/prefetch/queue.ts +36 -5
  34. package/src/browser/rango-state.ts +53 -13
  35. package/src/browser/react/Link.tsx +72 -8
  36. package/src/browser/react/NavigationProvider.tsx +61 -13
  37. package/src/browser/react/context.ts +7 -2
  38. package/src/browser/react/use-handle.ts +9 -58
  39. package/src/browser/react/use-navigation.ts +22 -2
  40. package/src/browser/react/use-params.ts +11 -1
  41. package/src/browser/react/use-router.ts +29 -9
  42. package/src/browser/rsc-router.tsx +60 -9
  43. package/src/browser/scroll-restoration.ts +10 -8
  44. package/src/browser/segment-reconciler.ts +36 -14
  45. package/src/browser/server-action-bridge.ts +8 -6
  46. package/src/browser/types.ts +40 -5
  47. package/src/build/generate-manifest.ts +6 -6
  48. package/src/build/generate-route-types.ts +3 -0
  49. package/src/build/route-trie.ts +50 -24
  50. package/src/build/route-types/include-resolution.ts +8 -1
  51. package/src/build/route-types/router-processing.ts +211 -72
  52. package/src/build/route-types/scan-filter.ts +8 -1
  53. package/src/cache/cf/cf-cache-store.ts +5 -7
  54. package/src/client.tsx +84 -230
  55. package/src/handle.ts +40 -0
  56. package/src/index.rsc.ts +6 -1
  57. package/src/index.ts +49 -6
  58. package/src/outlet-context.ts +1 -1
  59. package/src/prerender/store.ts +5 -4
  60. package/src/prerender.ts +138 -77
  61. package/src/response-utils.ts +28 -0
  62. package/src/reverse.ts +27 -2
  63. package/src/route-definition/dsl-helpers.ts +210 -35
  64. package/src/route-definition/helpers-types.ts +61 -14
  65. package/src/route-definition/index.ts +3 -0
  66. package/src/route-definition/redirect.ts +9 -1
  67. package/src/route-definition/resolve-handler-use.ts +155 -0
  68. package/src/route-types.ts +18 -0
  69. package/src/router/content-negotiation.ts +100 -1
  70. package/src/router/handler-context.ts +70 -17
  71. package/src/router/intercept-resolution.ts +9 -4
  72. package/src/router/lazy-includes.ts +6 -6
  73. package/src/router/loader-resolution.ts +153 -21
  74. package/src/router/manifest.ts +22 -13
  75. package/src/router/match-api.ts +127 -192
  76. package/src/router/match-middleware/cache-lookup.ts +28 -8
  77. package/src/router/match-middleware/segment-resolution.ts +53 -0
  78. package/src/router/match-result.ts +82 -4
  79. package/src/router/middleware-types.ts +2 -28
  80. package/src/router/middleware.ts +32 -7
  81. package/src/router/navigation-snapshot.ts +182 -0
  82. package/src/router/pattern-matching.ts +60 -9
  83. package/src/router/prerender-match.ts +110 -10
  84. package/src/router/preview-match.ts +30 -102
  85. package/src/router/request-classification.ts +310 -0
  86. package/src/router/route-snapshot.ts +245 -0
  87. package/src/router/router-interfaces.ts +36 -4
  88. package/src/router/router-options.ts +37 -11
  89. package/src/router/segment-resolution/fresh.ts +70 -5
  90. package/src/router/segment-resolution/helpers.ts +29 -24
  91. package/src/router/segment-resolution/revalidation.ts +87 -9
  92. package/src/router/trie-matching.ts +10 -4
  93. package/src/router/types.ts +1 -0
  94. package/src/router/url-params.ts +49 -0
  95. package/src/router.ts +55 -7
  96. package/src/rsc/handler.ts +478 -374
  97. package/src/rsc/helpers.ts +69 -41
  98. package/src/rsc/loader-fetch.ts +23 -3
  99. package/src/rsc/manifest-init.ts +5 -1
  100. package/src/rsc/progressive-enhancement.ts +16 -2
  101. package/src/rsc/response-route-handler.ts +14 -1
  102. package/src/rsc/rsc-rendering.ts +17 -1
  103. package/src/rsc/server-action.ts +10 -0
  104. package/src/rsc/ssr-setup.ts +2 -2
  105. package/src/rsc/types.ts +9 -1
  106. package/src/segment-content-promise.ts +67 -0
  107. package/src/segment-loader-promise.ts +122 -0
  108. package/src/segment-system.tsx +11 -61
  109. package/src/server/context.ts +65 -5
  110. package/src/server/handle-store.ts +19 -0
  111. package/src/server/loader-registry.ts +9 -8
  112. package/src/server/request-context.ts +143 -49
  113. package/src/ssr/index.tsx +3 -0
  114. package/src/static-handler.ts +18 -6
  115. package/src/types/cache-types.ts +4 -4
  116. package/src/types/handler-context.ts +20 -46
  117. package/src/types/loader-types.ts +37 -11
  118. package/src/types/request-scope.ts +126 -0
  119. package/src/types/route-entry.ts +12 -1
  120. package/src/types/segments.ts +1 -1
  121. package/src/urls/include-helper.ts +24 -14
  122. package/src/urls/path-helper-types.ts +39 -6
  123. package/src/urls/path-helper.ts +47 -12
  124. package/src/urls/pattern-types.ts +12 -0
  125. package/src/urls/response-types.ts +18 -16
  126. package/src/use-loader.tsx +77 -5
  127. package/src/vite/debug.ts +140 -0
  128. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  129. package/src/vite/discovery/discover-routers.ts +36 -4
  130. package/src/vite/discovery/prerender-collection.ts +175 -74
  131. package/src/vite/discovery/state.ts +13 -4
  132. package/src/vite/index.ts +4 -0
  133. package/src/vite/plugin-types.ts +60 -5
  134. package/src/vite/plugins/cjs-to-esm.ts +11 -0
  135. package/src/vite/plugins/client-ref-dedup.ts +21 -0
  136. package/src/vite/plugins/client-ref-hashing.ts +16 -4
  137. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  138. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  139. package/src/vite/plugins/cloudflare-protocol-stub.ts +214 -0
  140. package/src/vite/plugins/expose-action-id.ts +52 -28
  141. package/src/vite/plugins/expose-id-utils.ts +12 -0
  142. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  143. package/src/vite/plugins/expose-ids/router-transform.ts +20 -3
  144. package/src/vite/plugins/expose-internal-ids.ts +563 -316
  145. package/src/vite/plugins/performance-tracks.ts +96 -0
  146. package/src/vite/plugins/refresh-cmd.ts +88 -26
  147. package/src/vite/plugins/use-cache-transform.ts +57 -43
  148. package/src/vite/rango.ts +63 -11
  149. package/src/vite/router-discovery.ts +389 -59
  150. package/src/vite/utils/banner.ts +1 -1
  151. package/src/vite/utils/package-resolution.ts +41 -1
  152. package/src/vite/utils/prerender-utils.ts +37 -5
  153. package/src/vite/utils/shared-utils.ts +3 -2
  154. package/dist/__internal.d.ts +0 -83
  155. package/dist/__internal.d.ts.map +0 -1
  156. package/dist/__internal.js +0 -19
  157. package/dist/__internal.js.map +0 -1
  158. package/dist/__mocks__/version.d.ts +0 -7
  159. package/dist/__mocks__/version.d.ts.map +0 -1
  160. package/dist/__mocks__/version.js +0 -7
  161. package/dist/__mocks__/version.js.map +0 -1
  162. package/dist/__tests__/client-href.test.d.ts +0 -2
  163. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  164. package/dist/__tests__/client-href.test.js +0 -74
  165. package/dist/__tests__/client-href.test.js.map +0 -1
  166. package/dist/__tests__/component-utils.test.d.ts +0 -2
  167. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  168. package/dist/__tests__/component-utils.test.js +0 -51
  169. package/dist/__tests__/component-utils.test.js.map +0 -1
  170. package/dist/__tests__/event-controller.test.d.ts +0 -2
  171. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  172. package/dist/__tests__/event-controller.test.js +0 -538
  173. package/dist/__tests__/event-controller.test.js.map +0 -1
  174. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  175. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  176. package/dist/__tests__/helpers/route-tree.js +0 -374
  177. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  178. package/dist/__tests__/match-result.test.d.ts +0 -2
  179. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  180. package/dist/__tests__/match-result.test.js +0 -154
  181. package/dist/__tests__/match-result.test.js.map +0 -1
  182. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  183. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  184. package/dist/__tests__/navigation-store.test.js +0 -440
  185. package/dist/__tests__/navigation-store.test.js.map +0 -1
  186. package/dist/__tests__/partial-update.test.d.ts +0 -2
  187. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  188. package/dist/__tests__/partial-update.test.js +0 -1009
  189. package/dist/__tests__/partial-update.test.js.map +0 -1
  190. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  191. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  192. package/dist/__tests__/reverse-types.test.js +0 -656
  193. package/dist/__tests__/reverse-types.test.js.map +0 -1
  194. package/dist/__tests__/route-definition.test.d.ts +0 -2
  195. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  196. package/dist/__tests__/route-definition.test.js +0 -55
  197. package/dist/__tests__/route-definition.test.js.map +0 -1
  198. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  199. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  200. package/dist/__tests__/router-helpers.test.js +0 -377
  201. package/dist/__tests__/router-helpers.test.js.map +0 -1
  202. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  203. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  204. package/dist/__tests__/router-integration-2.test.js +0 -426
  205. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  206. package/dist/__tests__/router-integration.test.d.ts +0 -2
  207. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  208. package/dist/__tests__/router-integration.test.js +0 -1051
  209. package/dist/__tests__/router-integration.test.js.map +0 -1
  210. package/dist/__tests__/search-params.test.d.ts +0 -5
  211. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  212. package/dist/__tests__/search-params.test.js +0 -306
  213. package/dist/__tests__/search-params.test.js.map +0 -1
  214. package/dist/__tests__/segment-system.test.d.ts +0 -2
  215. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  216. package/dist/__tests__/segment-system.test.js +0 -627
  217. package/dist/__tests__/segment-system.test.js.map +0 -1
  218. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  219. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  220. package/dist/__tests__/static-handler-types.test.js +0 -63
  221. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  222. package/dist/__tests__/urls.test.d.ts +0 -2
  223. package/dist/__tests__/urls.test.d.ts.map +0 -1
  224. package/dist/__tests__/urls.test.js +0 -421
  225. package/dist/__tests__/urls.test.js.map +0 -1
  226. package/dist/__tests__/use-mount.test.d.ts +0 -2
  227. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  228. package/dist/__tests__/use-mount.test.js +0 -35
  229. package/dist/__tests__/use-mount.test.js.map +0 -1
  230. package/dist/bin/rango.d.ts +0 -2
  231. package/dist/bin/rango.d.ts.map +0 -1
  232. package/dist/bin/rango.js.map +0 -1
  233. package/dist/browser/event-controller.d.ts +0 -191
  234. package/dist/browser/event-controller.d.ts.map +0 -1
  235. package/dist/browser/event-controller.js +0 -559
  236. package/dist/browser/event-controller.js.map +0 -1
  237. package/dist/browser/index.d.ts +0 -2
  238. package/dist/browser/index.d.ts.map +0 -1
  239. package/dist/browser/index.js +0 -14
  240. package/dist/browser/index.js.map +0 -1
  241. package/dist/browser/link-interceptor.d.ts +0 -38
  242. package/dist/browser/link-interceptor.d.ts.map +0 -1
  243. package/dist/browser/link-interceptor.js +0 -99
  244. package/dist/browser/link-interceptor.js.map +0 -1
  245. package/dist/browser/logging.d.ts +0 -10
  246. package/dist/browser/logging.d.ts.map +0 -1
  247. package/dist/browser/logging.js +0 -29
  248. package/dist/browser/logging.js.map +0 -1
  249. package/dist/browser/lru-cache.d.ts +0 -17
  250. package/dist/browser/lru-cache.d.ts.map +0 -1
  251. package/dist/browser/lru-cache.js +0 -50
  252. package/dist/browser/lru-cache.js.map +0 -1
  253. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  254. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  255. package/dist/browser/merge-segment-loaders.js +0 -102
  256. package/dist/browser/merge-segment-loaders.js.map +0 -1
  257. package/dist/browser/navigation-bridge.d.ts +0 -102
  258. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  259. package/dist/browser/navigation-bridge.js +0 -708
  260. package/dist/browser/navigation-bridge.js.map +0 -1
  261. package/dist/browser/navigation-client.d.ts +0 -25
  262. package/dist/browser/navigation-client.d.ts.map +0 -1
  263. package/dist/browser/navigation-client.js +0 -157
  264. package/dist/browser/navigation-client.js.map +0 -1
  265. package/dist/browser/navigation-store.d.ts +0 -101
  266. package/dist/browser/navigation-store.d.ts.map +0 -1
  267. package/dist/browser/navigation-store.js +0 -625
  268. package/dist/browser/navigation-store.js.map +0 -1
  269. package/dist/browser/partial-update.d.ts +0 -75
  270. package/dist/browser/partial-update.d.ts.map +0 -1
  271. package/dist/browser/partial-update.js +0 -426
  272. package/dist/browser/partial-update.js.map +0 -1
  273. package/dist/browser/react/Link.d.ts +0 -86
  274. package/dist/browser/react/Link.d.ts.map +0 -1
  275. package/dist/browser/react/Link.js +0 -128
  276. package/dist/browser/react/Link.js.map +0 -1
  277. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  278. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  279. package/dist/browser/react/NavigationProvider.js +0 -216
  280. package/dist/browser/react/NavigationProvider.js.map +0 -1
  281. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  282. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  283. package/dist/browser/react/ScrollRestoration.js +0 -57
  284. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  285. package/dist/browser/react/context.d.ts +0 -46
  286. package/dist/browser/react/context.d.ts.map +0 -1
  287. package/dist/browser/react/context.js +0 -10
  288. package/dist/browser/react/context.js.map +0 -1
  289. package/dist/browser/react/index.d.ts +0 -11
  290. package/dist/browser/react/index.d.ts.map +0 -1
  291. package/dist/browser/react/index.js +0 -22
  292. package/dist/browser/react/index.js.map +0 -1
  293. package/dist/browser/react/location-state-shared.d.ts +0 -63
  294. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  295. package/dist/browser/react/location-state-shared.js +0 -81
  296. package/dist/browser/react/location-state-shared.js.map +0 -1
  297. package/dist/browser/react/location-state.d.ts +0 -23
  298. package/dist/browser/react/location-state.d.ts.map +0 -1
  299. package/dist/browser/react/location-state.js +0 -29
  300. package/dist/browser/react/location-state.js.map +0 -1
  301. package/dist/browser/react/mount-context.d.ts +0 -24
  302. package/dist/browser/react/mount-context.d.ts.map +0 -1
  303. package/dist/browser/react/mount-context.js +0 -24
  304. package/dist/browser/react/mount-context.js.map +0 -1
  305. package/dist/browser/react/use-action.d.ts +0 -64
  306. package/dist/browser/react/use-action.d.ts.map +0 -1
  307. package/dist/browser/react/use-action.js +0 -134
  308. package/dist/browser/react/use-action.js.map +0 -1
  309. package/dist/browser/react/use-client-cache.d.ts +0 -41
  310. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  311. package/dist/browser/react/use-client-cache.js +0 -39
  312. package/dist/browser/react/use-client-cache.js.map +0 -1
  313. package/dist/browser/react/use-handle.d.ts +0 -31
  314. package/dist/browser/react/use-handle.d.ts.map +0 -1
  315. package/dist/browser/react/use-handle.js +0 -144
  316. package/dist/browser/react/use-handle.js.map +0 -1
  317. package/dist/browser/react/use-href.d.ts +0 -33
  318. package/dist/browser/react/use-href.d.ts.map +0 -1
  319. package/dist/browser/react/use-href.js +0 -39
  320. package/dist/browser/react/use-href.js.map +0 -1
  321. package/dist/browser/react/use-link-status.d.ts +0 -37
  322. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  323. package/dist/browser/react/use-link-status.js +0 -99
  324. package/dist/browser/react/use-link-status.js.map +0 -1
  325. package/dist/browser/react/use-mount.d.ts +0 -25
  326. package/dist/browser/react/use-mount.d.ts.map +0 -1
  327. package/dist/browser/react/use-mount.js +0 -30
  328. package/dist/browser/react/use-mount.js.map +0 -1
  329. package/dist/browser/react/use-navigation.d.ts +0 -27
  330. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  331. package/dist/browser/react/use-navigation.js +0 -87
  332. package/dist/browser/react/use-navigation.js.map +0 -1
  333. package/dist/browser/react/use-segments.d.ts +0 -38
  334. package/dist/browser/react/use-segments.d.ts.map +0 -1
  335. package/dist/browser/react/use-segments.js +0 -130
  336. package/dist/browser/react/use-segments.js.map +0 -1
  337. package/dist/browser/request-controller.d.ts +0 -26
  338. package/dist/browser/request-controller.d.ts.map +0 -1
  339. package/dist/browser/request-controller.js +0 -147
  340. package/dist/browser/request-controller.js.map +0 -1
  341. package/dist/browser/rsc-router.d.ts +0 -129
  342. package/dist/browser/rsc-router.d.ts.map +0 -1
  343. package/dist/browser/rsc-router.js +0 -195
  344. package/dist/browser/rsc-router.js.map +0 -1
  345. package/dist/browser/scroll-restoration.d.ts +0 -93
  346. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  347. package/dist/browser/scroll-restoration.js +0 -321
  348. package/dist/browser/scroll-restoration.js.map +0 -1
  349. package/dist/browser/segment-structure-assert.d.ts +0 -17
  350. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  351. package/dist/browser/segment-structure-assert.js +0 -59
  352. package/dist/browser/segment-structure-assert.js.map +0 -1
  353. package/dist/browser/server-action-bridge.d.ts +0 -26
  354. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  355. package/dist/browser/server-action-bridge.js +0 -668
  356. package/dist/browser/server-action-bridge.js.map +0 -1
  357. package/dist/browser/shallow.d.ts +0 -12
  358. package/dist/browser/shallow.d.ts.map +0 -1
  359. package/dist/browser/shallow.js +0 -34
  360. package/dist/browser/shallow.js.map +0 -1
  361. package/dist/browser/types.d.ts +0 -369
  362. package/dist/browser/types.d.ts.map +0 -1
  363. package/dist/browser/types.js +0 -2
  364. package/dist/browser/types.js.map +0 -1
  365. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  366. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  367. package/dist/build/__tests__/generate-cli.test.js +0 -237
  368. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  369. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  370. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  371. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  372. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  373. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  374. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  375. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  376. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  377. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  378. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  379. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  380. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  381. package/dist/build/generate-manifest.d.ts +0 -81
  382. package/dist/build/generate-manifest.d.ts.map +0 -1
  383. package/dist/build/generate-manifest.js +0 -276
  384. package/dist/build/generate-manifest.js.map +0 -1
  385. package/dist/build/generate-route-types.d.ts +0 -115
  386. package/dist/build/generate-route-types.d.ts.map +0 -1
  387. package/dist/build/generate-route-types.js +0 -740
  388. package/dist/build/generate-route-types.js.map +0 -1
  389. package/dist/build/index.d.ts +0 -21
  390. package/dist/build/index.d.ts.map +0 -1
  391. package/dist/build/index.js +0 -21
  392. package/dist/build/index.js.map +0 -1
  393. package/dist/build/route-trie.d.ts +0 -71
  394. package/dist/build/route-trie.d.ts.map +0 -1
  395. package/dist/build/route-trie.js +0 -175
  396. package/dist/build/route-trie.js.map +0 -1
  397. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  398. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  399. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  400. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  401. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  402. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  403. package/dist/cache/__tests__/document-cache.test.js +0 -345
  404. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  405. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  406. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  407. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  408. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  409. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  410. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  411. package/dist/cache/__tests__/memory-store.test.js +0 -367
  412. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  413. package/dist/cache/cache-scope.d.ts +0 -102
  414. package/dist/cache/cache-scope.d.ts.map +0 -1
  415. package/dist/cache/cache-scope.js +0 -440
  416. package/dist/cache/cache-scope.js.map +0 -1
  417. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  418. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  419. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  420. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  421. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  422. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  423. package/dist/cache/cf/cf-cache-store.js +0 -242
  424. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  425. package/dist/cache/cf/index.d.ts +0 -14
  426. package/dist/cache/cf/index.d.ts.map +0 -1
  427. package/dist/cache/cf/index.js +0 -17
  428. package/dist/cache/cf/index.js.map +0 -1
  429. package/dist/cache/document-cache.d.ts +0 -64
  430. package/dist/cache/document-cache.d.ts.map +0 -1
  431. package/dist/cache/document-cache.js +0 -228
  432. package/dist/cache/document-cache.js.map +0 -1
  433. package/dist/cache/index.d.ts +0 -19
  434. package/dist/cache/index.d.ts.map +0 -1
  435. package/dist/cache/index.js +0 -21
  436. package/dist/cache/index.js.map +0 -1
  437. package/dist/cache/memory-segment-store.d.ts +0 -110
  438. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  439. package/dist/cache/memory-segment-store.js +0 -117
  440. package/dist/cache/memory-segment-store.js.map +0 -1
  441. package/dist/cache/memory-store.d.ts +0 -41
  442. package/dist/cache/memory-store.d.ts.map +0 -1
  443. package/dist/cache/memory-store.js +0 -191
  444. package/dist/cache/memory-store.js.map +0 -1
  445. package/dist/cache/types.d.ts +0 -317
  446. package/dist/cache/types.d.ts.map +0 -1
  447. package/dist/cache/types.js +0 -12
  448. package/dist/cache/types.js.map +0 -1
  449. package/dist/client.d.ts +0 -248
  450. package/dist/client.d.ts.map +0 -1
  451. package/dist/client.js +0 -367
  452. package/dist/client.js.map +0 -1
  453. package/dist/client.rsc.d.ts +0 -26
  454. package/dist/client.rsc.d.ts.map +0 -1
  455. package/dist/client.rsc.js +0 -46
  456. package/dist/client.rsc.js.map +0 -1
  457. package/dist/component-utils.d.ts +0 -36
  458. package/dist/component-utils.d.ts.map +0 -1
  459. package/dist/component-utils.js +0 -61
  460. package/dist/component-utils.js.map +0 -1
  461. package/dist/components/DefaultDocument.d.ts +0 -13
  462. package/dist/components/DefaultDocument.d.ts.map +0 -1
  463. package/dist/components/DefaultDocument.js +0 -15
  464. package/dist/components/DefaultDocument.js.map +0 -1
  465. package/dist/debug.d.ts +0 -58
  466. package/dist/debug.d.ts.map +0 -1
  467. package/dist/debug.js +0 -157
  468. package/dist/debug.js.map +0 -1
  469. package/dist/default-error-boundary.d.ts +0 -11
  470. package/dist/default-error-boundary.d.ts.map +0 -1
  471. package/dist/default-error-boundary.js +0 -45
  472. package/dist/default-error-boundary.js.map +0 -1
  473. package/dist/deps/browser.d.ts +0 -2
  474. package/dist/deps/browser.d.ts.map +0 -1
  475. package/dist/deps/browser.js +0 -3
  476. package/dist/deps/browser.js.map +0 -1
  477. package/dist/deps/html-stream-client.d.ts +0 -2
  478. package/dist/deps/html-stream-client.d.ts.map +0 -1
  479. package/dist/deps/html-stream-client.js +0 -3
  480. package/dist/deps/html-stream-client.js.map +0 -1
  481. package/dist/deps/html-stream-server.d.ts +0 -2
  482. package/dist/deps/html-stream-server.d.ts.map +0 -1
  483. package/dist/deps/html-stream-server.js +0 -3
  484. package/dist/deps/html-stream-server.js.map +0 -1
  485. package/dist/deps/rsc.d.ts +0 -2
  486. package/dist/deps/rsc.d.ts.map +0 -1
  487. package/dist/deps/rsc.js +0 -4
  488. package/dist/deps/rsc.js.map +0 -1
  489. package/dist/deps/ssr.d.ts +0 -2
  490. package/dist/deps/ssr.d.ts.map +0 -1
  491. package/dist/deps/ssr.js +0 -3
  492. package/dist/deps/ssr.js.map +0 -1
  493. package/dist/errors.d.ts +0 -174
  494. package/dist/errors.d.ts.map +0 -1
  495. package/dist/errors.js +0 -241
  496. package/dist/errors.js.map +0 -1
  497. package/dist/handle.d.ts +0 -78
  498. package/dist/handle.d.ts.map +0 -1
  499. package/dist/handle.js +0 -82
  500. package/dist/handle.js.map +0 -1
  501. package/dist/handles/MetaTags.d.ts +0 -14
  502. package/dist/handles/MetaTags.d.ts.map +0 -1
  503. package/dist/handles/MetaTags.js +0 -136
  504. package/dist/handles/MetaTags.js.map +0 -1
  505. package/dist/handles/index.d.ts +0 -6
  506. package/dist/handles/index.d.ts.map +0 -1
  507. package/dist/handles/index.js +0 -6
  508. package/dist/handles/index.js.map +0 -1
  509. package/dist/handles/meta.d.ts +0 -39
  510. package/dist/handles/meta.d.ts.map +0 -1
  511. package/dist/handles/meta.js +0 -202
  512. package/dist/handles/meta.js.map +0 -1
  513. package/dist/host/__tests__/errors.test.d.ts +0 -2
  514. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  515. package/dist/host/__tests__/errors.test.js +0 -76
  516. package/dist/host/__tests__/errors.test.js.map +0 -1
  517. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  518. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  519. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  520. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  521. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  522. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  523. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  524. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  525. package/dist/host/__tests__/router.test.d.ts +0 -2
  526. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  527. package/dist/host/__tests__/router.test.js +0 -241
  528. package/dist/host/__tests__/router.test.js.map +0 -1
  529. package/dist/host/__tests__/testing.test.d.ts +0 -2
  530. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  531. package/dist/host/__tests__/testing.test.js +0 -64
  532. package/dist/host/__tests__/testing.test.js.map +0 -1
  533. package/dist/host/__tests__/utils.test.d.ts +0 -2
  534. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  535. package/dist/host/__tests__/utils.test.js +0 -29
  536. package/dist/host/__tests__/utils.test.js.map +0 -1
  537. package/dist/host/cookie-handler.d.ts +0 -34
  538. package/dist/host/cookie-handler.d.ts.map +0 -1
  539. package/dist/host/cookie-handler.js +0 -124
  540. package/dist/host/cookie-handler.js.map +0 -1
  541. package/dist/host/errors.d.ts +0 -56
  542. package/dist/host/errors.d.ts.map +0 -1
  543. package/dist/host/errors.js +0 -79
  544. package/dist/host/errors.js.map +0 -1
  545. package/dist/host/index.d.ts +0 -29
  546. package/dist/host/index.d.ts.map +0 -1
  547. package/dist/host/index.js +0 -32
  548. package/dist/host/index.js.map +0 -1
  549. package/dist/host/pattern-matcher.d.ts +0 -36
  550. package/dist/host/pattern-matcher.d.ts.map +0 -1
  551. package/dist/host/pattern-matcher.js +0 -172
  552. package/dist/host/pattern-matcher.js.map +0 -1
  553. package/dist/host/router.d.ts +0 -26
  554. package/dist/host/router.d.ts.map +0 -1
  555. package/dist/host/router.js +0 -218
  556. package/dist/host/router.js.map +0 -1
  557. package/dist/host/testing.d.ts +0 -36
  558. package/dist/host/testing.d.ts.map +0 -1
  559. package/dist/host/testing.js +0 -55
  560. package/dist/host/testing.js.map +0 -1
  561. package/dist/host/types.d.ts +0 -115
  562. package/dist/host/types.d.ts.map +0 -1
  563. package/dist/host/types.js +0 -7
  564. package/dist/host/types.js.map +0 -1
  565. package/dist/host/utils.d.ts +0 -21
  566. package/dist/host/utils.d.ts.map +0 -1
  567. package/dist/host/utils.js +0 -23
  568. package/dist/host/utils.js.map +0 -1
  569. package/dist/href-client.d.ts +0 -131
  570. package/dist/href-client.d.ts.map +0 -1
  571. package/dist/href-client.js +0 -64
  572. package/dist/href-client.js.map +0 -1
  573. package/dist/href-context.d.ts +0 -29
  574. package/dist/href-context.d.ts.map +0 -1
  575. package/dist/href-context.js +0 -21
  576. package/dist/href-context.js.map +0 -1
  577. package/dist/index.d.ts +0 -73
  578. package/dist/index.d.ts.map +0 -1
  579. package/dist/index.js +0 -91
  580. package/dist/index.js.map +0 -1
  581. package/dist/index.rsc.d.ts +0 -32
  582. package/dist/index.rsc.d.ts.map +0 -1
  583. package/dist/index.rsc.js +0 -40
  584. package/dist/index.rsc.js.map +0 -1
  585. package/dist/internal-debug.d.ts +0 -2
  586. package/dist/internal-debug.d.ts.map +0 -1
  587. package/dist/internal-debug.js +0 -5
  588. package/dist/internal-debug.js.map +0 -1
  589. package/dist/loader.d.ts +0 -14
  590. package/dist/loader.d.ts.map +0 -1
  591. package/dist/loader.js +0 -20
  592. package/dist/loader.js.map +0 -1
  593. package/dist/loader.rsc.d.ts +0 -19
  594. package/dist/loader.rsc.d.ts.map +0 -1
  595. package/dist/loader.rsc.js +0 -99
  596. package/dist/loader.rsc.js.map +0 -1
  597. package/dist/network-error-thrower.d.ts +0 -17
  598. package/dist/network-error-thrower.d.ts.map +0 -1
  599. package/dist/network-error-thrower.js +0 -14
  600. package/dist/network-error-thrower.js.map +0 -1
  601. package/dist/outlet-context.d.ts +0 -13
  602. package/dist/outlet-context.d.ts.map +0 -1
  603. package/dist/outlet-context.js +0 -3
  604. package/dist/outlet-context.js.map +0 -1
  605. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  606. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  607. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  608. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  609. package/dist/prerender/param-hash.d.ts +0 -16
  610. package/dist/prerender/param-hash.d.ts.map +0 -1
  611. package/dist/prerender/param-hash.js +0 -36
  612. package/dist/prerender/param-hash.js.map +0 -1
  613. package/dist/prerender/store.d.ts +0 -38
  614. package/dist/prerender/store.d.ts.map +0 -1
  615. package/dist/prerender/store.js +0 -61
  616. package/dist/prerender/store.js.map +0 -1
  617. package/dist/prerender.d.ts +0 -66
  618. package/dist/prerender.d.ts.map +0 -1
  619. package/dist/prerender.js +0 -57
  620. package/dist/prerender.js.map +0 -1
  621. package/dist/reverse.d.ts +0 -196
  622. package/dist/reverse.d.ts.map +0 -1
  623. package/dist/reverse.js +0 -78
  624. package/dist/reverse.js.map +0 -1
  625. package/dist/root-error-boundary.d.ts +0 -33
  626. package/dist/root-error-boundary.d.ts.map +0 -1
  627. package/dist/root-error-boundary.js +0 -165
  628. package/dist/root-error-boundary.js.map +0 -1
  629. package/dist/route-content-wrapper.d.ts +0 -46
  630. package/dist/route-content-wrapper.d.ts.map +0 -1
  631. package/dist/route-content-wrapper.js +0 -77
  632. package/dist/route-content-wrapper.js.map +0 -1
  633. package/dist/route-definition.d.ts +0 -421
  634. package/dist/route-definition.d.ts.map +0 -1
  635. package/dist/route-definition.js +0 -868
  636. package/dist/route-definition.js.map +0 -1
  637. package/dist/route-map-builder.d.ts +0 -155
  638. package/dist/route-map-builder.d.ts.map +0 -1
  639. package/dist/route-map-builder.js +0 -237
  640. package/dist/route-map-builder.js.map +0 -1
  641. package/dist/route-types.d.ts +0 -165
  642. package/dist/route-types.d.ts.map +0 -1
  643. package/dist/route-types.js +0 -7
  644. package/dist/route-types.js.map +0 -1
  645. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  646. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  647. package/dist/router/__tests__/handler-context.test.js +0 -65
  648. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  649. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  650. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  651. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  652. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  653. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  654. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  655. package/dist/router/__tests__/match-context.test.js +0 -92
  656. package/dist/router/__tests__/match-context.test.js.map +0 -1
  657. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  658. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  659. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  660. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  661. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  662. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  663. package/dist/router/__tests__/match-result.test.js +0 -457
  664. package/dist/router/__tests__/match-result.test.js.map +0 -1
  665. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  666. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  667. package/dist/router/__tests__/on-error.test.js +0 -678
  668. package/dist/router/__tests__/on-error.test.js.map +0 -1
  669. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  670. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  671. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  672. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  673. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  674. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  675. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  676. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  677. package/dist/router/error-handling.d.ts +0 -77
  678. package/dist/router/error-handling.d.ts.map +0 -1
  679. package/dist/router/error-handling.js +0 -202
  680. package/dist/router/error-handling.js.map +0 -1
  681. package/dist/router/handler-context.d.ts +0 -20
  682. package/dist/router/handler-context.d.ts.map +0 -1
  683. package/dist/router/handler-context.js +0 -198
  684. package/dist/router/handler-context.js.map +0 -1
  685. package/dist/router/intercept-resolution.d.ts +0 -66
  686. package/dist/router/intercept-resolution.d.ts.map +0 -1
  687. package/dist/router/intercept-resolution.js +0 -246
  688. package/dist/router/intercept-resolution.js.map +0 -1
  689. package/dist/router/loader-resolution.d.ts +0 -64
  690. package/dist/router/loader-resolution.d.ts.map +0 -1
  691. package/dist/router/loader-resolution.js +0 -284
  692. package/dist/router/loader-resolution.js.map +0 -1
  693. package/dist/router/logging.d.ts +0 -15
  694. package/dist/router/logging.d.ts.map +0 -1
  695. package/dist/router/logging.js +0 -99
  696. package/dist/router/logging.js.map +0 -1
  697. package/dist/router/manifest.d.ts +0 -22
  698. package/dist/router/manifest.d.ts.map +0 -1
  699. package/dist/router/manifest.js +0 -181
  700. package/dist/router/manifest.js.map +0 -1
  701. package/dist/router/match-api.d.ts +0 -35
  702. package/dist/router/match-api.d.ts.map +0 -1
  703. package/dist/router/match-api.js +0 -406
  704. package/dist/router/match-api.js.map +0 -1
  705. package/dist/router/match-context.d.ts +0 -206
  706. package/dist/router/match-context.d.ts.map +0 -1
  707. package/dist/router/match-context.js +0 -17
  708. package/dist/router/match-context.js.map +0 -1
  709. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  710. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  711. package/dist/router/match-middleware/background-revalidation.js +0 -75
  712. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  713. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  714. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  715. package/dist/router/match-middleware/cache-lookup.js +0 -257
  716. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  717. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  718. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  719. package/dist/router/match-middleware/cache-store.js +0 -108
  720. package/dist/router/match-middleware/cache-store.js.map +0 -1
  721. package/dist/router/match-middleware/index.d.ts +0 -81
  722. package/dist/router/match-middleware/index.d.ts.map +0 -1
  723. package/dist/router/match-middleware/index.js +0 -80
  724. package/dist/router/match-middleware/index.js.map +0 -1
  725. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  726. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  727. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  728. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  729. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  730. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  731. package/dist/router/match-middleware/segment-resolution.js +0 -53
  732. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  733. package/dist/router/match-pipelines.d.ts +0 -147
  734. package/dist/router/match-pipelines.d.ts.map +0 -1
  735. package/dist/router/match-pipelines.js +0 -82
  736. package/dist/router/match-pipelines.js.map +0 -1
  737. package/dist/router/match-result.d.ts +0 -126
  738. package/dist/router/match-result.d.ts.map +0 -1
  739. package/dist/router/match-result.js +0 -93
  740. package/dist/router/match-result.js.map +0 -1
  741. package/dist/router/metrics.d.ts +0 -20
  742. package/dist/router/metrics.d.ts.map +0 -1
  743. package/dist/router/metrics.js +0 -47
  744. package/dist/router/metrics.js.map +0 -1
  745. package/dist/router/middleware.d.ts +0 -249
  746. package/dist/router/middleware.d.ts.map +0 -1
  747. package/dist/router/middleware.js +0 -434
  748. package/dist/router/middleware.js.map +0 -1
  749. package/dist/router/middleware.test.d.ts +0 -2
  750. package/dist/router/middleware.test.d.ts.map +0 -1
  751. package/dist/router/middleware.test.js +0 -816
  752. package/dist/router/middleware.test.js.map +0 -1
  753. package/dist/router/pattern-matching.d.ts +0 -149
  754. package/dist/router/pattern-matching.d.ts.map +0 -1
  755. package/dist/router/pattern-matching.js +0 -349
  756. package/dist/router/pattern-matching.js.map +0 -1
  757. package/dist/router/revalidation.d.ts +0 -44
  758. package/dist/router/revalidation.d.ts.map +0 -1
  759. package/dist/router/revalidation.js +0 -147
  760. package/dist/router/revalidation.js.map +0 -1
  761. package/dist/router/router-context.d.ts +0 -135
  762. package/dist/router/router-context.d.ts.map +0 -1
  763. package/dist/router/router-context.js +0 -36
  764. package/dist/router/router-context.js.map +0 -1
  765. package/dist/router/segment-resolution.d.ts +0 -127
  766. package/dist/router/segment-resolution.d.ts.map +0 -1
  767. package/dist/router/segment-resolution.js +0 -919
  768. package/dist/router/segment-resolution.js.map +0 -1
  769. package/dist/router/trie-matching.d.ts +0 -40
  770. package/dist/router/trie-matching.d.ts.map +0 -1
  771. package/dist/router/trie-matching.js +0 -127
  772. package/dist/router/trie-matching.js.map +0 -1
  773. package/dist/router/types.d.ts +0 -136
  774. package/dist/router/types.d.ts.map +0 -1
  775. package/dist/router/types.js +0 -7
  776. package/dist/router/types.js.map +0 -1
  777. package/dist/router.d.ts +0 -753
  778. package/dist/router.d.ts.map +0 -1
  779. package/dist/router.gen.d.ts +0 -6
  780. package/dist/router.gen.d.ts.map +0 -1
  781. package/dist/router.gen.js +0 -6
  782. package/dist/router.gen.js.map +0 -1
  783. package/dist/router.js +0 -1304
  784. package/dist/router.js.map +0 -1
  785. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  786. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  787. package/dist/rsc/__tests__/helpers.test.js +0 -140
  788. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  789. package/dist/rsc/handler.d.ts +0 -45
  790. package/dist/rsc/handler.d.ts.map +0 -1
  791. package/dist/rsc/handler.js +0 -1172
  792. package/dist/rsc/handler.js.map +0 -1
  793. package/dist/rsc/helpers.d.ts +0 -16
  794. package/dist/rsc/helpers.d.ts.map +0 -1
  795. package/dist/rsc/helpers.js +0 -55
  796. package/dist/rsc/helpers.js.map +0 -1
  797. package/dist/rsc/index.d.ts +0 -22
  798. package/dist/rsc/index.d.ts.map +0 -1
  799. package/dist/rsc/index.js +0 -23
  800. package/dist/rsc/index.js.map +0 -1
  801. package/dist/rsc/nonce.d.ts +0 -9
  802. package/dist/rsc/nonce.d.ts.map +0 -1
  803. package/dist/rsc/nonce.js +0 -18
  804. package/dist/rsc/nonce.js.map +0 -1
  805. package/dist/rsc/types.d.ts +0 -206
  806. package/dist/rsc/types.d.ts.map +0 -1
  807. package/dist/rsc/types.js +0 -8
  808. package/dist/rsc/types.js.map +0 -1
  809. package/dist/search-params.d.ts +0 -103
  810. package/dist/search-params.d.ts.map +0 -1
  811. package/dist/search-params.js +0 -74
  812. package/dist/search-params.js.map +0 -1
  813. package/dist/segment-system.d.ts +0 -75
  814. package/dist/segment-system.d.ts.map +0 -1
  815. package/dist/segment-system.js +0 -336
  816. package/dist/segment-system.js.map +0 -1
  817. package/dist/server/context.d.ts +0 -245
  818. package/dist/server/context.d.ts.map +0 -1
  819. package/dist/server/context.js +0 -197
  820. package/dist/server/context.js.map +0 -1
  821. package/dist/server/fetchable-loader-store.d.ts +0 -18
  822. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  823. package/dist/server/fetchable-loader-store.js +0 -18
  824. package/dist/server/fetchable-loader-store.js.map +0 -1
  825. package/dist/server/handle-store.d.ts +0 -85
  826. package/dist/server/handle-store.d.ts.map +0 -1
  827. package/dist/server/handle-store.js +0 -142
  828. package/dist/server/handle-store.js.map +0 -1
  829. package/dist/server/loader-registry.d.ts +0 -55
  830. package/dist/server/loader-registry.d.ts.map +0 -1
  831. package/dist/server/loader-registry.js +0 -132
  832. package/dist/server/loader-registry.js.map +0 -1
  833. package/dist/server/request-context.d.ts +0 -226
  834. package/dist/server/request-context.d.ts.map +0 -1
  835. package/dist/server/request-context.js +0 -290
  836. package/dist/server/request-context.js.map +0 -1
  837. package/dist/server/root-layout.d.ts +0 -4
  838. package/dist/server/root-layout.d.ts.map +0 -1
  839. package/dist/server/root-layout.js +0 -5
  840. package/dist/server/root-layout.js.map +0 -1
  841. package/dist/server.d.ts +0 -15
  842. package/dist/server.d.ts.map +0 -1
  843. package/dist/server.js +0 -20
  844. package/dist/server.js.map +0 -1
  845. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  846. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  847. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  848. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  849. package/dist/ssr/index.d.ts +0 -98
  850. package/dist/ssr/index.d.ts.map +0 -1
  851. package/dist/ssr/index.js +0 -158
  852. package/dist/ssr/index.js.map +0 -1
  853. package/dist/static-handler.d.ts +0 -50
  854. package/dist/static-handler.d.ts.map +0 -1
  855. package/dist/static-handler.gen.d.ts +0 -5
  856. package/dist/static-handler.gen.d.ts.map +0 -1
  857. package/dist/static-handler.gen.js +0 -5
  858. package/dist/static-handler.gen.js.map +0 -1
  859. package/dist/static-handler.js +0 -29
  860. package/dist/static-handler.js.map +0 -1
  861. package/dist/theme/ThemeProvider.d.ts +0 -20
  862. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  863. package/dist/theme/ThemeProvider.js +0 -240
  864. package/dist/theme/ThemeProvider.js.map +0 -1
  865. package/dist/theme/ThemeScript.d.ts +0 -48
  866. package/dist/theme/ThemeScript.d.ts.map +0 -1
  867. package/dist/theme/ThemeScript.js +0 -13
  868. package/dist/theme/ThemeScript.js.map +0 -1
  869. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  870. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  871. package/dist/theme/__tests__/theme.test.js +0 -103
  872. package/dist/theme/__tests__/theme.test.js.map +0 -1
  873. package/dist/theme/constants.d.ts +0 -29
  874. package/dist/theme/constants.d.ts.map +0 -1
  875. package/dist/theme/constants.js +0 -48
  876. package/dist/theme/constants.js.map +0 -1
  877. package/dist/theme/index.d.ts +0 -31
  878. package/dist/theme/index.d.ts.map +0 -1
  879. package/dist/theme/index.js +0 -36
  880. package/dist/theme/index.js.map +0 -1
  881. package/dist/theme/theme-context.d.ts +0 -40
  882. package/dist/theme/theme-context.d.ts.map +0 -1
  883. package/dist/theme/theme-context.js +0 -60
  884. package/dist/theme/theme-context.js.map +0 -1
  885. package/dist/theme/theme-script.d.ts +0 -27
  886. package/dist/theme/theme-script.d.ts.map +0 -1
  887. package/dist/theme/theme-script.js +0 -147
  888. package/dist/theme/theme-script.js.map +0 -1
  889. package/dist/theme/types.d.ts +0 -163
  890. package/dist/theme/types.d.ts.map +0 -1
  891. package/dist/theme/types.js +0 -11
  892. package/dist/theme/types.js.map +0 -1
  893. package/dist/theme/use-theme.d.ts +0 -12
  894. package/dist/theme/use-theme.d.ts.map +0 -1
  895. package/dist/theme/use-theme.js +0 -40
  896. package/dist/theme/use-theme.js.map +0 -1
  897. package/dist/types.d.ts +0 -1479
  898. package/dist/types.d.ts.map +0 -1
  899. package/dist/types.js +0 -10
  900. package/dist/types.js.map +0 -1
  901. package/dist/urls.d.ts +0 -441
  902. package/dist/urls.d.ts.map +0 -1
  903. package/dist/urls.gen.d.ts +0 -8
  904. package/dist/urls.gen.d.ts.map +0 -1
  905. package/dist/urls.gen.js +0 -8
  906. package/dist/urls.gen.js.map +0 -1
  907. package/dist/urls.js +0 -443
  908. package/dist/urls.js.map +0 -1
  909. package/dist/use-loader.d.ts +0 -127
  910. package/dist/use-loader.d.ts.map +0 -1
  911. package/dist/use-loader.js +0 -237
  912. package/dist/use-loader.js.map +0 -1
  913. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  914. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  915. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  916. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  917. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  918. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  919. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  920. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  921. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  922. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  923. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  924. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  925. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  926. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  927. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  928. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  929. package/dist/vite/ast-handler-extract.d.ts +0 -49
  930. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  931. package/dist/vite/ast-handler-extract.js +0 -249
  932. package/dist/vite/ast-handler-extract.js.map +0 -1
  933. package/dist/vite/expose-action-id.d.ts +0 -19
  934. package/dist/vite/expose-action-id.d.ts.map +0 -1
  935. package/dist/vite/expose-action-id.js +0 -250
  936. package/dist/vite/expose-action-id.js.map +0 -1
  937. package/dist/vite/expose-id-utils.d.ts +0 -69
  938. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  939. package/dist/vite/expose-id-utils.js +0 -289
  940. package/dist/vite/expose-id-utils.js.map +0 -1
  941. package/dist/vite/expose-internal-ids.d.ts +0 -22
  942. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  943. package/dist/vite/expose-internal-ids.js +0 -886
  944. package/dist/vite/expose-internal-ids.js.map +0 -1
  945. package/dist/vite/index.d.ts +0 -149
  946. package/dist/vite/index.d.ts.map +0 -1
  947. package/dist/vite/index.js.map +0 -1
  948. package/dist/vite/index.named-routes.gen.ts +0 -103
  949. package/dist/vite/package-resolution.d.ts +0 -43
  950. package/dist/vite/package-resolution.d.ts.map +0 -1
  951. package/dist/vite/package-resolution.js +0 -112
  952. package/dist/vite/package-resolution.js.map +0 -1
  953. package/dist/vite/virtual-entries.d.ts +0 -25
  954. package/dist/vite/virtual-entries.d.ts.map +0 -1
  955. package/dist/vite/virtual-entries.js +0 -110
  956. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../src/prerender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY,CAAC,OAAO;IACnC,0EAA0E;IAC1E,MAAM,EAAE,OAAO,CAAC;IAEhB,wEAAwE;IACxE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAEjD,mEAAmE;IACnE,GAAG,EAAE,GAAG,CAAC;IAET,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IACnF,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;IACjD,0BAA0B;IAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAKD,wBAAgB,SAAS,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAChE,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EACzE,OAAO,CAAC,EAAE,gBAAgB,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAGvC,wBAAgB,SAAS,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,EAC/C,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EACzE,OAAO,CAAC,EAAE,gBAAgB,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,0BAA0B,CAAC,OAAO,CAAC,CAAC;AA2DvC;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,0BAA0B,CAOrC"}
package/dist/prerender.js DELETED
@@ -1,57 +0,0 @@
1
- // -- Implementation ---------------------------------------------------------
2
- export function Prerender(handlerOrGetParams, handlerOrOptions, optionsOrId, maybeId) {
3
- // Resolve overloads:
4
- // 1 fn arg: Prerender(handler, options?, __injectedId?)
5
- // 2 fn args: Prerender(getParams, handler, options?, __injectedId?)
6
- let handler;
7
- let getParams;
8
- let options;
9
- let id;
10
- if (typeof handlerOrOptions === "function") {
11
- // Two function args: getParams + handler
12
- getParams = handlerOrGetParams;
13
- handler = handlerOrOptions;
14
- if (typeof optionsOrId === "string") {
15
- id = optionsOrId;
16
- }
17
- else {
18
- options = optionsOrId;
19
- id = maybeId ?? "";
20
- }
21
- }
22
- else {
23
- // Single function arg: handler only
24
- handler = handlerOrGetParams;
25
- if (typeof handlerOrOptions === "object" && handlerOrOptions !== null) {
26
- options = handlerOrOptions;
27
- }
28
- if (typeof optionsOrId === "string") {
29
- id = optionsOrId;
30
- }
31
- else {
32
- id = maybeId ?? "";
33
- }
34
- }
35
- if (!id) {
36
- throw new Error("[rsc-router] Prerender: missing $$id. " +
37
- "Ensure the exposeInternalIds Vite plugin is configured.");
38
- }
39
- return {
40
- __brand: "prerenderHandler",
41
- $$id: id,
42
- handler,
43
- ...(getParams ? { getParams } : {}),
44
- ...(options ? { options } : {}),
45
- };
46
- }
47
- // -- Type guard -------------------------------------------------------------
48
- /**
49
- * Type guard to check if a value is a PrerenderHandlerDefinition.
50
- */
51
- export function isPrerenderHandler(value) {
52
- return (typeof value === "object" &&
53
- value !== null &&
54
- "__brand" in value &&
55
- value.__brand === "prerenderHandler");
56
- }
57
- //# sourceMappingURL=prerender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../src/prerender.ts"],"names":[],"mappings":"AAsFA,8EAA8E;AAE9E,MAAM,UAAU,SAAS,CACvB,kBAA4B,EAC5B,gBAA8C,EAC9C,WAAuC,EACvC,OAAgB;IAEhB,qBAAqB;IACrB,yDAAyD;IACzD,oEAAoE;IACpE,IAAI,OAAyB,CAAC;IAC9B,IAAI,SAA6D,CAAC;IAClE,IAAI,OAAqC,CAAC;IAC1C,IAAI,EAAU,CAAC;IAEf,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC3C,yCAAyC;QACzC,SAAS,GAAG,kBAA0D,CAAC;QACvE,OAAO,GAAG,gBAAoC,CAAC;QAC/C,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,EAAE,GAAG,WAAW,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,WAA2C,CAAC;YACtD,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,OAAO,GAAG,kBAAsC,CAAC;QACjD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACtE,OAAO,GAAG,gBAAoC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,EAAE,GAAG,WAAW,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACb,wCAAwC;YACxC,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,kBAA2B;QACpC,IAAI,EAAE,EAAE;QACR,OAAO;QACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAA8B,CAAC,OAAO,KAAK,kBAAkB,CAC/D,CAAC;AACJ,CAAC"}
package/dist/reverse.d.ts DELETED
@@ -1,196 +0,0 @@
1
- import type { ExtractParams } from "./types.js";
2
- import type { SearchSchema, ResolveSearchSchema } from "./search-params.js";
3
- /**
4
- * Sanitize prefix string by removing leading slash
5
- * "/shop" -> "shop", "blog" -> "blog", "" -> ""
6
- */
7
- export type SanitizePrefix<T extends string> = T extends `/${infer P}` ? P : T;
8
- /**
9
- * Helper type to merge multiple route definitions into a single accumulated type.
10
- * Note: When using createRouter, types accumulate automatically through the
11
- * builder chain, so this type is typically not needed.
12
- *
13
- * @example
14
- * ```typescript
15
- * // Manual type merging (rarely needed):
16
- * type AppRoutes = MergeRoutes<[
17
- * typeof homeRoutes,
18
- * PrefixRoutePatterns<typeof blogRoutes, "/blog">,
19
- * ]>;
20
- *
21
- * // Preferred: Let router accumulate types automatically
22
- * const router = createRouter<AppEnv>()
23
- * .routes(homeRoutes).map(...)
24
- * .routes("/blog", blogRoutes).map(...);
25
- * type AppRoutes = typeof router.routeMap;
26
- * ```
27
- */
28
- export type MergeRoutes<T extends unknown[]> = T extends [
29
- infer First,
30
- ...infer Rest
31
- ] ? First & MergeRoutes<Rest> : {};
32
- /**
33
- * Add key prefix to all entries in a route map
34
- * { "cart": "/cart" } with prefix "shop" -> { "shop.cart": "/shop/cart" }
35
- */
36
- export type PrefixRouteKeys<T, Prefix extends string> = Prefix extends "" ? T : {
37
- [K in keyof T as `${Prefix}.${K & string}`]: T[K];
38
- };
39
- /**
40
- * Add path prefix to all patterns in a route map
41
- * { "cart": "/cart" } with prefix "/shop" -> { "cart": "/shop/cart" }
42
- */
43
- export type PrefixRoutePatterns<T, PathPrefix extends string> = {
44
- [K in keyof T]: PathPrefix extends "" | "/" ? T[K] : T[K] extends "/" ? PathPrefix : T[K] extends string ? `${PathPrefix}${T[K]}` : T[K];
45
- };
46
- /**
47
- * Combined: prefix both keys and patterns
48
- * Used for module augmentation registration
49
- *
50
- * @example
51
- * ```typescript
52
- * // Given shopRoutes = { "index": "/", "cart": "/cart", "products.detail": "/product/:slug" }
53
- * // PrefixedRoutes<typeof shopRoutes, "shop"> produces:
54
- * // { "shop.index": "/shop", "shop.cart": "/shop/cart", "shop.products.detail": "/shop/product/:slug" }
55
- * ```
56
- */
57
- export type PrefixedRoutes<T, KeyPrefix extends string, PathPrefix extends string = KeyPrefix extends "" ? "" : `/${KeyPrefix}`> = PrefixRouteKeys<PrefixRoutePatterns<T, PathPrefix>, KeyPrefix>;
58
- /**
59
- * Helper to safely extract route patterns from a routes object
60
- * Handles string values, { path, response } objects, and interface types (like RegisteredRoutes)
61
- */
62
- type RoutePatternFor<TRoutes, TName extends keyof TRoutes> = TRoutes[TName] extends string ? TRoutes[TName] : TRoutes[TName] extends {
63
- readonly path: infer P extends string;
64
- } ? P : string;
65
- /**
66
- * Extract params type for a route
67
- */
68
- export type ParamsFor<TRoutes, TName extends keyof TRoutes> = ExtractParams<RoutePatternFor<TRoutes, TName>>;
69
- /**
70
- * Check if an object type has any keys
71
- */
72
- type IsEmptyObject<T> = keyof T extends never ? true : false;
73
- /**
74
- * Extract search schema from a route entry.
75
- * Returns {} if no search schema is defined.
76
- */
77
- type ExtractSearchSchema<TRoutes, TName extends keyof TRoutes> = TRoutes[TName] extends {
78
- readonly search: infer S extends SearchSchema;
79
- } ? S : {};
80
- /**
81
- * Type-safe reverse function signature (Django-style URL reversal)
82
- *
83
- * Validates route names and params at compile time.
84
- * Use route names instead of raw paths for full type safety.
85
- *
86
- * @example
87
- * ```typescript
88
- * reverse("cart") // ✓ Validates route exists
89
- * reverse("product.detail", { id: "123" }) // ✓ Validates route + params
90
- * ```
91
- */
92
- export type ReverseFunction<TRoutes> = {
93
- /**
94
- * Route without params - validates route name exists
95
- */
96
- <TName extends keyof TRoutes & string>(name: IsEmptyObject<ExtractParams<RoutePatternFor<TRoutes, TName>>> extends true ? TName : never): string;
97
- /**
98
- * Route with params - validates both route name and params
99
- */
100
- <TName extends keyof TRoutes & string>(name: TName, params: ExtractParams<RoutePatternFor<TRoutes, TName>>): string;
101
- /**
102
- * Route with params and search - validates route name, params, and search
103
- */
104
- <TName extends keyof TRoutes & string>(name: TName, params: ExtractParams<RoutePatternFor<TRoutes, TName>>, search: ResolveSearchSchema<ExtractSearchSchema<TRoutes, TName>>): string;
105
- };
106
- /**
107
- * Type-safe scoped reverse function that validates all route names and params.
108
- *
109
- * When used via HandlerContext or scopedReverse(), local routes are merged with
110
- * global RegisteredRoutes so all names are fully type-checked.
111
- *
112
- * @example
113
- * ```typescript
114
- * reverse("cart") // ✓ Validates local route
115
- * reverse("blog.post", { slug: "hello" }) // ✓ Validates global route + params
116
- * reverse("typo") // ✗ Compile error
117
- * ```
118
- */
119
- export type ScopedReverseFunction<TLocalRoutes> = {
120
- /**
121
- * Route without params - validates route name exists
122
- * @recommended Use this for type-safe URL generation
123
- */
124
- <TName extends keyof TLocalRoutes & string>(name: IsEmptyObject<ExtractParams<RoutePatternFor<TLocalRoutes, TName>>> extends true ? TName : never): string;
125
- /**
126
- * Route with params - validates both route name and params
127
- * @recommended Use this for type-safe URL generation with parameters
128
- */
129
- <TName extends keyof TLocalRoutes & string>(name: TName, params: ExtractParams<RoutePatternFor<TLocalRoutes, TName>>): string;
130
- /**
131
- * Route with params and search - validates route name, params, and search
132
- */
133
- <TName extends keyof TLocalRoutes & string>(name: TName, params: ExtractParams<RoutePatternFor<TLocalRoutes, TName>>, search: ResolveSearchSchema<ExtractSearchSchema<TLocalRoutes, TName>>): string;
134
- };
135
- /**
136
- * Extract local routes type from UrlPatterns
137
- * Used with scopedReverse() to get the routes type from patterns
138
- */
139
- export type ExtractLocalRoutes<TPatterns> = TPatterns extends {
140
- readonly _routes?: infer TRoutes;
141
- } ? TRoutes : TPatterns extends Record<string, string> ? TPatterns : Record<string, string>;
142
- /**
143
- * Extract the response data type for a named route from a UrlPatterns instance.
144
- * Re-exported from urls.ts for consumer convenience.
145
- */
146
- export type { RouteResponse } from "./urls.js";
147
- /**
148
- * Get a locally-typed reverse function from ctx.reverse for composable modules.
149
- *
150
- * This is a type-only cast - ctx.reverse already resolves local names at runtime
151
- * based on the current route prefix. This helper just provides type safety
152
- * for local route names within a url module.
153
- *
154
- * @param reverse - The ctx.reverse function from HandlerContext
155
- * @returns The same reverse function, but typed for local routes
156
- *
157
- * @example
158
- * ```typescript
159
- * // urls/blog.tsx
160
- * export const blogPatterns = urls(({ path }) => [
161
- * path("/", (ctx) => {
162
- * // Get locally-typed reverse for this module's routes
163
- * const reverse = scopedReverse<typeof blogPatterns>(ctx.reverse);
164
- *
165
- * reverse("index"); // ✓ Type-safe local route
166
- * reverse("post", { slug: "x" }); // ✓ Type-safe with params
167
- * reverse("shop.cart"); // ✓ Type-safe global route
168
- *
169
- * return <BlogIndex />;
170
- * }, { name: "index" }),
171
- *
172
- * path("/:slug", BlogPost, { name: "post" }),
173
- * ]);
174
- * ```
175
- */
176
- export declare function scopedReverse<TPatterns>(reverse: ((...args: any[]) => string)): ScopedReverseFunction<ExtractLocalRoutes<TPatterns>>;
177
- /**
178
- * Create a type-safe reverse function for URL generation
179
- *
180
- * @param routeMap - Flattened route map with all registered routes
181
- * @returns Type-safe reverse function
182
- *
183
- * @example
184
- * ```typescript
185
- * // Given routes: { cart: "/shop/cart", detail: "/shop/product/:slug" }
186
- * const reverse = createReverse(routeMap);
187
- * reverse("cart"); // "/shop/cart"
188
- * reverse("detail", { slug: "my-product" }); // "/shop/product/my-product"
189
- * ```
190
- */
191
- type RouteMapEntry = string | {
192
- path: string;
193
- search?: Record<string, string>;
194
- };
195
- export declare function createReverse<TRoutes extends Record<string, string>>(routeMap: TRoutes, getFallbackMap?: () => Record<string, RouteMapEntry> | undefined): ReverseFunction<TRoutes & Record<string, string>>;
196
- //# sourceMappingURL=reverse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../src/reverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG5E;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS;IACvD,MAAM,KAAK;IACX,GAAG,MAAM,IAAI;CACd,GACG,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GACzB,EAAE,CAAC;AAEP;;;GAGG;AACH,MAAM,MAAM,eAAe,CACzB,CAAC,EACD,MAAM,SAAS,MAAM,IACnB,MAAM,SAAS,EAAE,GACjB,CAAC,GACD;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,EACD,UAAU,SAAS,MAAM,IACvB;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,SAAS,EAAE,GAAG,GAAG,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GACd,UAAU,GACV,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GACtB,CAAC,CAAC,CAAC,CAAC;CACb,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CACxB,CAAC,EACD,SAAS,SAAS,MAAM,EACxB,UAAU,SAAS,MAAM,GAAG,SAAS,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,SAAS,EAAE,IACrE,eAAe,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;AAEnE;;;GAGG;AACH,KAAK,eAAe,CAAC,OAAO,EAAE,KAAK,SAAS,MAAM,OAAO,IACvD,OAAO,CAAC,KAAK,CAAC,SAAS,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAC5C,OAAO,CAAC,KAAK,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GAAG,CAAC,GACpE,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,SAAS,CACnB,OAAO,EACP,KAAK,SAAS,MAAM,OAAO,IACzB,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnD;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAE7D;;;GAGG;AACH,KAAK,mBAAmB,CAAC,OAAO,EAAE,KAAK,SAAS,MAAM,OAAO,IAC3D,OAAO,CAAC,KAAK,CAAC,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,YAAY,CAAA;CAAE,GACpE,CAAC,GACD,EAAE,CAAC;AAET;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,OAAO,IAAI;IACrC;;OAEG;IACH,CAAC,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,EACnC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,KAAK,GAC/F,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,EACnC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GACrD,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,EACnC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EACtD,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAC/D,MAAM,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,qBAAqB,CAAC,YAAY,IAAI;IAChD;;;OAGG;IACH,CAAC,KAAK,SAAS,MAAM,YAAY,GAAG,MAAM,EACxC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,KAAK,GACpG,MAAM,CAAC;IAEV;;;OAGG;IACH,CAAC,KAAK,SAAS,MAAM,YAAY,GAAG,MAAM,EACxC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GAC1D,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,KAAK,SAAS,MAAM,YAAY,GAAG,MAAM,EACxC,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAC3D,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GACpE,MAAM,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,SAAS,IACtC,SAAS,SAAS;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,GAClD,OAAO,GACP,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,SAAS,GACT,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/B;;;GAGG;AACH,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,SAAS,EACrC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GACpC,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAEtD;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,aAAa,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAOhF,wBAAgB,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClE,QAAQ,EAAE,OAAO,EACjB,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,GAC/D,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyCnD"}
package/dist/reverse.js DELETED
@@ -1,78 +0,0 @@
1
- import { serializeSearchParams } from "./search-params.js";
2
- /**
3
- * Get a locally-typed reverse function from ctx.reverse for composable modules.
4
- *
5
- * This is a type-only cast - ctx.reverse already resolves local names at runtime
6
- * based on the current route prefix. This helper just provides type safety
7
- * for local route names within a url module.
8
- *
9
- * @param reverse - The ctx.reverse function from HandlerContext
10
- * @returns The same reverse function, but typed for local routes
11
- *
12
- * @example
13
- * ```typescript
14
- * // urls/blog.tsx
15
- * export const blogPatterns = urls(({ path }) => [
16
- * path("/", (ctx) => {
17
- * // Get locally-typed reverse for this module's routes
18
- * const reverse = scopedReverse<typeof blogPatterns>(ctx.reverse);
19
- *
20
- * reverse("index"); // ✓ Type-safe local route
21
- * reverse("post", { slug: "x" }); // ✓ Type-safe with params
22
- * reverse("shop.cart"); // ✓ Type-safe global route
23
- *
24
- * return <BlogIndex />;
25
- * }, { name: "index" }),
26
- *
27
- * path("/:slug", BlogPost, { name: "post" }),
28
- * ]);
29
- * ```
30
- */
31
- export function scopedReverse(reverse) {
32
- return reverse;
33
- }
34
- function resolveRoutePattern(entry) {
35
- if (!entry)
36
- return undefined;
37
- return typeof entry === "string" ? entry : entry.path;
38
- }
39
- export function createReverse(routeMap, getFallbackMap) {
40
- return ((name, params, search) => {
41
- let pattern = resolveRoutePattern(routeMap[name]);
42
- if (!pattern) {
43
- // Try the static route names from the generated file (O(1) fallback)
44
- const fallback = getFallbackMap?.();
45
- if (fallback) {
46
- pattern = resolveRoutePattern(fallback[name]);
47
- }
48
- }
49
- if (!pattern) {
50
- // During build-time discovery, lazy includes haven't resolved yet.
51
- // Return a placeholder instead of crashing the build.
52
- if (globalThis.__rscRouterDiscoveryActive) {
53
- return `/__unresolved_reverse/${name}`;
54
- }
55
- throw new Error(`Unknown route: ${name}`);
56
- }
57
- let result = pattern;
58
- if (params) {
59
- // Replace :param placeholders with actual values
60
- result = result.replace(/:([^/]+)/g, (_, key) => {
61
- const value = params[key];
62
- if (value === undefined) {
63
- throw new Error(`Missing param "${key}" for route "${name}"`);
64
- }
65
- return encodeURIComponent(value);
66
- });
67
- }
68
- // Append search params as query string
69
- if (search) {
70
- const qs = serializeSearchParams(search);
71
- if (qs) {
72
- result += `?${qs}`;
73
- }
74
- }
75
- return result;
76
- });
77
- }
78
- //# sourceMappingURL=reverse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reverse.js","sourceRoot":"","sources":["../src/reverse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AA+M3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAqC;IAErC,OAAO,OAA+D,CAAC;AACzE,CAAC;AAkBD,SAAS,mBAAmB,CAAC,KAAgC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAiB,EACjB,cAAgE;IAEhE,OAAO,CAAC,CAAC,IAAY,EAAE,MAA+B,EAAE,MAAgC,EAAE,EAAE;QAC1F,IAAI,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAA6B,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qEAAqE;YACrE,MAAM,QAAQ,GAAG,cAAc,EAAE,EAAE,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,mEAAmE;YACnE,sDAAsD;YACtD,IAAK,UAAkB,CAAC,0BAA0B,EAAE,CAAC;gBACnD,OAAO,yBAAyB,IAAI,EAAE,CAAC;YACzC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,IAAI,MAAM,EAAE,CAAC;YACX,iDAAiD;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAS,EAAE,GAAW,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,IAAI,GAAG,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAA6B,CAAC;AACjC,CAAC"}
@@ -1,33 +0,0 @@
1
- import { Component, type ReactNode } from "react";
2
- interface RootErrorBoundaryState {
3
- hasError: boolean;
4
- error: Error | null;
5
- }
6
- /**
7
- * Root error boundary component
8
- *
9
- * Wraps the entire segment tree to catch any unhandled errors that bubble up.
10
- * This prevents the entire app from crashing with a white screen.
11
- *
12
- * This is a client component with an inline fallback to avoid the
13
- * "Functions cannot be passed to Client Components" RSC error.
14
- */
15
- export declare class RootErrorBoundary extends Component<{
16
- children: ReactNode;
17
- }, RootErrorBoundaryState> {
18
- constructor(props: {
19
- children: ReactNode;
20
- });
21
- static getDerivedStateFromError(error: Error): RootErrorBoundaryState;
22
- componentDidMount(): void;
23
- componentWillUnmount(): void;
24
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
25
- componentDidUpdate(prevProps: {
26
- children: ReactNode;
27
- }): void;
28
- handlePopState: () => void;
29
- reset: () => void;
30
- render(): ReactNode;
31
- }
32
- export {};
33
- //# sourceMappingURL=root-error-boundary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-error-boundary.d.ts","sourceRoot":"","sources":["../src/root-error-boundary.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAkM5D,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,SAAS,CAC9C;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACvB,sBAAsB,CACvB;gBACa,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;IAK1C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,sBAAsB;IAIrE,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAI5B,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;IAIjE,kBAAkB,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI;IAQ5D,cAAc,QAAO,IAAI,CAKvB;IAEF,KAAK,QAAO,IAAI,CAEd;IAEF,MAAM,IAAI,SAAS;CAqBpB"}
@@ -1,165 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Component, useState } from "react";
4
- /**
5
- * Check if an error is a network-related error
6
- */
7
- function isNetworkError(error) {
8
- return error.name === "NetworkError";
9
- }
10
- /**
11
- * Network error fallback UI with retry functionality
12
- * Shows a connection-specific message and allows retrying via page refresh
13
- */
14
- function NetworkErrorFallback({ error, reset, }) {
15
- const [isRetrying, setIsRetrying] = useState(false);
16
- const handleRetry = () => {
17
- setIsRetrying(true);
18
- // Refresh the page to retry the request
19
- window.location.reload();
20
- };
21
- return (_jsxs("div", { style: {
22
- fontFamily: "system-ui, -apple-system, sans-serif",
23
- padding: "2rem",
24
- maxWidth: "600px",
25
- margin: "2rem auto",
26
- textAlign: "center",
27
- }, children: [_jsx("div", { style: {
28
- fontSize: "3rem",
29
- marginBottom: "1rem",
30
- }, children: _jsx("span", { style: { color: "#9ca3af" }, children: "\u2601" }) }), _jsx("h1", { style: {
31
- color: "#374151",
32
- fontSize: "1.5rem",
33
- marginBottom: "0.5rem",
34
- }, children: "Connection Error" }), _jsx("p", { style: {
35
- color: "#6b7280",
36
- marginBottom: "1.5rem",
37
- }, children: error.message || "Unable to connect to the server. Please check your internet connection." }), _jsxs("div", { style: { display: "flex", gap: "1rem", justifyContent: "center" }, children: [_jsx("button", { type: "button", onClick: handleRetry, disabled: isRetrying, style: {
38
- padding: "0.75rem 1.5rem",
39
- backgroundColor: isRetrying ? "#9ca3af" : "#2563eb",
40
- color: "white",
41
- border: "none",
42
- borderRadius: "0.375rem",
43
- cursor: isRetrying ? "not-allowed" : "pointer",
44
- fontSize: "1rem",
45
- fontWeight: 500,
46
- }, children: isRetrying ? "Retrying..." : "Retry" }), _jsx("button", { type: "button", onClick: () => window.history.back(), style: {
47
- padding: "0.75rem 1.5rem",
48
- backgroundColor: "transparent",
49
- color: "#6b7280",
50
- border: "1px solid #d1d5db",
51
- borderRadius: "0.375rem",
52
- cursor: "pointer",
53
- fontSize: "1rem",
54
- }, children: "Go Back" })] })] }));
55
- }
56
- /**
57
- * Default fallback UI for root error boundary
58
- * This is shown when an unhandled error bubbles up to the root
59
- */
60
- function RootErrorFallback({ error, reset }) {
61
- return (_jsxs("div", { style: {
62
- fontFamily: "system-ui, -apple-system, sans-serif",
63
- padding: "2rem",
64
- maxWidth: "600px",
65
- margin: "2rem auto",
66
- }, children: [_jsx("h1", { style: {
67
- color: "#dc2626",
68
- fontSize: "1.5rem",
69
- marginBottom: "1rem",
70
- }, children: "Internal Server Error" }), _jsx("p", { style: {
71
- color: "#374151",
72
- marginBottom: "1rem",
73
- }, children: "An unexpected error occurred while processing your request." }), _jsxs("div", { style: {
74
- background: "#fef2f2",
75
- border: "1px solid #fecaca",
76
- borderRadius: "0.5rem",
77
- padding: "1rem",
78
- marginBottom: "1rem",
79
- }, children: [_jsxs("p", { style: {
80
- fontWeight: 600,
81
- color: "#991b1b",
82
- marginBottom: "0.5rem",
83
- }, children: [error.name, ": ", error.message] }), error.stack && (_jsx("pre", { style: {
84
- fontSize: "0.75rem",
85
- color: "#6b7280",
86
- overflow: "auto",
87
- whiteSpace: "pre-wrap",
88
- wordBreak: "break-word",
89
- }, children: error.stack }))] }), _jsxs("div", { style: { display: "flex", gap: "1rem" }, children: [_jsx("button", { type: "button", onClick: reset, style: {
90
- padding: "0.5rem 1rem",
91
- backgroundColor: "#2563eb",
92
- color: "white",
93
- border: "none",
94
- borderRadius: "0.25rem",
95
- cursor: "pointer",
96
- }, children: "Try Again" }), _jsx("a", { href: "/", style: {
97
- display: "inline-block",
98
- padding: "0.5rem 1rem",
99
- color: "#2563eb",
100
- textDecoration: "underline",
101
- }, children: "Go to homepage" })] })] }));
102
- }
103
- /**
104
- * Root error boundary component
105
- *
106
- * Wraps the entire segment tree to catch any unhandled errors that bubble up.
107
- * This prevents the entire app from crashing with a white screen.
108
- *
109
- * This is a client component with an inline fallback to avoid the
110
- * "Functions cannot be passed to Client Components" RSC error.
111
- */
112
- export class RootErrorBoundary extends Component {
113
- constructor(props) {
114
- super(props);
115
- this.handlePopState = () => {
116
- // Reset error state on back/forward navigation
117
- if (this.state.hasError) {
118
- this.setState({ hasError: false, error: null });
119
- }
120
- };
121
- this.reset = () => {
122
- this.setState({ hasError: false, error: null });
123
- };
124
- this.state = { hasError: false, error: null };
125
- }
126
- static getDerivedStateFromError(error) {
127
- return { hasError: true, error };
128
- }
129
- componentDidMount() {
130
- // Listen for popstate (back/forward navigation) to reset error state
131
- window.addEventListener("popstate", this.handlePopState);
132
- }
133
- componentWillUnmount() {
134
- window.removeEventListener("popstate", this.handlePopState);
135
- }
136
- componentDidCatch(error, errorInfo) {
137
- console.error("[RootErrorBoundary] Unhandled error caught:", error, errorInfo);
138
- }
139
- componentDidUpdate(prevProps) {
140
- // Reset error state when children change (e.g., navigation)
141
- // This allows the app to recover after navigation away from an errored route
142
- if (this.state.hasError && prevProps.children !== this.props.children) {
143
- this.setState({ hasError: false, error: null });
144
- }
145
- }
146
- render() {
147
- if (this.state.hasError && this.state.error) {
148
- const errorInfo = {
149
- message: this.state.error.message,
150
- name: this.state.error.name,
151
- stack: this.state.error.stack,
152
- cause: this.state.error.cause,
153
- segmentId: "root",
154
- segmentType: "route",
155
- };
156
- // Use specialized fallback for network errors
157
- if (isNetworkError(this.state.error)) {
158
- return _jsx(NetworkErrorFallback, { error: errorInfo, reset: this.reset });
159
- }
160
- return _jsx(RootErrorFallback, { error: errorInfo, reset: this.reset });
161
- }
162
- return this.props.children;
163
- }
164
- }
165
- //# sourceMappingURL=root-error-boundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root-error-boundary.js","sourceRoot":"","sources":["../src/root-error-boundary.tsx"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { ResolvedSegment } from "./types.js";
3
- /**
4
- * Stable async wrapper component for route content
5
- * Using a module-level component ensures React sees the same component reference
6
- * across renders, preventing unnecessary remounts during actions.
7
- *
8
- * When content is a pending promise, React suspends and shows the nearest
9
- * Suspense fallback. When content is already resolved, it renders immediately
10
- * without suspension.
11
- *
12
- * @param segmentId - Stable ID from segment, used for consistent keys across renders
13
- */
14
- export declare function RouteContentWrapper({ content, fallback, segmentId, }: {
15
- content: Promise<ReactNode>;
16
- fallback?: ReactNode;
17
- segmentId?: string;
18
- }): ReactNode;
19
- export declare function RouteContentWrapperCallback<T>({ resolve, fallback, children, }: {
20
- resolve: Promise<T> | T;
21
- fallback?: ReactNode;
22
- children: (data: T) => ReactNode;
23
- }): ReactNode;
24
- /**
25
- * LoaderBoundary - Client component that resolves loader promises and renders OutletProvider
26
- *
27
- * This component enables streaming with loaders by:
28
- * 1. Receiving loader promises (serializable across RSC boundary)
29
- * 2. Using React's use() to resolve them (triggers Suspense)
30
- * 3. Rendering OutletProvider with resolved data
31
- *
32
- * The callback logic lives inside this client component, avoiding the
33
- * "Functions are not valid as a child of Client Components" error.
34
- */
35
- export interface LoaderBoundaryProps {
36
- loaderDataPromise: Promise<any[]> | any[];
37
- loaderIds: string[];
38
- fallback?: ReactNode;
39
- outletKey: string;
40
- outletContent: ReactNode;
41
- segment: ResolvedSegment;
42
- parallel?: ResolvedSegment[];
43
- children: ReactNode;
44
- }
45
- export declare function LoaderBoundary({ loaderDataPromise, loaderIds, fallback, outletKey, outletContent, segment, parallel, children, }: LoaderBoundaryProps): ReactNode;
46
- //# sourceMappingURL=route-content-wrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-content-wrapper.d.ts","sourceRoot":"","sources":["../src/route-content-wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE;IACD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,SAAS,CAUZ;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,EAC7C,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;CAClC,GAAG,SAAS,CAqBZ;AAwBD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,SAAS,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,SAAS,EACT,aAAa,EACb,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,mBAAmB,GAAG,SAAS,CAejC"}