@rangojs/router 0.0.0-experimental.a62282ba → 0.0.0-experimental.a6f6907d

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 (940) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +138 -50
  3. package/dist/vite/index.js +839 -429
  4. package/package.json +2 -2
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +45 -4
  7. package/skills/links/SKILL.md +3 -1
  8. package/skills/loader/SKILL.md +53 -43
  9. package/skills/middleware/SKILL.md +2 -0
  10. package/skills/parallel/SKILL.md +126 -0
  11. package/skills/prerender/SKILL.md +110 -68
  12. package/skills/route/SKILL.md +31 -0
  13. package/skills/router-setup/SKILL.md +87 -2
  14. package/skills/typesafety/SKILL.md +10 -0
  15. package/src/__internal.ts +1 -1
  16. package/src/browser/app-version.ts +14 -0
  17. package/src/browser/event-controller.ts +5 -0
  18. package/src/browser/navigation-bridge.ts +24 -11
  19. package/src/browser/navigation-client.ts +142 -57
  20. package/src/browser/navigation-store.ts +43 -8
  21. package/src/browser/navigation-transaction.ts +11 -9
  22. package/src/browser/partial-update.ts +81 -13
  23. package/src/browser/prefetch/cache.ts +73 -11
  24. package/src/browser/prefetch/fetch.ts +98 -27
  25. package/src/browser/prefetch/queue.ts +92 -20
  26. package/src/browser/prefetch/resource-ready.ts +77 -0
  27. package/src/browser/react/Link.tsx +76 -9
  28. package/src/browser/react/NavigationProvider.tsx +40 -4
  29. package/src/browser/react/context.ts +7 -2
  30. package/src/browser/react/use-handle.ts +9 -58
  31. package/src/browser/react/use-router.ts +21 -8
  32. package/src/browser/rsc-router.tsx +134 -59
  33. package/src/browser/scroll-restoration.ts +21 -18
  34. package/src/browser/segment-reconciler.ts +32 -1
  35. package/src/browser/server-action-bridge.ts +8 -6
  36. package/src/browser/types.ts +36 -5
  37. package/src/build/generate-manifest.ts +6 -6
  38. package/src/build/generate-route-types.ts +3 -0
  39. package/src/build/route-types/include-resolution.ts +8 -1
  40. package/src/build/route-types/router-processing.ts +223 -74
  41. package/src/build/route-types/scan-filter.ts +8 -1
  42. package/src/cache/cache-runtime.ts +15 -11
  43. package/src/cache/cache-scope.ts +48 -7
  44. package/src/cache/cf/cf-cache-store.ts +453 -11
  45. package/src/cache/cf/index.ts +5 -1
  46. package/src/cache/document-cache.ts +17 -7
  47. package/src/cache/index.ts +1 -0
  48. package/src/cache/taint.ts +55 -0
  49. package/src/client.tsx +2 -56
  50. package/src/context-var.ts +72 -2
  51. package/src/debug.ts +2 -2
  52. package/src/handle.ts +40 -0
  53. package/src/index.rsc.ts +3 -1
  54. package/src/index.ts +12 -0
  55. package/src/prerender/store.ts +5 -4
  56. package/src/prerender.ts +138 -77
  57. package/src/reverse.ts +22 -1
  58. package/src/route-definition/dsl-helpers.ts +73 -25
  59. package/src/route-definition/helpers-types.ts +10 -6
  60. package/src/route-definition/index.ts +3 -0
  61. package/src/route-definition/redirect.ts +11 -3
  62. package/src/route-definition/resolve-handler-use.ts +149 -0
  63. package/src/route-types.ts +11 -0
  64. package/src/router/content-negotiation.ts +100 -1
  65. package/src/router/handler-context.ts +79 -23
  66. package/src/router/intercept-resolution.ts +9 -4
  67. package/src/router/lazy-includes.ts +2 -1
  68. package/src/router/loader-resolution.ts +156 -21
  69. package/src/router/logging.ts +1 -1
  70. package/src/router/manifest.ts +6 -2
  71. package/src/router/match-api.ts +124 -189
  72. package/src/router/match-middleware/background-revalidation.ts +30 -2
  73. package/src/router/match-middleware/cache-lookup.ts +94 -17
  74. package/src/router/match-middleware/cache-store.ts +53 -10
  75. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  76. package/src/router/match-middleware/segment-resolution.ts +60 -5
  77. package/src/router/match-result.ts +104 -10
  78. package/src/router/metrics.ts +6 -1
  79. package/src/router/middleware-types.ts +6 -8
  80. package/src/router/middleware.ts +4 -6
  81. package/src/router/navigation-snapshot.ts +182 -0
  82. package/src/router/prerender-match.ts +110 -10
  83. package/src/router/preview-match.ts +30 -102
  84. package/src/router/request-classification.ts +310 -0
  85. package/src/router/route-snapshot.ts +245 -0
  86. package/src/router/router-context.ts +1 -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 +198 -20
  90. package/src/router/segment-resolution/helpers.ts +29 -24
  91. package/src/router/segment-resolution/loader-cache.ts +1 -0
  92. package/src/router/segment-resolution/revalidation.ts +433 -296
  93. package/src/router/types.ts +1 -0
  94. package/src/router.ts +55 -6
  95. package/src/rsc/handler.ts +472 -372
  96. package/src/rsc/loader-fetch.ts +23 -3
  97. package/src/rsc/manifest-init.ts +5 -1
  98. package/src/rsc/progressive-enhancement.ts +14 -2
  99. package/src/rsc/rsc-rendering.ts +10 -1
  100. package/src/rsc/server-action.ts +8 -0
  101. package/src/rsc/ssr-setup.ts +2 -2
  102. package/src/rsc/types.ts +9 -1
  103. package/src/segment-system.tsx +140 -4
  104. package/src/server/context.ts +140 -14
  105. package/src/server/handle-store.ts +19 -0
  106. package/src/server/loader-registry.ts +9 -8
  107. package/src/server/request-context.ts +185 -19
  108. package/src/ssr/index.tsx +4 -0
  109. package/src/static-handler.ts +18 -6
  110. package/src/types/cache-types.ts +4 -4
  111. package/src/types/handler-context.ts +137 -33
  112. package/src/types/loader-types.ts +36 -9
  113. package/src/types/route-entry.ts +1 -1
  114. package/src/types/segments.ts +3 -0
  115. package/src/urls/path-helper-types.ts +9 -2
  116. package/src/urls/path-helper.ts +48 -13
  117. package/src/urls/pattern-types.ts +12 -0
  118. package/src/urls/response-types.ts +16 -6
  119. package/src/use-loader.tsx +77 -5
  120. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  121. package/src/vite/discovery/discover-routers.ts +5 -1
  122. package/src/vite/discovery/prerender-collection.ts +128 -74
  123. package/src/vite/discovery/state.ts +13 -6
  124. package/src/vite/index.ts +4 -0
  125. package/src/vite/plugin-types.ts +51 -79
  126. package/src/vite/plugins/expose-action-id.ts +1 -3
  127. package/src/vite/plugins/expose-id-utils.ts +12 -0
  128. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  129. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  130. package/src/vite/plugins/performance-tracks.ts +88 -0
  131. package/src/vite/plugins/refresh-cmd.ts +88 -26
  132. package/src/vite/plugins/version-plugin.ts +13 -1
  133. package/src/vite/rango.ts +163 -211
  134. package/src/vite/router-discovery.ts +178 -45
  135. package/src/vite/utils/banner.ts +3 -3
  136. package/src/vite/utils/prerender-utils.ts +18 -0
  137. package/src/vite/utils/shared-utils.ts +3 -2
  138. package/dist/__internal.d.ts +0 -83
  139. package/dist/__internal.d.ts.map +0 -1
  140. package/dist/__internal.js +0 -19
  141. package/dist/__internal.js.map +0 -1
  142. package/dist/__mocks__/version.d.ts +0 -7
  143. package/dist/__mocks__/version.d.ts.map +0 -1
  144. package/dist/__mocks__/version.js +0 -7
  145. package/dist/__mocks__/version.js.map +0 -1
  146. package/dist/__tests__/client-href.test.d.ts +0 -2
  147. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  148. package/dist/__tests__/client-href.test.js +0 -74
  149. package/dist/__tests__/client-href.test.js.map +0 -1
  150. package/dist/__tests__/component-utils.test.d.ts +0 -2
  151. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  152. package/dist/__tests__/component-utils.test.js +0 -51
  153. package/dist/__tests__/component-utils.test.js.map +0 -1
  154. package/dist/__tests__/event-controller.test.d.ts +0 -2
  155. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  156. package/dist/__tests__/event-controller.test.js +0 -538
  157. package/dist/__tests__/event-controller.test.js.map +0 -1
  158. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  159. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  160. package/dist/__tests__/helpers/route-tree.js +0 -374
  161. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  162. package/dist/__tests__/match-result.test.d.ts +0 -2
  163. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  164. package/dist/__tests__/match-result.test.js +0 -154
  165. package/dist/__tests__/match-result.test.js.map +0 -1
  166. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  167. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  168. package/dist/__tests__/navigation-store.test.js +0 -440
  169. package/dist/__tests__/navigation-store.test.js.map +0 -1
  170. package/dist/__tests__/partial-update.test.d.ts +0 -2
  171. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  172. package/dist/__tests__/partial-update.test.js +0 -1009
  173. package/dist/__tests__/partial-update.test.js.map +0 -1
  174. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  175. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  176. package/dist/__tests__/reverse-types.test.js +0 -656
  177. package/dist/__tests__/reverse-types.test.js.map +0 -1
  178. package/dist/__tests__/route-definition.test.d.ts +0 -2
  179. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  180. package/dist/__tests__/route-definition.test.js +0 -55
  181. package/dist/__tests__/route-definition.test.js.map +0 -1
  182. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  183. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  184. package/dist/__tests__/router-helpers.test.js +0 -377
  185. package/dist/__tests__/router-helpers.test.js.map +0 -1
  186. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  187. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  188. package/dist/__tests__/router-integration-2.test.js +0 -426
  189. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  190. package/dist/__tests__/router-integration.test.d.ts +0 -2
  191. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  192. package/dist/__tests__/router-integration.test.js +0 -1051
  193. package/dist/__tests__/router-integration.test.js.map +0 -1
  194. package/dist/__tests__/search-params.test.d.ts +0 -5
  195. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  196. package/dist/__tests__/search-params.test.js +0 -306
  197. package/dist/__tests__/search-params.test.js.map +0 -1
  198. package/dist/__tests__/segment-system.test.d.ts +0 -2
  199. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  200. package/dist/__tests__/segment-system.test.js +0 -627
  201. package/dist/__tests__/segment-system.test.js.map +0 -1
  202. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  203. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  204. package/dist/__tests__/static-handler-types.test.js +0 -63
  205. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  206. package/dist/__tests__/urls.test.d.ts +0 -2
  207. package/dist/__tests__/urls.test.d.ts.map +0 -1
  208. package/dist/__tests__/urls.test.js +0 -421
  209. package/dist/__tests__/urls.test.js.map +0 -1
  210. package/dist/__tests__/use-mount.test.d.ts +0 -2
  211. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  212. package/dist/__tests__/use-mount.test.js +0 -35
  213. package/dist/__tests__/use-mount.test.js.map +0 -1
  214. package/dist/bin/rango.d.ts +0 -2
  215. package/dist/bin/rango.d.ts.map +0 -1
  216. package/dist/bin/rango.js.map +0 -1
  217. package/dist/browser/event-controller.d.ts +0 -191
  218. package/dist/browser/event-controller.d.ts.map +0 -1
  219. package/dist/browser/event-controller.js +0 -559
  220. package/dist/browser/event-controller.js.map +0 -1
  221. package/dist/browser/index.d.ts +0 -2
  222. package/dist/browser/index.d.ts.map +0 -1
  223. package/dist/browser/index.js +0 -14
  224. package/dist/browser/index.js.map +0 -1
  225. package/dist/browser/link-interceptor.d.ts +0 -38
  226. package/dist/browser/link-interceptor.d.ts.map +0 -1
  227. package/dist/browser/link-interceptor.js +0 -99
  228. package/dist/browser/link-interceptor.js.map +0 -1
  229. package/dist/browser/logging.d.ts +0 -10
  230. package/dist/browser/logging.d.ts.map +0 -1
  231. package/dist/browser/logging.js +0 -29
  232. package/dist/browser/logging.js.map +0 -1
  233. package/dist/browser/lru-cache.d.ts +0 -17
  234. package/dist/browser/lru-cache.d.ts.map +0 -1
  235. package/dist/browser/lru-cache.js +0 -50
  236. package/dist/browser/lru-cache.js.map +0 -1
  237. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  238. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  239. package/dist/browser/merge-segment-loaders.js +0 -102
  240. package/dist/browser/merge-segment-loaders.js.map +0 -1
  241. package/dist/browser/navigation-bridge.d.ts +0 -102
  242. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  243. package/dist/browser/navigation-bridge.js +0 -708
  244. package/dist/browser/navigation-bridge.js.map +0 -1
  245. package/dist/browser/navigation-client.d.ts +0 -25
  246. package/dist/browser/navigation-client.d.ts.map +0 -1
  247. package/dist/browser/navigation-client.js +0 -157
  248. package/dist/browser/navigation-client.js.map +0 -1
  249. package/dist/browser/navigation-store.d.ts +0 -101
  250. package/dist/browser/navigation-store.d.ts.map +0 -1
  251. package/dist/browser/navigation-store.js +0 -625
  252. package/dist/browser/navigation-store.js.map +0 -1
  253. package/dist/browser/partial-update.d.ts +0 -75
  254. package/dist/browser/partial-update.d.ts.map +0 -1
  255. package/dist/browser/partial-update.js +0 -426
  256. package/dist/browser/partial-update.js.map +0 -1
  257. package/dist/browser/react/Link.d.ts +0 -86
  258. package/dist/browser/react/Link.d.ts.map +0 -1
  259. package/dist/browser/react/Link.js +0 -128
  260. package/dist/browser/react/Link.js.map +0 -1
  261. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  262. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  263. package/dist/browser/react/NavigationProvider.js +0 -216
  264. package/dist/browser/react/NavigationProvider.js.map +0 -1
  265. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  266. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  267. package/dist/browser/react/ScrollRestoration.js +0 -57
  268. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  269. package/dist/browser/react/context.d.ts +0 -46
  270. package/dist/browser/react/context.d.ts.map +0 -1
  271. package/dist/browser/react/context.js +0 -10
  272. package/dist/browser/react/context.js.map +0 -1
  273. package/dist/browser/react/index.d.ts +0 -11
  274. package/dist/browser/react/index.d.ts.map +0 -1
  275. package/dist/browser/react/index.js +0 -22
  276. package/dist/browser/react/index.js.map +0 -1
  277. package/dist/browser/react/location-state-shared.d.ts +0 -63
  278. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  279. package/dist/browser/react/location-state-shared.js +0 -81
  280. package/dist/browser/react/location-state-shared.js.map +0 -1
  281. package/dist/browser/react/location-state.d.ts +0 -23
  282. package/dist/browser/react/location-state.d.ts.map +0 -1
  283. package/dist/browser/react/location-state.js +0 -29
  284. package/dist/browser/react/location-state.js.map +0 -1
  285. package/dist/browser/react/mount-context.d.ts +0 -24
  286. package/dist/browser/react/mount-context.d.ts.map +0 -1
  287. package/dist/browser/react/mount-context.js +0 -24
  288. package/dist/browser/react/mount-context.js.map +0 -1
  289. package/dist/browser/react/use-action.d.ts +0 -64
  290. package/dist/browser/react/use-action.d.ts.map +0 -1
  291. package/dist/browser/react/use-action.js +0 -134
  292. package/dist/browser/react/use-action.js.map +0 -1
  293. package/dist/browser/react/use-client-cache.d.ts +0 -41
  294. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  295. package/dist/browser/react/use-client-cache.js +0 -39
  296. package/dist/browser/react/use-client-cache.js.map +0 -1
  297. package/dist/browser/react/use-handle.d.ts +0 -31
  298. package/dist/browser/react/use-handle.d.ts.map +0 -1
  299. package/dist/browser/react/use-handle.js +0 -144
  300. package/dist/browser/react/use-handle.js.map +0 -1
  301. package/dist/browser/react/use-href.d.ts +0 -33
  302. package/dist/browser/react/use-href.d.ts.map +0 -1
  303. package/dist/browser/react/use-href.js +0 -39
  304. package/dist/browser/react/use-href.js.map +0 -1
  305. package/dist/browser/react/use-link-status.d.ts +0 -37
  306. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  307. package/dist/browser/react/use-link-status.js +0 -99
  308. package/dist/browser/react/use-link-status.js.map +0 -1
  309. package/dist/browser/react/use-mount.d.ts +0 -25
  310. package/dist/browser/react/use-mount.d.ts.map +0 -1
  311. package/dist/browser/react/use-mount.js +0 -30
  312. package/dist/browser/react/use-mount.js.map +0 -1
  313. package/dist/browser/react/use-navigation.d.ts +0 -27
  314. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  315. package/dist/browser/react/use-navigation.js +0 -87
  316. package/dist/browser/react/use-navigation.js.map +0 -1
  317. package/dist/browser/react/use-segments.d.ts +0 -38
  318. package/dist/browser/react/use-segments.d.ts.map +0 -1
  319. package/dist/browser/react/use-segments.js +0 -130
  320. package/dist/browser/react/use-segments.js.map +0 -1
  321. package/dist/browser/request-controller.d.ts +0 -26
  322. package/dist/browser/request-controller.d.ts.map +0 -1
  323. package/dist/browser/request-controller.js +0 -147
  324. package/dist/browser/request-controller.js.map +0 -1
  325. package/dist/browser/rsc-router.d.ts +0 -129
  326. package/dist/browser/rsc-router.d.ts.map +0 -1
  327. package/dist/browser/rsc-router.js +0 -195
  328. package/dist/browser/rsc-router.js.map +0 -1
  329. package/dist/browser/scroll-restoration.d.ts +0 -93
  330. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  331. package/dist/browser/scroll-restoration.js +0 -321
  332. package/dist/browser/scroll-restoration.js.map +0 -1
  333. package/dist/browser/segment-structure-assert.d.ts +0 -17
  334. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  335. package/dist/browser/segment-structure-assert.js +0 -59
  336. package/dist/browser/segment-structure-assert.js.map +0 -1
  337. package/dist/browser/server-action-bridge.d.ts +0 -26
  338. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  339. package/dist/browser/server-action-bridge.js +0 -668
  340. package/dist/browser/server-action-bridge.js.map +0 -1
  341. package/dist/browser/shallow.d.ts +0 -12
  342. package/dist/browser/shallow.d.ts.map +0 -1
  343. package/dist/browser/shallow.js +0 -34
  344. package/dist/browser/shallow.js.map +0 -1
  345. package/dist/browser/types.d.ts +0 -369
  346. package/dist/browser/types.d.ts.map +0 -1
  347. package/dist/browser/types.js +0 -2
  348. package/dist/browser/types.js.map +0 -1
  349. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  350. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  351. package/dist/build/__tests__/generate-cli.test.js +0 -237
  352. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  353. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  354. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  355. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  356. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  357. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  358. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  359. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  360. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  361. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  362. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  363. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  364. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  365. package/dist/build/generate-manifest.d.ts +0 -81
  366. package/dist/build/generate-manifest.d.ts.map +0 -1
  367. package/dist/build/generate-manifest.js +0 -276
  368. package/dist/build/generate-manifest.js.map +0 -1
  369. package/dist/build/generate-route-types.d.ts +0 -115
  370. package/dist/build/generate-route-types.d.ts.map +0 -1
  371. package/dist/build/generate-route-types.js +0 -740
  372. package/dist/build/generate-route-types.js.map +0 -1
  373. package/dist/build/index.d.ts +0 -21
  374. package/dist/build/index.d.ts.map +0 -1
  375. package/dist/build/index.js +0 -21
  376. package/dist/build/index.js.map +0 -1
  377. package/dist/build/route-trie.d.ts +0 -71
  378. package/dist/build/route-trie.d.ts.map +0 -1
  379. package/dist/build/route-trie.js +0 -175
  380. package/dist/build/route-trie.js.map +0 -1
  381. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  382. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  383. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  384. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  385. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  386. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  387. package/dist/cache/__tests__/document-cache.test.js +0 -345
  388. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  389. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  390. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  391. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  392. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  393. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  394. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  395. package/dist/cache/__tests__/memory-store.test.js +0 -367
  396. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  397. package/dist/cache/cache-scope.d.ts +0 -102
  398. package/dist/cache/cache-scope.d.ts.map +0 -1
  399. package/dist/cache/cache-scope.js +0 -440
  400. package/dist/cache/cache-scope.js.map +0 -1
  401. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  402. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  403. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  404. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  405. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  406. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  407. package/dist/cache/cf/cf-cache-store.js +0 -242
  408. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  409. package/dist/cache/cf/index.d.ts +0 -14
  410. package/dist/cache/cf/index.d.ts.map +0 -1
  411. package/dist/cache/cf/index.js +0 -17
  412. package/dist/cache/cf/index.js.map +0 -1
  413. package/dist/cache/document-cache.d.ts +0 -64
  414. package/dist/cache/document-cache.d.ts.map +0 -1
  415. package/dist/cache/document-cache.js +0 -228
  416. package/dist/cache/document-cache.js.map +0 -1
  417. package/dist/cache/index.d.ts +0 -19
  418. package/dist/cache/index.d.ts.map +0 -1
  419. package/dist/cache/index.js +0 -21
  420. package/dist/cache/index.js.map +0 -1
  421. package/dist/cache/memory-segment-store.d.ts +0 -110
  422. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  423. package/dist/cache/memory-segment-store.js +0 -117
  424. package/dist/cache/memory-segment-store.js.map +0 -1
  425. package/dist/cache/memory-store.d.ts +0 -41
  426. package/dist/cache/memory-store.d.ts.map +0 -1
  427. package/dist/cache/memory-store.js +0 -191
  428. package/dist/cache/memory-store.js.map +0 -1
  429. package/dist/cache/types.d.ts +0 -317
  430. package/dist/cache/types.d.ts.map +0 -1
  431. package/dist/cache/types.js +0 -12
  432. package/dist/cache/types.js.map +0 -1
  433. package/dist/client.d.ts +0 -248
  434. package/dist/client.d.ts.map +0 -1
  435. package/dist/client.js +0 -367
  436. package/dist/client.js.map +0 -1
  437. package/dist/client.rsc.d.ts +0 -26
  438. package/dist/client.rsc.d.ts.map +0 -1
  439. package/dist/client.rsc.js +0 -46
  440. package/dist/client.rsc.js.map +0 -1
  441. package/dist/component-utils.d.ts +0 -36
  442. package/dist/component-utils.d.ts.map +0 -1
  443. package/dist/component-utils.js +0 -61
  444. package/dist/component-utils.js.map +0 -1
  445. package/dist/components/DefaultDocument.d.ts +0 -13
  446. package/dist/components/DefaultDocument.d.ts.map +0 -1
  447. package/dist/components/DefaultDocument.js +0 -15
  448. package/dist/components/DefaultDocument.js.map +0 -1
  449. package/dist/debug.d.ts +0 -58
  450. package/dist/debug.d.ts.map +0 -1
  451. package/dist/debug.js +0 -157
  452. package/dist/debug.js.map +0 -1
  453. package/dist/default-error-boundary.d.ts +0 -11
  454. package/dist/default-error-boundary.d.ts.map +0 -1
  455. package/dist/default-error-boundary.js +0 -45
  456. package/dist/default-error-boundary.js.map +0 -1
  457. package/dist/deps/browser.d.ts +0 -2
  458. package/dist/deps/browser.d.ts.map +0 -1
  459. package/dist/deps/browser.js +0 -3
  460. package/dist/deps/browser.js.map +0 -1
  461. package/dist/deps/html-stream-client.d.ts +0 -2
  462. package/dist/deps/html-stream-client.d.ts.map +0 -1
  463. package/dist/deps/html-stream-client.js +0 -3
  464. package/dist/deps/html-stream-client.js.map +0 -1
  465. package/dist/deps/html-stream-server.d.ts +0 -2
  466. package/dist/deps/html-stream-server.d.ts.map +0 -1
  467. package/dist/deps/html-stream-server.js +0 -3
  468. package/dist/deps/html-stream-server.js.map +0 -1
  469. package/dist/deps/rsc.d.ts +0 -2
  470. package/dist/deps/rsc.d.ts.map +0 -1
  471. package/dist/deps/rsc.js +0 -4
  472. package/dist/deps/rsc.js.map +0 -1
  473. package/dist/deps/ssr.d.ts +0 -2
  474. package/dist/deps/ssr.d.ts.map +0 -1
  475. package/dist/deps/ssr.js +0 -3
  476. package/dist/deps/ssr.js.map +0 -1
  477. package/dist/errors.d.ts +0 -174
  478. package/dist/errors.d.ts.map +0 -1
  479. package/dist/errors.js +0 -241
  480. package/dist/errors.js.map +0 -1
  481. package/dist/handle.d.ts +0 -78
  482. package/dist/handle.d.ts.map +0 -1
  483. package/dist/handle.js +0 -82
  484. package/dist/handle.js.map +0 -1
  485. package/dist/handles/MetaTags.d.ts +0 -14
  486. package/dist/handles/MetaTags.d.ts.map +0 -1
  487. package/dist/handles/MetaTags.js +0 -136
  488. package/dist/handles/MetaTags.js.map +0 -1
  489. package/dist/handles/index.d.ts +0 -6
  490. package/dist/handles/index.d.ts.map +0 -1
  491. package/dist/handles/index.js +0 -6
  492. package/dist/handles/index.js.map +0 -1
  493. package/dist/handles/meta.d.ts +0 -39
  494. package/dist/handles/meta.d.ts.map +0 -1
  495. package/dist/handles/meta.js +0 -202
  496. package/dist/handles/meta.js.map +0 -1
  497. package/dist/host/__tests__/errors.test.d.ts +0 -2
  498. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  499. package/dist/host/__tests__/errors.test.js +0 -76
  500. package/dist/host/__tests__/errors.test.js.map +0 -1
  501. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  502. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  503. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  504. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  505. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  506. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  507. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  508. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  509. package/dist/host/__tests__/router.test.d.ts +0 -2
  510. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  511. package/dist/host/__tests__/router.test.js +0 -241
  512. package/dist/host/__tests__/router.test.js.map +0 -1
  513. package/dist/host/__tests__/testing.test.d.ts +0 -2
  514. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  515. package/dist/host/__tests__/testing.test.js +0 -64
  516. package/dist/host/__tests__/testing.test.js.map +0 -1
  517. package/dist/host/__tests__/utils.test.d.ts +0 -2
  518. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  519. package/dist/host/__tests__/utils.test.js +0 -29
  520. package/dist/host/__tests__/utils.test.js.map +0 -1
  521. package/dist/host/cookie-handler.d.ts +0 -34
  522. package/dist/host/cookie-handler.d.ts.map +0 -1
  523. package/dist/host/cookie-handler.js +0 -124
  524. package/dist/host/cookie-handler.js.map +0 -1
  525. package/dist/host/errors.d.ts +0 -56
  526. package/dist/host/errors.d.ts.map +0 -1
  527. package/dist/host/errors.js +0 -79
  528. package/dist/host/errors.js.map +0 -1
  529. package/dist/host/index.d.ts +0 -29
  530. package/dist/host/index.d.ts.map +0 -1
  531. package/dist/host/index.js +0 -32
  532. package/dist/host/index.js.map +0 -1
  533. package/dist/host/pattern-matcher.d.ts +0 -36
  534. package/dist/host/pattern-matcher.d.ts.map +0 -1
  535. package/dist/host/pattern-matcher.js +0 -172
  536. package/dist/host/pattern-matcher.js.map +0 -1
  537. package/dist/host/router.d.ts +0 -26
  538. package/dist/host/router.d.ts.map +0 -1
  539. package/dist/host/router.js +0 -218
  540. package/dist/host/router.js.map +0 -1
  541. package/dist/host/testing.d.ts +0 -36
  542. package/dist/host/testing.d.ts.map +0 -1
  543. package/dist/host/testing.js +0 -55
  544. package/dist/host/testing.js.map +0 -1
  545. package/dist/host/types.d.ts +0 -115
  546. package/dist/host/types.d.ts.map +0 -1
  547. package/dist/host/types.js +0 -7
  548. package/dist/host/types.js.map +0 -1
  549. package/dist/host/utils.d.ts +0 -21
  550. package/dist/host/utils.d.ts.map +0 -1
  551. package/dist/host/utils.js +0 -23
  552. package/dist/host/utils.js.map +0 -1
  553. package/dist/href-client.d.ts +0 -131
  554. package/dist/href-client.d.ts.map +0 -1
  555. package/dist/href-client.js +0 -64
  556. package/dist/href-client.js.map +0 -1
  557. package/dist/href-context.d.ts +0 -29
  558. package/dist/href-context.d.ts.map +0 -1
  559. package/dist/href-context.js +0 -21
  560. package/dist/href-context.js.map +0 -1
  561. package/dist/index.d.ts +0 -73
  562. package/dist/index.d.ts.map +0 -1
  563. package/dist/index.js +0 -91
  564. package/dist/index.js.map +0 -1
  565. package/dist/index.rsc.d.ts +0 -32
  566. package/dist/index.rsc.d.ts.map +0 -1
  567. package/dist/index.rsc.js +0 -40
  568. package/dist/index.rsc.js.map +0 -1
  569. package/dist/internal-debug.d.ts +0 -2
  570. package/dist/internal-debug.d.ts.map +0 -1
  571. package/dist/internal-debug.js +0 -5
  572. package/dist/internal-debug.js.map +0 -1
  573. package/dist/loader.d.ts +0 -14
  574. package/dist/loader.d.ts.map +0 -1
  575. package/dist/loader.js +0 -20
  576. package/dist/loader.js.map +0 -1
  577. package/dist/loader.rsc.d.ts +0 -19
  578. package/dist/loader.rsc.d.ts.map +0 -1
  579. package/dist/loader.rsc.js +0 -99
  580. package/dist/loader.rsc.js.map +0 -1
  581. package/dist/network-error-thrower.d.ts +0 -17
  582. package/dist/network-error-thrower.d.ts.map +0 -1
  583. package/dist/network-error-thrower.js +0 -14
  584. package/dist/network-error-thrower.js.map +0 -1
  585. package/dist/outlet-context.d.ts +0 -13
  586. package/dist/outlet-context.d.ts.map +0 -1
  587. package/dist/outlet-context.js +0 -3
  588. package/dist/outlet-context.js.map +0 -1
  589. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  590. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  591. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  592. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  593. package/dist/prerender/param-hash.d.ts +0 -16
  594. package/dist/prerender/param-hash.d.ts.map +0 -1
  595. package/dist/prerender/param-hash.js +0 -36
  596. package/dist/prerender/param-hash.js.map +0 -1
  597. package/dist/prerender/store.d.ts +0 -38
  598. package/dist/prerender/store.d.ts.map +0 -1
  599. package/dist/prerender/store.js +0 -61
  600. package/dist/prerender/store.js.map +0 -1
  601. package/dist/prerender.d.ts +0 -66
  602. package/dist/prerender.d.ts.map +0 -1
  603. package/dist/prerender.js +0 -57
  604. package/dist/prerender.js.map +0 -1
  605. package/dist/reverse.d.ts +0 -196
  606. package/dist/reverse.d.ts.map +0 -1
  607. package/dist/reverse.js +0 -78
  608. package/dist/reverse.js.map +0 -1
  609. package/dist/root-error-boundary.d.ts +0 -33
  610. package/dist/root-error-boundary.d.ts.map +0 -1
  611. package/dist/root-error-boundary.js +0 -165
  612. package/dist/root-error-boundary.js.map +0 -1
  613. package/dist/route-content-wrapper.d.ts +0 -46
  614. package/dist/route-content-wrapper.d.ts.map +0 -1
  615. package/dist/route-content-wrapper.js +0 -77
  616. package/dist/route-content-wrapper.js.map +0 -1
  617. package/dist/route-definition.d.ts +0 -421
  618. package/dist/route-definition.d.ts.map +0 -1
  619. package/dist/route-definition.js +0 -868
  620. package/dist/route-definition.js.map +0 -1
  621. package/dist/route-map-builder.d.ts +0 -155
  622. package/dist/route-map-builder.d.ts.map +0 -1
  623. package/dist/route-map-builder.js +0 -237
  624. package/dist/route-map-builder.js.map +0 -1
  625. package/dist/route-types.d.ts +0 -165
  626. package/dist/route-types.d.ts.map +0 -1
  627. package/dist/route-types.js +0 -7
  628. package/dist/route-types.js.map +0 -1
  629. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  630. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  631. package/dist/router/__tests__/handler-context.test.js +0 -65
  632. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  633. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  634. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  635. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  636. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  637. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  638. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  639. package/dist/router/__tests__/match-context.test.js +0 -92
  640. package/dist/router/__tests__/match-context.test.js.map +0 -1
  641. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  642. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  643. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  644. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  645. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  646. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  647. package/dist/router/__tests__/match-result.test.js +0 -457
  648. package/dist/router/__tests__/match-result.test.js.map +0 -1
  649. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  650. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  651. package/dist/router/__tests__/on-error.test.js +0 -678
  652. package/dist/router/__tests__/on-error.test.js.map +0 -1
  653. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  654. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  655. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  656. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  657. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  658. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  659. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  660. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  661. package/dist/router/error-handling.d.ts +0 -77
  662. package/dist/router/error-handling.d.ts.map +0 -1
  663. package/dist/router/error-handling.js +0 -202
  664. package/dist/router/error-handling.js.map +0 -1
  665. package/dist/router/handler-context.d.ts +0 -20
  666. package/dist/router/handler-context.d.ts.map +0 -1
  667. package/dist/router/handler-context.js +0 -198
  668. package/dist/router/handler-context.js.map +0 -1
  669. package/dist/router/intercept-resolution.d.ts +0 -66
  670. package/dist/router/intercept-resolution.d.ts.map +0 -1
  671. package/dist/router/intercept-resolution.js +0 -246
  672. package/dist/router/intercept-resolution.js.map +0 -1
  673. package/dist/router/loader-resolution.d.ts +0 -64
  674. package/dist/router/loader-resolution.d.ts.map +0 -1
  675. package/dist/router/loader-resolution.js +0 -284
  676. package/dist/router/loader-resolution.js.map +0 -1
  677. package/dist/router/logging.d.ts +0 -15
  678. package/dist/router/logging.d.ts.map +0 -1
  679. package/dist/router/logging.js +0 -99
  680. package/dist/router/logging.js.map +0 -1
  681. package/dist/router/manifest.d.ts +0 -22
  682. package/dist/router/manifest.d.ts.map +0 -1
  683. package/dist/router/manifest.js +0 -181
  684. package/dist/router/manifest.js.map +0 -1
  685. package/dist/router/match-api.d.ts +0 -35
  686. package/dist/router/match-api.d.ts.map +0 -1
  687. package/dist/router/match-api.js +0 -406
  688. package/dist/router/match-api.js.map +0 -1
  689. package/dist/router/match-context.d.ts +0 -206
  690. package/dist/router/match-context.d.ts.map +0 -1
  691. package/dist/router/match-context.js +0 -17
  692. package/dist/router/match-context.js.map +0 -1
  693. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  694. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  695. package/dist/router/match-middleware/background-revalidation.js +0 -75
  696. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  697. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  698. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  699. package/dist/router/match-middleware/cache-lookup.js +0 -257
  700. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  701. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  702. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  703. package/dist/router/match-middleware/cache-store.js +0 -108
  704. package/dist/router/match-middleware/cache-store.js.map +0 -1
  705. package/dist/router/match-middleware/index.d.ts +0 -81
  706. package/dist/router/match-middleware/index.d.ts.map +0 -1
  707. package/dist/router/match-middleware/index.js +0 -80
  708. package/dist/router/match-middleware/index.js.map +0 -1
  709. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  710. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  711. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  712. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  713. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  714. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  715. package/dist/router/match-middleware/segment-resolution.js +0 -53
  716. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  717. package/dist/router/match-pipelines.d.ts +0 -147
  718. package/dist/router/match-pipelines.d.ts.map +0 -1
  719. package/dist/router/match-pipelines.js +0 -82
  720. package/dist/router/match-pipelines.js.map +0 -1
  721. package/dist/router/match-result.d.ts +0 -126
  722. package/dist/router/match-result.d.ts.map +0 -1
  723. package/dist/router/match-result.js +0 -93
  724. package/dist/router/match-result.js.map +0 -1
  725. package/dist/router/metrics.d.ts +0 -20
  726. package/dist/router/metrics.d.ts.map +0 -1
  727. package/dist/router/metrics.js +0 -47
  728. package/dist/router/metrics.js.map +0 -1
  729. package/dist/router/middleware.d.ts +0 -249
  730. package/dist/router/middleware.d.ts.map +0 -1
  731. package/dist/router/middleware.js +0 -434
  732. package/dist/router/middleware.js.map +0 -1
  733. package/dist/router/middleware.test.d.ts +0 -2
  734. package/dist/router/middleware.test.d.ts.map +0 -1
  735. package/dist/router/middleware.test.js +0 -816
  736. package/dist/router/middleware.test.js.map +0 -1
  737. package/dist/router/pattern-matching.d.ts +0 -149
  738. package/dist/router/pattern-matching.d.ts.map +0 -1
  739. package/dist/router/pattern-matching.js +0 -349
  740. package/dist/router/pattern-matching.js.map +0 -1
  741. package/dist/router/revalidation.d.ts +0 -44
  742. package/dist/router/revalidation.d.ts.map +0 -1
  743. package/dist/router/revalidation.js +0 -147
  744. package/dist/router/revalidation.js.map +0 -1
  745. package/dist/router/router-context.d.ts +0 -135
  746. package/dist/router/router-context.d.ts.map +0 -1
  747. package/dist/router/router-context.js +0 -36
  748. package/dist/router/router-context.js.map +0 -1
  749. package/dist/router/segment-resolution.d.ts +0 -127
  750. package/dist/router/segment-resolution.d.ts.map +0 -1
  751. package/dist/router/segment-resolution.js +0 -919
  752. package/dist/router/segment-resolution.js.map +0 -1
  753. package/dist/router/trie-matching.d.ts +0 -40
  754. package/dist/router/trie-matching.d.ts.map +0 -1
  755. package/dist/router/trie-matching.js +0 -127
  756. package/dist/router/trie-matching.js.map +0 -1
  757. package/dist/router/types.d.ts +0 -136
  758. package/dist/router/types.d.ts.map +0 -1
  759. package/dist/router/types.js +0 -7
  760. package/dist/router/types.js.map +0 -1
  761. package/dist/router.d.ts +0 -753
  762. package/dist/router.d.ts.map +0 -1
  763. package/dist/router.gen.d.ts +0 -6
  764. package/dist/router.gen.d.ts.map +0 -1
  765. package/dist/router.gen.js +0 -6
  766. package/dist/router.gen.js.map +0 -1
  767. package/dist/router.js +0 -1304
  768. package/dist/router.js.map +0 -1
  769. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  770. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  771. package/dist/rsc/__tests__/helpers.test.js +0 -140
  772. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  773. package/dist/rsc/handler.d.ts +0 -45
  774. package/dist/rsc/handler.d.ts.map +0 -1
  775. package/dist/rsc/handler.js +0 -1172
  776. package/dist/rsc/handler.js.map +0 -1
  777. package/dist/rsc/helpers.d.ts +0 -16
  778. package/dist/rsc/helpers.d.ts.map +0 -1
  779. package/dist/rsc/helpers.js +0 -55
  780. package/dist/rsc/helpers.js.map +0 -1
  781. package/dist/rsc/index.d.ts +0 -22
  782. package/dist/rsc/index.d.ts.map +0 -1
  783. package/dist/rsc/index.js +0 -23
  784. package/dist/rsc/index.js.map +0 -1
  785. package/dist/rsc/nonce.d.ts +0 -9
  786. package/dist/rsc/nonce.d.ts.map +0 -1
  787. package/dist/rsc/nonce.js +0 -18
  788. package/dist/rsc/nonce.js.map +0 -1
  789. package/dist/rsc/types.d.ts +0 -206
  790. package/dist/rsc/types.d.ts.map +0 -1
  791. package/dist/rsc/types.js +0 -8
  792. package/dist/rsc/types.js.map +0 -1
  793. package/dist/search-params.d.ts +0 -103
  794. package/dist/search-params.d.ts.map +0 -1
  795. package/dist/search-params.js +0 -74
  796. package/dist/search-params.js.map +0 -1
  797. package/dist/segment-system.d.ts +0 -75
  798. package/dist/segment-system.d.ts.map +0 -1
  799. package/dist/segment-system.js +0 -336
  800. package/dist/segment-system.js.map +0 -1
  801. package/dist/server/context.d.ts +0 -245
  802. package/dist/server/context.d.ts.map +0 -1
  803. package/dist/server/context.js +0 -197
  804. package/dist/server/context.js.map +0 -1
  805. package/dist/server/fetchable-loader-store.d.ts +0 -18
  806. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  807. package/dist/server/fetchable-loader-store.js +0 -18
  808. package/dist/server/fetchable-loader-store.js.map +0 -1
  809. package/dist/server/handle-store.d.ts +0 -85
  810. package/dist/server/handle-store.d.ts.map +0 -1
  811. package/dist/server/handle-store.js +0 -142
  812. package/dist/server/handle-store.js.map +0 -1
  813. package/dist/server/loader-registry.d.ts +0 -55
  814. package/dist/server/loader-registry.d.ts.map +0 -1
  815. package/dist/server/loader-registry.js +0 -132
  816. package/dist/server/loader-registry.js.map +0 -1
  817. package/dist/server/request-context.d.ts +0 -226
  818. package/dist/server/request-context.d.ts.map +0 -1
  819. package/dist/server/request-context.js +0 -290
  820. package/dist/server/request-context.js.map +0 -1
  821. package/dist/server/root-layout.d.ts +0 -4
  822. package/dist/server/root-layout.d.ts.map +0 -1
  823. package/dist/server/root-layout.js +0 -5
  824. package/dist/server/root-layout.js.map +0 -1
  825. package/dist/server.d.ts +0 -15
  826. package/dist/server.d.ts.map +0 -1
  827. package/dist/server.js +0 -20
  828. package/dist/server.js.map +0 -1
  829. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  830. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  831. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  832. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  833. package/dist/ssr/index.d.ts +0 -98
  834. package/dist/ssr/index.d.ts.map +0 -1
  835. package/dist/ssr/index.js +0 -158
  836. package/dist/ssr/index.js.map +0 -1
  837. package/dist/static-handler.d.ts +0 -50
  838. package/dist/static-handler.d.ts.map +0 -1
  839. package/dist/static-handler.gen.d.ts +0 -5
  840. package/dist/static-handler.gen.d.ts.map +0 -1
  841. package/dist/static-handler.gen.js +0 -5
  842. package/dist/static-handler.gen.js.map +0 -1
  843. package/dist/static-handler.js +0 -29
  844. package/dist/static-handler.js.map +0 -1
  845. package/dist/theme/ThemeProvider.d.ts +0 -20
  846. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  847. package/dist/theme/ThemeProvider.js +0 -240
  848. package/dist/theme/ThemeProvider.js.map +0 -1
  849. package/dist/theme/ThemeScript.d.ts +0 -48
  850. package/dist/theme/ThemeScript.d.ts.map +0 -1
  851. package/dist/theme/ThemeScript.js +0 -13
  852. package/dist/theme/ThemeScript.js.map +0 -1
  853. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  854. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  855. package/dist/theme/__tests__/theme.test.js +0 -103
  856. package/dist/theme/__tests__/theme.test.js.map +0 -1
  857. package/dist/theme/constants.d.ts +0 -29
  858. package/dist/theme/constants.d.ts.map +0 -1
  859. package/dist/theme/constants.js +0 -48
  860. package/dist/theme/constants.js.map +0 -1
  861. package/dist/theme/index.d.ts +0 -31
  862. package/dist/theme/index.d.ts.map +0 -1
  863. package/dist/theme/index.js +0 -36
  864. package/dist/theme/index.js.map +0 -1
  865. package/dist/theme/theme-context.d.ts +0 -40
  866. package/dist/theme/theme-context.d.ts.map +0 -1
  867. package/dist/theme/theme-context.js +0 -60
  868. package/dist/theme/theme-context.js.map +0 -1
  869. package/dist/theme/theme-script.d.ts +0 -27
  870. package/dist/theme/theme-script.d.ts.map +0 -1
  871. package/dist/theme/theme-script.js +0 -147
  872. package/dist/theme/theme-script.js.map +0 -1
  873. package/dist/theme/types.d.ts +0 -163
  874. package/dist/theme/types.d.ts.map +0 -1
  875. package/dist/theme/types.js +0 -11
  876. package/dist/theme/types.js.map +0 -1
  877. package/dist/theme/use-theme.d.ts +0 -12
  878. package/dist/theme/use-theme.d.ts.map +0 -1
  879. package/dist/theme/use-theme.js +0 -40
  880. package/dist/theme/use-theme.js.map +0 -1
  881. package/dist/types.d.ts +0 -1479
  882. package/dist/types.d.ts.map +0 -1
  883. package/dist/types.js +0 -10
  884. package/dist/types.js.map +0 -1
  885. package/dist/urls.d.ts +0 -441
  886. package/dist/urls.d.ts.map +0 -1
  887. package/dist/urls.gen.d.ts +0 -8
  888. package/dist/urls.gen.d.ts.map +0 -1
  889. package/dist/urls.gen.js +0 -8
  890. package/dist/urls.gen.js.map +0 -1
  891. package/dist/urls.js +0 -443
  892. package/dist/urls.js.map +0 -1
  893. package/dist/use-loader.d.ts +0 -127
  894. package/dist/use-loader.d.ts.map +0 -1
  895. package/dist/use-loader.js +0 -237
  896. package/dist/use-loader.js.map +0 -1
  897. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  898. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  899. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  900. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  901. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  902. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  903. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  904. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  905. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  906. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  907. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  908. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  909. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  910. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  911. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  912. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  913. package/dist/vite/ast-handler-extract.d.ts +0 -49
  914. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  915. package/dist/vite/ast-handler-extract.js +0 -249
  916. package/dist/vite/ast-handler-extract.js.map +0 -1
  917. package/dist/vite/expose-action-id.d.ts +0 -19
  918. package/dist/vite/expose-action-id.d.ts.map +0 -1
  919. package/dist/vite/expose-action-id.js +0 -250
  920. package/dist/vite/expose-action-id.js.map +0 -1
  921. package/dist/vite/expose-id-utils.d.ts +0 -69
  922. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  923. package/dist/vite/expose-id-utils.js +0 -289
  924. package/dist/vite/expose-id-utils.js.map +0 -1
  925. package/dist/vite/expose-internal-ids.d.ts +0 -22
  926. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  927. package/dist/vite/expose-internal-ids.js +0 -886
  928. package/dist/vite/expose-internal-ids.js.map +0 -1
  929. package/dist/vite/index.d.ts +0 -149
  930. package/dist/vite/index.d.ts.map +0 -1
  931. package/dist/vite/index.js.map +0 -1
  932. package/dist/vite/index.named-routes.gen.ts +0 -103
  933. package/dist/vite/package-resolution.d.ts +0 -43
  934. package/dist/vite/package-resolution.d.ts.map +0 -1
  935. package/dist/vite/package-resolution.js +0 -112
  936. package/dist/vite/package-resolution.js.map +0 -1
  937. package/dist/vite/virtual-entries.d.ts +0 -25
  938. package/dist/vite/virtual-entries.d.ts.map +0 -1
  939. package/dist/vite/virtual-entries.js +0 -110
  940. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,77 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { Suspense, use, useId } from "react";
4
- import { invariant } from "./errors";
5
- import { OutletProvider } from "./client.js";
6
- import { isLoaderDataResult } from "./types.js";
7
- /**
8
- * Stable async wrapper component for route content
9
- * Using a module-level component ensures React sees the same component reference
10
- * across renders, preventing unnecessary remounts during actions.
11
- *
12
- * When content is a pending promise, React suspends and shows the nearest
13
- * Suspense fallback. When content is already resolved, it renders immediately
14
- * without suspension.
15
- *
16
- * @param segmentId - Stable ID from segment, used for consistent keys across renders
17
- */
18
- export function RouteContentWrapper({ content, fallback, segmentId, }) {
19
- if (!content) {
20
- // Already resolved
21
- return content;
22
- }
23
- return (_jsx(Suspense, { fallback: fallback ?? null, children: _jsx(Suspender, { content: content }, segmentId) }, segmentId ? "route-content-suspense-" + segmentId : undefined));
24
- }
25
- export function RouteContentWrapperCallback({ resolve, fallback, children, }) {
26
- const id = useId();
27
- invariant(children, "RouteContentWrapperCallback requires children");
28
- invariant(typeof children === "function", "RouteContentWrapperCallback requires children to be a function");
29
- invariant(resolve !== undefined, "RouteContentWrapperCallback requires resolve");
30
- return (_jsx(Suspense, { fallback: fallback ?? null, children: _jsx(SuspenderCallback, { resolve: resolve, children: children }, id) }, "route-content-suspense-callback-" + id));
31
- }
32
- const Suspender = ({ content, }) => {
33
- invariant(content instanceof Promise, "Suspender expects a Promise content");
34
- return use(content);
35
- };
36
- const SuspenderCallback = ({ resolve, children, }) => {
37
- return resolve instanceof Promise
38
- ? children(use(resolve))
39
- : children(resolve);
40
- };
41
- export function LoaderBoundary({ loaderDataPromise, loaderIds, fallback, outletKey, outletContent, segment, parallel, children, }) {
42
- return (_jsx(Suspense, { fallback: fallback ?? null, children: _jsx(LoaderResolver, { loaderDataPromise: loaderDataPromise, loaderIds: loaderIds, outletKey: outletKey, outletContent: outletContent, segment: segment, parallel: parallel, children: children }) }, `loader-boundary-${outletKey}`));
43
- }
44
- /**
45
- * Internal component that resolves loader promises and renders OutletProvider
46
- */
47
- function LoaderResolver({ loaderDataPromise, loaderIds, outletKey, outletContent, segment, parallel, children, }) {
48
- // Resolve loader promises using React's use()
49
- const resolvedData = loaderDataPromise instanceof Promise
50
- ? use(loaderDataPromise)
51
- : loaderDataPromise;
52
- // Build loaderData record from resolved values
53
- const loaderData = {};
54
- let loaderErrorFallback = null;
55
- loaderIds.forEach((id, i) => {
56
- const result = resolvedData[i];
57
- if (isLoaderDataResult(result)) {
58
- if (result.ok) {
59
- loaderData[id] = result.data;
60
- }
61
- else {
62
- if (result.fallback) {
63
- loaderErrorFallback = result.fallback;
64
- }
65
- else {
66
- throw new Error(result.error.message);
67
- }
68
- }
69
- }
70
- else {
71
- // Legacy format - direct data
72
- loaderData[id] = result;
73
- }
74
- });
75
- return (_jsx(OutletProvider, { content: outletContent, segment: segment, parallel: parallel, loaderData: Object.keys(loaderData).length > 0 ? loaderData : undefined, children: loaderErrorFallback ?? children }, outletKey));
76
- }
77
- //# sourceMappingURL=route-content-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-content-wrapper.js","sourceRoot":"","sources":["../src/route-content-wrapper.tsx"],"names":[],"mappings":"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"}
@@ -1,421 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { PartialCacheOptions, DefaultEnv, ErrorBoundaryHandler, ExtractRouteParams, Handler, LoaderDefinition, MiddlewareFn, NotFoundBoundaryHandler, ResolvedRouteMap, RouteDefinition, RouteDefinitionOptions, ShouldRevalidateFn, TrailingSlashMode } from "./types.js";
3
- import { type InterceptWhenFn } from "./server/context";
4
- import type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, LoadingItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, LoaderUseItem, WhenItem, CacheItem } from "./route-types.js";
5
- /**
6
- * Result of route() function with paths and trailing slash config
7
- */
8
- export interface RouteDefinitionResult<T extends RouteDefinition> {
9
- routes: ResolvedRouteMap<T>;
10
- trailingSlash: Record<string, TrailingSlashMode>;
11
- }
12
- /**
13
- * Define routes with optional trailing slash configuration
14
- *
15
- * @example
16
- * ```typescript
17
- * // Simple string paths
18
- * const routes = route({
19
- * blog: "/blog",
20
- * post: "/blog/:id",
21
- * });
22
- *
23
- * // With trailing slash config
24
- * const routes = route({
25
- * blog: "/blog",
26
- * api: { path: "/api", trailingSlash: "ignore" },
27
- * }, { trailingSlash: "never" }); // global default
28
- * ```
29
- */
30
- export declare function route<const T extends RouteDefinition>(input: T, options?: RouteDefinitionOptions): ResolvedRouteMap<T> & {
31
- __trailingSlash?: Record<string, TrailingSlashMode>;
32
- };
33
- export type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, WhenItem, CacheItem, } from "./route-types.js";
34
- export type { InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "./server/context";
35
- /**
36
- * Route helpers provided by map()
37
- * These are the only typed helpers users interact with
38
- */
39
- export type RouteHelpers<T extends RouteDefinition, TEnv> = {
40
- /**
41
- * Define a route handler for a specific route pattern
42
- * ```typescript
43
- * route("products.detail", async (ctx) => {
44
- * const product = await getProduct(ctx.params.slug);
45
- * return <ProductPage product={product} />;
46
- * })
47
- *
48
- * // With nested use() for middleware, loaders, etc.
49
- * route("products.detail", ProductHandler, () => [
50
- * loader(ProductLoader),
51
- * loading(<ProductSkeleton />),
52
- * ])
53
- * ```
54
- * @param name - Route name matching a key from route definitions
55
- * @param handler - Async function that returns JSX for the route
56
- * @param use - Optional callback returning middleware, loaders, loading, etc.
57
- */
58
- route: <K extends keyof ResolvedRouteMap<T> & string>(name: K, handler: Handler<ExtractRouteParams<T, K & string>, {}, TEnv>, use?: () => RouteUseItem[]) => RouteItem;
59
- /**
60
- * Define a layout that wraps child routes
61
- * ```typescript
62
- * layout(<RootLayout />, () => [
63
- * route("home", HomePage),
64
- * route("about", AboutPage),
65
- * ])
66
- *
67
- * // With dynamic layout handler
68
- * layout(async (ctx) => {
69
- * const user = ctx.get("user");
70
- * return <DashboardShell user={user} />;
71
- * }, () => [
72
- * middleware(authMiddleware),
73
- * route("dashboard", DashboardPage),
74
- * ])
75
- * ```
76
- * @param component - Static JSX or async handler for the layout
77
- * @param use - Callback returning child routes, middleware, loaders, etc.
78
- */
79
- layout: (component: ReactNode | Handler<any, any, TEnv>, use?: () => LayoutUseItem[]) => LayoutItem;
80
- /**
81
- * Define parallel routes that render simultaneously in named slots
82
- * ```typescript
83
- * parallel({
84
- * "@sidebar": <Sidebar />,
85
- * "@main": async (ctx) => <MainContent data={ctx.use(DataLoader)} />,
86
- * })
87
- *
88
- * // With loaders and loading states
89
- * parallel({
90
- * "@analytics": AnalyticsPanel,
91
- * "@metrics": MetricsPanel,
92
- * }, () => [
93
- * loader(DashboardLoader),
94
- * loading(<DashboardSkeleton />),
95
- * ])
96
- * ```
97
- * @param slots - Object with slot names (prefixed with @) mapped to handlers
98
- * @param use - Optional callback for loaders, loading, revalidate, etc.
99
- */
100
- parallel: <TSlots extends Record<`@${string}`, Handler<any, any, TEnv> | ReactNode>>(slots: TSlots, use?: () => ParallelUseItem[]) => ParallelItem;
101
- /**
102
- * Define an intercepting route for soft navigation
103
- *
104
- * When soft-navigating to the target route from within the current layout,
105
- * the intercept handler renders in the named slot instead of the route's
106
- * default handler. Direct navigation uses the route's handler.
107
- *
108
- * ```typescript
109
- * // In a layout - intercept "card" route as modal
110
- * layout(<KanbanLayout />, () => [
111
- * intercept("@modal", "card", () => <CardModal />),
112
- * ])
113
- *
114
- * // With loaders and revalidation
115
- * intercept("@modal", "card", () => <CardModal />, () => [
116
- * loader(CardModalLoader),
117
- * revalidate(() => false),
118
- * ])
119
- * ```
120
- * @param slotName - Named slot (prefixed with @) where intercept renders
121
- * @param routeName - Route name to intercept
122
- * @param handler - Component or handler for intercepted render
123
- * @param use - Optional callback for loaders, middleware, revalidate, etc.
124
- */
125
- intercept: <K extends keyof ResolvedRouteMap<T> & string>(slotName: `@${string}`, routeName: K, handler: ReactNode | Handler<ExtractRouteParams<T, K>, {}, TEnv>, use?: () => InterceptUseItem[]) => InterceptItem;
126
- /**
127
- * Attach middleware to the current route/layout
128
- * ```typescript
129
- * middleware(async (ctx, next) => {
130
- * const session = await getSession(ctx.request);
131
- * if (!session) return redirect("/login");
132
- * ctx.set("user", session.user);
133
- * next();
134
- * })
135
- *
136
- * // Chain multiple middleware
137
- * middleware(authMiddleware, loggingMiddleware, rateLimitMiddleware)
138
- * ```
139
- * @param fns - One or more middleware functions to execute in order
140
- */
141
- middleware: (...fns: MiddlewareFn<TEnv>[]) => MiddlewareItem;
142
- /**
143
- * Control when a segment should revalidate during navigation
144
- * ```typescript
145
- * // Revalidate when params change
146
- * revalidate(({ currentParams, nextParams }) =>
147
- * currentParams.slug !== nextParams.slug
148
- * )
149
- *
150
- * // Revalidate after specific actions (actionId format: "path/to/file.ts#exportName")
151
- * revalidate(({ actionId }) =>
152
- * actionId?.includes("Cart") ?? false
153
- * )
154
- *
155
- * // Soft decision (suggest but allow override)
156
- * revalidate(({ defaultShouldRevalidate }) =>
157
- * ({ defaultShouldRevalidate: true })
158
- * )
159
- * ```
160
- * @param fn - Function that returns boolean (hard) or { defaultShouldRevalidate } (soft)
161
- */
162
- revalidate: (fn: ShouldRevalidateFn<any, TEnv>) => RevalidateItem;
163
- /**
164
- * Attach a data loader to the current route/layout
165
- * ```typescript
166
- * loader(ProductLoader)
167
- *
168
- * // With loader-specific revalidation (match by file or export name)
169
- * loader(CartLoader, () => [
170
- * revalidate(({ actionId }) => actionId?.includes("Cart") ?? false),
171
- * ])
172
- *
173
- * // Access loader data in handlers via ctx.use()
174
- * route("products.detail", async (ctx) => {
175
- * const product = await ctx.use(ProductLoader);
176
- * return <ProductPage product={product} />;
177
- * })
178
- * ```
179
- * @param loaderDef - Loader created with createLoader()
180
- * @param use - Optional callback for loader-specific revalidation rules
181
- */
182
- loader: <TData>(loaderDef: LoaderDefinition<TData>, use?: () => LoaderUseItem[]) => LoaderItem;
183
- /**
184
- * Attach a loading component to the current route/layout
185
- * ```typescript
186
- * // Show loading on all requests (including SSR)
187
- * loading(<Skeleton />)
188
- *
189
- * // Skip loading on SSR, only show on client navigation
190
- * loading(<Skeleton />, { ssr: false })
191
- * ```
192
- * @param component - The loading UI to show during navigation
193
- * @param options - Configuration options
194
- * @param options.ssr - If false, skip showing loading on document requests (SSR)
195
- */
196
- loading: (component: ReactNode, options?: {
197
- ssr?: boolean;
198
- }) => LoadingItem;
199
- /**
200
- * Attach an error boundary to catch errors in this segment and children
201
- * ```typescript
202
- * errorBoundary(<ErrorFallback />)
203
- *
204
- * // With dynamic error handler
205
- * errorBoundary(({ error, reset }) => (
206
- * <div>
207
- * <h2>Something went wrong</h2>
208
- * <p>{error.message}</p>
209
- * <button onClick={reset}>Try again</button>
210
- * </div>
211
- * ))
212
- * ```
213
- * @param fallback - Static JSX or handler receiving error info and reset function
214
- */
215
- errorBoundary: (fallback: ReactNode | ErrorBoundaryHandler) => ErrorBoundaryItem;
216
- /**
217
- * Attach a not-found boundary to handle notFound() calls in this segment
218
- * ```typescript
219
- * notFoundBoundary(<ProductNotFound />)
220
- *
221
- * // With dynamic handler
222
- * notFoundBoundary(({ notFound }) => (
223
- * <div>
224
- * <h2>{notFound.message}</h2>
225
- * <a href="/products">Browse all products</a>
226
- * </div>
227
- * ))
228
- * ```
229
- * @param fallback - Static JSX or handler receiving not-found info
230
- */
231
- notFoundBoundary: (fallback: ReactNode | NotFoundBoundaryHandler) => NotFoundBoundaryItem;
232
- /**
233
- * Define a condition for when an intercept should activate
234
- *
235
- * Only valid inside intercept() use() callback. When multiple when() calls
236
- * are present, ALL must return true for the intercept to activate.
237
- * If no when() is defined, the intercept always activates on soft navigation.
238
- *
239
- * Context properties:
240
- * - `from` - Source URL (where user is navigating from)
241
- * - `to` - Destination URL (where user is navigating to)
242
- * - `params` - Matched route params
243
- * - `segments` - Client's current segments with `path` and `ids`
244
- *
245
- * ```typescript
246
- * // Only intercept when coming from the board page
247
- * intercept("@modal", "card", <CardModal />, () => [
248
- * when(({ from }) => from.pathname.startsWith("/board")),
249
- * loader(CardDetailLoader),
250
- * ])
251
- *
252
- * // Use segments to check current route context
253
- * intercept("@modal", "card", <CardModal />, () => [
254
- * when(({ segments }) => segments.path[0] === "kanban"),
255
- * ])
256
- *
257
- * // Multiple conditions (AND logic)
258
- * intercept("@modal", "card", <CardModal />, () => [
259
- * when(({ from }) => from.pathname.startsWith("/board")),
260
- * when(({ segments }) => segments.ids.includes("kanban-layout")),
261
- * ])
262
- * ```
263
- * @param fn - Selector function receiving navigation context, returns boolean
264
- */
265
- when: (fn: InterceptWhenFn) => WhenItem;
266
- /**
267
- * Define cache configuration for segments
268
- *
269
- * Creates a cache boundary that applies to all children unless overridden.
270
- * Cache config inherits down the route tree like middleware wrapping.
271
- *
272
- * When ttl is not specified, uses store defaults (explicit store first,
273
- * then app-level store). When store is not specified, uses app-level store.
274
- *
275
- * Note: Loaders are NOT cached by default. Use cache() inside loader()
276
- * to explicitly opt-in to loader caching.
277
- *
278
- * ```typescript
279
- * // Using app-level defaults (ttl inherited from store.defaults)
280
- * cache(() => [
281
- * layout(<BlogLayout />), // cached with default TTL
282
- * route("post/:slug"), // cached with default TTL
283
- * ])
284
- *
285
- * // Cache all segments with explicit 60s TTL
286
- * cache({ ttl: 60 }, () => [
287
- * layout(<BlogLayout />), // cached
288
- * route("post/:slug"), // cached
289
- * ])
290
- *
291
- * // With stale-while-revalidate
292
- * cache({ ttl: 60, swr: 300 }, () => [
293
- * route("product/:id"),
294
- * ])
295
- *
296
- * // Override for specific section
297
- * cache({ ttl: 60 }, () => [
298
- * layout(<RootLayout />),
299
- * cache({ ttl: 300 }, () => [
300
- * route("static-page"), // longer TTL
301
- * ]),
302
- * cache(false, () => [
303
- * route("admin"), // not cached
304
- * ]),
305
- * ])
306
- *
307
- * // Use different store for specific routes
308
- * cache({ store: kvStore, ttl: 3600 }, () => [
309
- * route("archive/:year"), // uses KV store
310
- * ])
311
- *
312
- * // Opt-in loader caching
313
- * route("product/:id", ProductHandler, () => [
314
- * loader(ProductLoader), // NOT cached (default)
315
- * loader(StaticMetadata, () => [
316
- * cache({ ttl: 3600 }), // cached for 1 hour
317
- * ]),
318
- * ])
319
- * ```
320
- * @param optionsOrChildren - Cache options, false to disable, or children callback
321
- * @param children - Optional callback returning child segments (when first arg is options)
322
- */
323
- cache: {
324
- (): CacheItem;
325
- (children: () => AllUseItems[]): CacheItem;
326
- (options: PartialCacheOptions | false, use?: () => AllUseItems[]): CacheItem;
327
- };
328
- };
329
- /**
330
- * Branded type for route handlers that carries the route type info.
331
- * This enables type-safe verification that imported handlers match route definitions.
332
- */
333
- export interface RouteHandlers<T extends RouteDefinition> {
334
- (): Array<AllUseItems>;
335
- /** Brand to carry route type info for type checking */
336
- readonly __routes: T;
337
- }
338
- /**
339
- * Type-safe handler definition helper
340
- *
341
- */
342
- export declare function map<const T extends RouteDefinition, TEnv = DefaultEnv>(builder: (helpers: RouteHelpers<T, TEnv>) => Array<AllUseItems>): RouteHandlers<T>;
343
- /**
344
- * Create RouteHelpers for inline route definitions
345
- * Used internally by router.map() for inline handler syntax
346
- */
347
- export declare function createRouteHelpers<T extends RouteDefinition, TEnv>(): RouteHelpers<T, TEnv>;
348
- /**
349
- * Create a loader definition
350
- *
351
- * Loaders are RSC-compatible data fetchers that:
352
- * - Run after middleware, before handlers
353
- * - Are scoped to where attached (layout/route subtree)
354
- * - Revalidate independently from UI segments
355
- * - Are memoized per request (multiple ctx.use() calls return same value)
356
- *
357
- * Use the `"use server"` directive inside the loader function to ensure
358
- * the function is stripped from client bundles.
359
- *
360
- * Return type is automatically inferred from the callback.
361
- *
362
- * @param fn - Async function that fetches data (should contain "use server" directive)
363
- * @param fetchable - Optional flag to make the loader fetchable via useFetchLoader
364
- *
365
- * @example
366
- * ```typescript
367
- * // loaders/cart.ts - return type inferred from callback
368
- * export const CartLoader = createLoader(async (ctx) => {
369
- * "use server";
370
- * const user = ctx.get("user");
371
- * return await db.cart.get(user.id); // Return type inferred!
372
- * });
373
- *
374
- * // loaders/product.ts - return type inferred
375
- * export const ProductLoader = createLoader(async (ctx) => {
376
- * "use server";
377
- * const { slug } = ctx.params;
378
- * return await db.products.findBySlug(slug); // Return type inferred!
379
- * });
380
- *
381
- * // Usage in handlers
382
- * layout(<ShopLayout />, () => [
383
- * loader(CartLoader),
384
- * loader(CartLoader, () => [
385
- * revalidate(({ actionId }) => actionId?.includes("Cart") ?? false),
386
- * ]),
387
- * ])
388
- *
389
- * // Server-side access
390
- * route("cart", (ctx) => {
391
- * const cart = ctx.use(CartLoader);
392
- * return <CartPage cart={cart} />;
393
- * });
394
- *
395
- * // Client-side access
396
- * const cart = useLoader(CartLoader);
397
- * ```
398
- */
399
- export { createLoader } from "./loader.rsc.js";
400
- /**
401
- * Create a soft redirect Response for middleware short-circuit
402
- *
403
- * Returns a Response that signals a client-side navigation to the target URL.
404
- * Unlike Response.redirect() which causes a full page reload, this redirect
405
- * is handled by the router for SPA-style navigation.
406
- *
407
- * @param url - The URL to redirect to
408
- * @param status - HTTP status code (default: 302)
409
- *
410
- * @example
411
- * ```typescript
412
- * middleware((ctx, next) => {
413
- * if (!ctx.get('user')) {
414
- * return redirect('/login');
415
- * }
416
- * next();
417
- * })
418
- * ```
419
- */
420
- export declare function redirect(url: string, status?: number): Response;
421
- //# sourceMappingURL=route-definition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-definition.d.ts","sourceRoot":"","sources":["../src/route-definition.ts"],"names":[],"mappings":"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"}