@rangojs/router 0.0.0-experimental.f2337aef → 0.0.0-experimental.f2d1a2f1

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 (972) hide show
  1. package/README.md +126 -38
  2. package/dist/bin/rango.js +138 -50
  3. package/dist/vite/index.js +1183 -461
  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/cache-guide/SKILL.md +32 -0
  8. package/skills/caching/SKILL.md +45 -4
  9. package/skills/handler-use/SKILL.md +362 -0
  10. package/skills/hooks/SKILL.md +28 -20
  11. package/skills/intercept/SKILL.md +20 -0
  12. package/skills/layout/SKILL.md +22 -0
  13. package/skills/links/SKILL.md +91 -17
  14. package/skills/loader/SKILL.md +88 -45
  15. package/skills/middleware/SKILL.md +34 -3
  16. package/skills/migrate-nextjs/SKILL.md +560 -0
  17. package/skills/migrate-react-router/SKILL.md +765 -0
  18. package/skills/parallel/SKILL.md +185 -0
  19. package/skills/prerender/SKILL.md +110 -68
  20. package/skills/rango/SKILL.md +24 -22
  21. package/skills/response-routes/SKILL.md +8 -0
  22. package/skills/route/SKILL.md +55 -0
  23. package/skills/router-setup/SKILL.md +87 -2
  24. package/skills/streams-and-websockets/SKILL.md +283 -0
  25. package/skills/typesafety/SKILL.md +13 -1
  26. package/src/__internal.ts +1 -1
  27. package/src/browser/app-shell.ts +52 -0
  28. package/src/browser/app-version.ts +14 -0
  29. package/src/browser/event-controller.ts +5 -0
  30. package/src/browser/navigation-bridge.ts +88 -9
  31. package/src/browser/navigation-client.ts +167 -59
  32. package/src/browser/navigation-store.ts +68 -9
  33. package/src/browser/navigation-transaction.ts +11 -9
  34. package/src/browser/partial-update.ts +109 -15
  35. package/src/browser/prefetch/cache.ts +175 -15
  36. package/src/browser/prefetch/fetch.ts +180 -33
  37. package/src/browser/prefetch/queue.ts +123 -20
  38. package/src/browser/prefetch/resource-ready.ts +77 -0
  39. package/src/browser/rango-state.ts +53 -13
  40. package/src/browser/react/Link.tsx +81 -9
  41. package/src/browser/react/NavigationProvider.tsx +89 -14
  42. package/src/browser/react/context.ts +7 -2
  43. package/src/browser/react/use-handle.ts +9 -58
  44. package/src/browser/react/use-navigation.ts +22 -2
  45. package/src/browser/react/use-params.ts +11 -1
  46. package/src/browser/react/use-router.ts +29 -9
  47. package/src/browser/rsc-router.tsx +168 -65
  48. package/src/browser/scroll-restoration.ts +30 -15
  49. package/src/browser/segment-reconciler.ts +36 -9
  50. package/src/browser/server-action-bridge.ts +8 -6
  51. package/src/browser/types.ts +49 -5
  52. package/src/build/generate-manifest.ts +6 -6
  53. package/src/build/generate-route-types.ts +3 -0
  54. package/src/build/route-trie.ts +50 -24
  55. package/src/build/route-types/include-resolution.ts +8 -1
  56. package/src/build/route-types/router-processing.ts +223 -74
  57. package/src/build/route-types/scan-filter.ts +8 -1
  58. package/src/cache/cache-runtime.ts +15 -11
  59. package/src/cache/cache-scope.ts +48 -7
  60. package/src/cache/cf/cf-cache-store.ts +455 -15
  61. package/src/cache/cf/index.ts +5 -1
  62. package/src/cache/document-cache.ts +17 -7
  63. package/src/cache/index.ts +1 -0
  64. package/src/cache/taint.ts +55 -0
  65. package/src/client.tsx +84 -230
  66. package/src/context-var.ts +72 -2
  67. package/src/debug.ts +2 -2
  68. package/src/handle.ts +40 -0
  69. package/src/index.rsc.ts +6 -1
  70. package/src/index.ts +49 -6
  71. package/src/outlet-context.ts +1 -1
  72. package/src/prerender/store.ts +5 -4
  73. package/src/prerender.ts +138 -77
  74. package/src/response-utils.ts +28 -0
  75. package/src/reverse.ts +27 -2
  76. package/src/route-definition/dsl-helpers.ts +240 -40
  77. package/src/route-definition/helpers-types.ts +67 -19
  78. package/src/route-definition/index.ts +3 -0
  79. package/src/route-definition/redirect.ts +11 -3
  80. package/src/route-definition/resolve-handler-use.ts +155 -0
  81. package/src/route-types.ts +18 -0
  82. package/src/router/content-negotiation.ts +100 -1
  83. package/src/router/handler-context.ts +101 -25
  84. package/src/router/intercept-resolution.ts +9 -4
  85. package/src/router/lazy-includes.ts +10 -7
  86. package/src/router/loader-resolution.ts +159 -21
  87. package/src/router/logging.ts +1 -1
  88. package/src/router/manifest.ts +31 -16
  89. package/src/router/match-api.ts +127 -192
  90. package/src/router/match-middleware/background-revalidation.ts +30 -2
  91. package/src/router/match-middleware/cache-lookup.ts +94 -17
  92. package/src/router/match-middleware/cache-store.ts +53 -10
  93. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  94. package/src/router/match-middleware/segment-resolution.ts +60 -5
  95. package/src/router/match-result.ts +104 -10
  96. package/src/router/metrics.ts +6 -1
  97. package/src/router/middleware-types.ts +8 -30
  98. package/src/router/middleware.ts +36 -10
  99. package/src/router/navigation-snapshot.ts +182 -0
  100. package/src/router/pattern-matching.ts +60 -9
  101. package/src/router/prerender-match.ts +110 -10
  102. package/src/router/preview-match.ts +30 -102
  103. package/src/router/request-classification.ts +310 -0
  104. package/src/router/route-snapshot.ts +245 -0
  105. package/src/router/router-context.ts +1 -0
  106. package/src/router/router-interfaces.ts +36 -4
  107. package/src/router/router-options.ts +37 -11
  108. package/src/router/segment-resolution/fresh.ts +198 -20
  109. package/src/router/segment-resolution/helpers.ts +29 -24
  110. package/src/router/segment-resolution/loader-cache.ts +1 -0
  111. package/src/router/segment-resolution/revalidation.ts +433 -296
  112. package/src/router/trie-matching.ts +10 -4
  113. package/src/router/types.ts +1 -0
  114. package/src/router/url-params.ts +49 -0
  115. package/src/router.ts +60 -8
  116. package/src/rsc/handler.ts +478 -374
  117. package/src/rsc/helpers.ts +69 -41
  118. package/src/rsc/loader-fetch.ts +23 -3
  119. package/src/rsc/manifest-init.ts +5 -1
  120. package/src/rsc/progressive-enhancement.ts +16 -2
  121. package/src/rsc/response-route-handler.ts +14 -1
  122. package/src/rsc/rsc-rendering.ts +17 -1
  123. package/src/rsc/server-action.ts +10 -0
  124. package/src/rsc/ssr-setup.ts +2 -2
  125. package/src/rsc/types.ts +9 -1
  126. package/src/segment-content-promise.ts +67 -0
  127. package/src/segment-loader-promise.ts +122 -0
  128. package/src/segment-system.tsx +109 -23
  129. package/src/server/context.ts +166 -17
  130. package/src/server/handle-store.ts +19 -0
  131. package/src/server/loader-registry.ts +9 -8
  132. package/src/server/request-context.ts +194 -60
  133. package/src/ssr/index.tsx +4 -0
  134. package/src/static-handler.ts +18 -6
  135. package/src/types/cache-types.ts +4 -4
  136. package/src/types/handler-context.ts +137 -65
  137. package/src/types/loader-types.ts +41 -15
  138. package/src/types/request-scope.ts +126 -0
  139. package/src/types/route-entry.ts +19 -1
  140. package/src/types/segments.ts +2 -0
  141. package/src/urls/include-helper.ts +24 -14
  142. package/src/urls/path-helper-types.ts +39 -6
  143. package/src/urls/path-helper.ts +48 -13
  144. package/src/urls/pattern-types.ts +12 -0
  145. package/src/urls/response-types.ts +18 -16
  146. package/src/use-loader.tsx +77 -5
  147. package/src/vite/debug.ts +86 -0
  148. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  149. package/src/vite/discovery/discover-routers.ts +5 -1
  150. package/src/vite/discovery/prerender-collection.ts +128 -74
  151. package/src/vite/discovery/state.ts +13 -6
  152. package/src/vite/index.ts +4 -0
  153. package/src/vite/plugin-types.ts +51 -79
  154. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  155. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  156. package/src/vite/plugins/cloudflare-protocol-stub.ts +214 -0
  157. package/src/vite/plugins/expose-action-id.ts +1 -3
  158. package/src/vite/plugins/expose-id-utils.ts +12 -0
  159. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  160. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  161. package/src/vite/plugins/performance-tracks.ts +86 -0
  162. package/src/vite/plugins/refresh-cmd.ts +88 -26
  163. package/src/vite/plugins/version-plugin.ts +13 -1
  164. package/src/vite/rango.ts +204 -217
  165. package/src/vite/router-discovery.ts +335 -64
  166. package/src/vite/utils/banner.ts +4 -4
  167. package/src/vite/utils/package-resolution.ts +41 -1
  168. package/src/vite/utils/prerender-utils.ts +37 -5
  169. package/src/vite/utils/shared-utils.ts +3 -2
  170. package/dist/__internal.d.ts +0 -83
  171. package/dist/__internal.d.ts.map +0 -1
  172. package/dist/__internal.js +0 -19
  173. package/dist/__internal.js.map +0 -1
  174. package/dist/__mocks__/version.d.ts +0 -7
  175. package/dist/__mocks__/version.d.ts.map +0 -1
  176. package/dist/__mocks__/version.js +0 -7
  177. package/dist/__mocks__/version.js.map +0 -1
  178. package/dist/__tests__/client-href.test.d.ts +0 -2
  179. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  180. package/dist/__tests__/client-href.test.js +0 -74
  181. package/dist/__tests__/client-href.test.js.map +0 -1
  182. package/dist/__tests__/component-utils.test.d.ts +0 -2
  183. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  184. package/dist/__tests__/component-utils.test.js +0 -51
  185. package/dist/__tests__/component-utils.test.js.map +0 -1
  186. package/dist/__tests__/event-controller.test.d.ts +0 -2
  187. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  188. package/dist/__tests__/event-controller.test.js +0 -538
  189. package/dist/__tests__/event-controller.test.js.map +0 -1
  190. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  191. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  192. package/dist/__tests__/helpers/route-tree.js +0 -374
  193. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  194. package/dist/__tests__/match-result.test.d.ts +0 -2
  195. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  196. package/dist/__tests__/match-result.test.js +0 -154
  197. package/dist/__tests__/match-result.test.js.map +0 -1
  198. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  199. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  200. package/dist/__tests__/navigation-store.test.js +0 -440
  201. package/dist/__tests__/navigation-store.test.js.map +0 -1
  202. package/dist/__tests__/partial-update.test.d.ts +0 -2
  203. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  204. package/dist/__tests__/partial-update.test.js +0 -1009
  205. package/dist/__tests__/partial-update.test.js.map +0 -1
  206. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  207. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  208. package/dist/__tests__/reverse-types.test.js +0 -656
  209. package/dist/__tests__/reverse-types.test.js.map +0 -1
  210. package/dist/__tests__/route-definition.test.d.ts +0 -2
  211. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  212. package/dist/__tests__/route-definition.test.js +0 -55
  213. package/dist/__tests__/route-definition.test.js.map +0 -1
  214. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  215. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  216. package/dist/__tests__/router-helpers.test.js +0 -377
  217. package/dist/__tests__/router-helpers.test.js.map +0 -1
  218. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  219. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  220. package/dist/__tests__/router-integration-2.test.js +0 -426
  221. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  222. package/dist/__tests__/router-integration.test.d.ts +0 -2
  223. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  224. package/dist/__tests__/router-integration.test.js +0 -1051
  225. package/dist/__tests__/router-integration.test.js.map +0 -1
  226. package/dist/__tests__/search-params.test.d.ts +0 -5
  227. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  228. package/dist/__tests__/search-params.test.js +0 -306
  229. package/dist/__tests__/search-params.test.js.map +0 -1
  230. package/dist/__tests__/segment-system.test.d.ts +0 -2
  231. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  232. package/dist/__tests__/segment-system.test.js +0 -627
  233. package/dist/__tests__/segment-system.test.js.map +0 -1
  234. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  235. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  236. package/dist/__tests__/static-handler-types.test.js +0 -63
  237. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  238. package/dist/__tests__/urls.test.d.ts +0 -2
  239. package/dist/__tests__/urls.test.d.ts.map +0 -1
  240. package/dist/__tests__/urls.test.js +0 -421
  241. package/dist/__tests__/urls.test.js.map +0 -1
  242. package/dist/__tests__/use-mount.test.d.ts +0 -2
  243. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  244. package/dist/__tests__/use-mount.test.js +0 -35
  245. package/dist/__tests__/use-mount.test.js.map +0 -1
  246. package/dist/bin/rango.d.ts +0 -2
  247. package/dist/bin/rango.d.ts.map +0 -1
  248. package/dist/bin/rango.js.map +0 -1
  249. package/dist/browser/event-controller.d.ts +0 -191
  250. package/dist/browser/event-controller.d.ts.map +0 -1
  251. package/dist/browser/event-controller.js +0 -559
  252. package/dist/browser/event-controller.js.map +0 -1
  253. package/dist/browser/index.d.ts +0 -2
  254. package/dist/browser/index.d.ts.map +0 -1
  255. package/dist/browser/index.js +0 -14
  256. package/dist/browser/index.js.map +0 -1
  257. package/dist/browser/link-interceptor.d.ts +0 -38
  258. package/dist/browser/link-interceptor.d.ts.map +0 -1
  259. package/dist/browser/link-interceptor.js +0 -99
  260. package/dist/browser/link-interceptor.js.map +0 -1
  261. package/dist/browser/logging.d.ts +0 -10
  262. package/dist/browser/logging.d.ts.map +0 -1
  263. package/dist/browser/logging.js +0 -29
  264. package/dist/browser/logging.js.map +0 -1
  265. package/dist/browser/lru-cache.d.ts +0 -17
  266. package/dist/browser/lru-cache.d.ts.map +0 -1
  267. package/dist/browser/lru-cache.js +0 -50
  268. package/dist/browser/lru-cache.js.map +0 -1
  269. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  270. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  271. package/dist/browser/merge-segment-loaders.js +0 -102
  272. package/dist/browser/merge-segment-loaders.js.map +0 -1
  273. package/dist/browser/navigation-bridge.d.ts +0 -102
  274. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  275. package/dist/browser/navigation-bridge.js +0 -708
  276. package/dist/browser/navigation-bridge.js.map +0 -1
  277. package/dist/browser/navigation-client.d.ts +0 -25
  278. package/dist/browser/navigation-client.d.ts.map +0 -1
  279. package/dist/browser/navigation-client.js +0 -157
  280. package/dist/browser/navigation-client.js.map +0 -1
  281. package/dist/browser/navigation-store.d.ts +0 -101
  282. package/dist/browser/navigation-store.d.ts.map +0 -1
  283. package/dist/browser/navigation-store.js +0 -625
  284. package/dist/browser/navigation-store.js.map +0 -1
  285. package/dist/browser/partial-update.d.ts +0 -75
  286. package/dist/browser/partial-update.d.ts.map +0 -1
  287. package/dist/browser/partial-update.js +0 -426
  288. package/dist/browser/partial-update.js.map +0 -1
  289. package/dist/browser/react/Link.d.ts +0 -86
  290. package/dist/browser/react/Link.d.ts.map +0 -1
  291. package/dist/browser/react/Link.js +0 -128
  292. package/dist/browser/react/Link.js.map +0 -1
  293. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  294. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  295. package/dist/browser/react/NavigationProvider.js +0 -216
  296. package/dist/browser/react/NavigationProvider.js.map +0 -1
  297. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  298. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  299. package/dist/browser/react/ScrollRestoration.js +0 -57
  300. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  301. package/dist/browser/react/context.d.ts +0 -46
  302. package/dist/browser/react/context.d.ts.map +0 -1
  303. package/dist/browser/react/context.js +0 -10
  304. package/dist/browser/react/context.js.map +0 -1
  305. package/dist/browser/react/index.d.ts +0 -11
  306. package/dist/browser/react/index.d.ts.map +0 -1
  307. package/dist/browser/react/index.js +0 -22
  308. package/dist/browser/react/index.js.map +0 -1
  309. package/dist/browser/react/location-state-shared.d.ts +0 -63
  310. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  311. package/dist/browser/react/location-state-shared.js +0 -81
  312. package/dist/browser/react/location-state-shared.js.map +0 -1
  313. package/dist/browser/react/location-state.d.ts +0 -23
  314. package/dist/browser/react/location-state.d.ts.map +0 -1
  315. package/dist/browser/react/location-state.js +0 -29
  316. package/dist/browser/react/location-state.js.map +0 -1
  317. package/dist/browser/react/mount-context.d.ts +0 -24
  318. package/dist/browser/react/mount-context.d.ts.map +0 -1
  319. package/dist/browser/react/mount-context.js +0 -24
  320. package/dist/browser/react/mount-context.js.map +0 -1
  321. package/dist/browser/react/use-action.d.ts +0 -64
  322. package/dist/browser/react/use-action.d.ts.map +0 -1
  323. package/dist/browser/react/use-action.js +0 -134
  324. package/dist/browser/react/use-action.js.map +0 -1
  325. package/dist/browser/react/use-client-cache.d.ts +0 -41
  326. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  327. package/dist/browser/react/use-client-cache.js +0 -39
  328. package/dist/browser/react/use-client-cache.js.map +0 -1
  329. package/dist/browser/react/use-handle.d.ts +0 -31
  330. package/dist/browser/react/use-handle.d.ts.map +0 -1
  331. package/dist/browser/react/use-handle.js +0 -144
  332. package/dist/browser/react/use-handle.js.map +0 -1
  333. package/dist/browser/react/use-href.d.ts +0 -33
  334. package/dist/browser/react/use-href.d.ts.map +0 -1
  335. package/dist/browser/react/use-href.js +0 -39
  336. package/dist/browser/react/use-href.js.map +0 -1
  337. package/dist/browser/react/use-link-status.d.ts +0 -37
  338. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  339. package/dist/browser/react/use-link-status.js +0 -99
  340. package/dist/browser/react/use-link-status.js.map +0 -1
  341. package/dist/browser/react/use-mount.d.ts +0 -25
  342. package/dist/browser/react/use-mount.d.ts.map +0 -1
  343. package/dist/browser/react/use-mount.js +0 -30
  344. package/dist/browser/react/use-mount.js.map +0 -1
  345. package/dist/browser/react/use-navigation.d.ts +0 -27
  346. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  347. package/dist/browser/react/use-navigation.js +0 -87
  348. package/dist/browser/react/use-navigation.js.map +0 -1
  349. package/dist/browser/react/use-segments.d.ts +0 -38
  350. package/dist/browser/react/use-segments.d.ts.map +0 -1
  351. package/dist/browser/react/use-segments.js +0 -130
  352. package/dist/browser/react/use-segments.js.map +0 -1
  353. package/dist/browser/request-controller.d.ts +0 -26
  354. package/dist/browser/request-controller.d.ts.map +0 -1
  355. package/dist/browser/request-controller.js +0 -147
  356. package/dist/browser/request-controller.js.map +0 -1
  357. package/dist/browser/rsc-router.d.ts +0 -129
  358. package/dist/browser/rsc-router.d.ts.map +0 -1
  359. package/dist/browser/rsc-router.js +0 -195
  360. package/dist/browser/rsc-router.js.map +0 -1
  361. package/dist/browser/scroll-restoration.d.ts +0 -93
  362. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  363. package/dist/browser/scroll-restoration.js +0 -321
  364. package/dist/browser/scroll-restoration.js.map +0 -1
  365. package/dist/browser/segment-structure-assert.d.ts +0 -17
  366. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  367. package/dist/browser/segment-structure-assert.js +0 -59
  368. package/dist/browser/segment-structure-assert.js.map +0 -1
  369. package/dist/browser/server-action-bridge.d.ts +0 -26
  370. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  371. package/dist/browser/server-action-bridge.js +0 -668
  372. package/dist/browser/server-action-bridge.js.map +0 -1
  373. package/dist/browser/shallow.d.ts +0 -12
  374. package/dist/browser/shallow.d.ts.map +0 -1
  375. package/dist/browser/shallow.js +0 -34
  376. package/dist/browser/shallow.js.map +0 -1
  377. package/dist/browser/types.d.ts +0 -369
  378. package/dist/browser/types.d.ts.map +0 -1
  379. package/dist/browser/types.js +0 -2
  380. package/dist/browser/types.js.map +0 -1
  381. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  382. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  383. package/dist/build/__tests__/generate-cli.test.js +0 -237
  384. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  385. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  386. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  387. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  388. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  389. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  390. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  391. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  392. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  393. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  394. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  395. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  396. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  397. package/dist/build/generate-manifest.d.ts +0 -81
  398. package/dist/build/generate-manifest.d.ts.map +0 -1
  399. package/dist/build/generate-manifest.js +0 -276
  400. package/dist/build/generate-manifest.js.map +0 -1
  401. package/dist/build/generate-route-types.d.ts +0 -115
  402. package/dist/build/generate-route-types.d.ts.map +0 -1
  403. package/dist/build/generate-route-types.js +0 -740
  404. package/dist/build/generate-route-types.js.map +0 -1
  405. package/dist/build/index.d.ts +0 -21
  406. package/dist/build/index.d.ts.map +0 -1
  407. package/dist/build/index.js +0 -21
  408. package/dist/build/index.js.map +0 -1
  409. package/dist/build/route-trie.d.ts +0 -71
  410. package/dist/build/route-trie.d.ts.map +0 -1
  411. package/dist/build/route-trie.js +0 -175
  412. package/dist/build/route-trie.js.map +0 -1
  413. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  414. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  415. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  416. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  417. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  418. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  419. package/dist/cache/__tests__/document-cache.test.js +0 -345
  420. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  421. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  422. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  423. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  424. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  425. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  426. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  427. package/dist/cache/__tests__/memory-store.test.js +0 -367
  428. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  429. package/dist/cache/cache-scope.d.ts +0 -102
  430. package/dist/cache/cache-scope.d.ts.map +0 -1
  431. package/dist/cache/cache-scope.js +0 -440
  432. package/dist/cache/cache-scope.js.map +0 -1
  433. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  434. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  435. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  436. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  437. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  438. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  439. package/dist/cache/cf/cf-cache-store.js +0 -242
  440. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  441. package/dist/cache/cf/index.d.ts +0 -14
  442. package/dist/cache/cf/index.d.ts.map +0 -1
  443. package/dist/cache/cf/index.js +0 -17
  444. package/dist/cache/cf/index.js.map +0 -1
  445. package/dist/cache/document-cache.d.ts +0 -64
  446. package/dist/cache/document-cache.d.ts.map +0 -1
  447. package/dist/cache/document-cache.js +0 -228
  448. package/dist/cache/document-cache.js.map +0 -1
  449. package/dist/cache/index.d.ts +0 -19
  450. package/dist/cache/index.d.ts.map +0 -1
  451. package/dist/cache/index.js +0 -21
  452. package/dist/cache/index.js.map +0 -1
  453. package/dist/cache/memory-segment-store.d.ts +0 -110
  454. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  455. package/dist/cache/memory-segment-store.js +0 -117
  456. package/dist/cache/memory-segment-store.js.map +0 -1
  457. package/dist/cache/memory-store.d.ts +0 -41
  458. package/dist/cache/memory-store.d.ts.map +0 -1
  459. package/dist/cache/memory-store.js +0 -191
  460. package/dist/cache/memory-store.js.map +0 -1
  461. package/dist/cache/types.d.ts +0 -317
  462. package/dist/cache/types.d.ts.map +0 -1
  463. package/dist/cache/types.js +0 -12
  464. package/dist/cache/types.js.map +0 -1
  465. package/dist/client.d.ts +0 -248
  466. package/dist/client.d.ts.map +0 -1
  467. package/dist/client.js +0 -367
  468. package/dist/client.js.map +0 -1
  469. package/dist/client.rsc.d.ts +0 -26
  470. package/dist/client.rsc.d.ts.map +0 -1
  471. package/dist/client.rsc.js +0 -46
  472. package/dist/client.rsc.js.map +0 -1
  473. package/dist/component-utils.d.ts +0 -36
  474. package/dist/component-utils.d.ts.map +0 -1
  475. package/dist/component-utils.js +0 -61
  476. package/dist/component-utils.js.map +0 -1
  477. package/dist/components/DefaultDocument.d.ts +0 -13
  478. package/dist/components/DefaultDocument.d.ts.map +0 -1
  479. package/dist/components/DefaultDocument.js +0 -15
  480. package/dist/components/DefaultDocument.js.map +0 -1
  481. package/dist/debug.d.ts +0 -58
  482. package/dist/debug.d.ts.map +0 -1
  483. package/dist/debug.js +0 -157
  484. package/dist/debug.js.map +0 -1
  485. package/dist/default-error-boundary.d.ts +0 -11
  486. package/dist/default-error-boundary.d.ts.map +0 -1
  487. package/dist/default-error-boundary.js +0 -45
  488. package/dist/default-error-boundary.js.map +0 -1
  489. package/dist/deps/browser.d.ts +0 -2
  490. package/dist/deps/browser.d.ts.map +0 -1
  491. package/dist/deps/browser.js +0 -3
  492. package/dist/deps/browser.js.map +0 -1
  493. package/dist/deps/html-stream-client.d.ts +0 -2
  494. package/dist/deps/html-stream-client.d.ts.map +0 -1
  495. package/dist/deps/html-stream-client.js +0 -3
  496. package/dist/deps/html-stream-client.js.map +0 -1
  497. package/dist/deps/html-stream-server.d.ts +0 -2
  498. package/dist/deps/html-stream-server.d.ts.map +0 -1
  499. package/dist/deps/html-stream-server.js +0 -3
  500. package/dist/deps/html-stream-server.js.map +0 -1
  501. package/dist/deps/rsc.d.ts +0 -2
  502. package/dist/deps/rsc.d.ts.map +0 -1
  503. package/dist/deps/rsc.js +0 -4
  504. package/dist/deps/rsc.js.map +0 -1
  505. package/dist/deps/ssr.d.ts +0 -2
  506. package/dist/deps/ssr.d.ts.map +0 -1
  507. package/dist/deps/ssr.js +0 -3
  508. package/dist/deps/ssr.js.map +0 -1
  509. package/dist/errors.d.ts +0 -174
  510. package/dist/errors.d.ts.map +0 -1
  511. package/dist/errors.js +0 -241
  512. package/dist/errors.js.map +0 -1
  513. package/dist/handle.d.ts +0 -78
  514. package/dist/handle.d.ts.map +0 -1
  515. package/dist/handle.js +0 -82
  516. package/dist/handle.js.map +0 -1
  517. package/dist/handles/MetaTags.d.ts +0 -14
  518. package/dist/handles/MetaTags.d.ts.map +0 -1
  519. package/dist/handles/MetaTags.js +0 -136
  520. package/dist/handles/MetaTags.js.map +0 -1
  521. package/dist/handles/index.d.ts +0 -6
  522. package/dist/handles/index.d.ts.map +0 -1
  523. package/dist/handles/index.js +0 -6
  524. package/dist/handles/index.js.map +0 -1
  525. package/dist/handles/meta.d.ts +0 -39
  526. package/dist/handles/meta.d.ts.map +0 -1
  527. package/dist/handles/meta.js +0 -202
  528. package/dist/handles/meta.js.map +0 -1
  529. package/dist/host/__tests__/errors.test.d.ts +0 -2
  530. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  531. package/dist/host/__tests__/errors.test.js +0 -76
  532. package/dist/host/__tests__/errors.test.js.map +0 -1
  533. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  534. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  535. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  536. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  537. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  538. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  539. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  540. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  541. package/dist/host/__tests__/router.test.d.ts +0 -2
  542. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  543. package/dist/host/__tests__/router.test.js +0 -241
  544. package/dist/host/__tests__/router.test.js.map +0 -1
  545. package/dist/host/__tests__/testing.test.d.ts +0 -2
  546. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  547. package/dist/host/__tests__/testing.test.js +0 -64
  548. package/dist/host/__tests__/testing.test.js.map +0 -1
  549. package/dist/host/__tests__/utils.test.d.ts +0 -2
  550. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  551. package/dist/host/__tests__/utils.test.js +0 -29
  552. package/dist/host/__tests__/utils.test.js.map +0 -1
  553. package/dist/host/cookie-handler.d.ts +0 -34
  554. package/dist/host/cookie-handler.d.ts.map +0 -1
  555. package/dist/host/cookie-handler.js +0 -124
  556. package/dist/host/cookie-handler.js.map +0 -1
  557. package/dist/host/errors.d.ts +0 -56
  558. package/dist/host/errors.d.ts.map +0 -1
  559. package/dist/host/errors.js +0 -79
  560. package/dist/host/errors.js.map +0 -1
  561. package/dist/host/index.d.ts +0 -29
  562. package/dist/host/index.d.ts.map +0 -1
  563. package/dist/host/index.js +0 -32
  564. package/dist/host/index.js.map +0 -1
  565. package/dist/host/pattern-matcher.d.ts +0 -36
  566. package/dist/host/pattern-matcher.d.ts.map +0 -1
  567. package/dist/host/pattern-matcher.js +0 -172
  568. package/dist/host/pattern-matcher.js.map +0 -1
  569. package/dist/host/router.d.ts +0 -26
  570. package/dist/host/router.d.ts.map +0 -1
  571. package/dist/host/router.js +0 -218
  572. package/dist/host/router.js.map +0 -1
  573. package/dist/host/testing.d.ts +0 -36
  574. package/dist/host/testing.d.ts.map +0 -1
  575. package/dist/host/testing.js +0 -55
  576. package/dist/host/testing.js.map +0 -1
  577. package/dist/host/types.d.ts +0 -115
  578. package/dist/host/types.d.ts.map +0 -1
  579. package/dist/host/types.js +0 -7
  580. package/dist/host/types.js.map +0 -1
  581. package/dist/host/utils.d.ts +0 -21
  582. package/dist/host/utils.d.ts.map +0 -1
  583. package/dist/host/utils.js +0 -23
  584. package/dist/host/utils.js.map +0 -1
  585. package/dist/href-client.d.ts +0 -131
  586. package/dist/href-client.d.ts.map +0 -1
  587. package/dist/href-client.js +0 -64
  588. package/dist/href-client.js.map +0 -1
  589. package/dist/href-context.d.ts +0 -29
  590. package/dist/href-context.d.ts.map +0 -1
  591. package/dist/href-context.js +0 -21
  592. package/dist/href-context.js.map +0 -1
  593. package/dist/index.d.ts +0 -73
  594. package/dist/index.d.ts.map +0 -1
  595. package/dist/index.js +0 -91
  596. package/dist/index.js.map +0 -1
  597. package/dist/index.rsc.d.ts +0 -32
  598. package/dist/index.rsc.d.ts.map +0 -1
  599. package/dist/index.rsc.js +0 -40
  600. package/dist/index.rsc.js.map +0 -1
  601. package/dist/internal-debug.d.ts +0 -2
  602. package/dist/internal-debug.d.ts.map +0 -1
  603. package/dist/internal-debug.js +0 -5
  604. package/dist/internal-debug.js.map +0 -1
  605. package/dist/loader.d.ts +0 -14
  606. package/dist/loader.d.ts.map +0 -1
  607. package/dist/loader.js +0 -20
  608. package/dist/loader.js.map +0 -1
  609. package/dist/loader.rsc.d.ts +0 -19
  610. package/dist/loader.rsc.d.ts.map +0 -1
  611. package/dist/loader.rsc.js +0 -99
  612. package/dist/loader.rsc.js.map +0 -1
  613. package/dist/network-error-thrower.d.ts +0 -17
  614. package/dist/network-error-thrower.d.ts.map +0 -1
  615. package/dist/network-error-thrower.js +0 -14
  616. package/dist/network-error-thrower.js.map +0 -1
  617. package/dist/outlet-context.d.ts +0 -13
  618. package/dist/outlet-context.d.ts.map +0 -1
  619. package/dist/outlet-context.js +0 -3
  620. package/dist/outlet-context.js.map +0 -1
  621. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  622. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  623. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  624. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  625. package/dist/prerender/param-hash.d.ts +0 -16
  626. package/dist/prerender/param-hash.d.ts.map +0 -1
  627. package/dist/prerender/param-hash.js +0 -36
  628. package/dist/prerender/param-hash.js.map +0 -1
  629. package/dist/prerender/store.d.ts +0 -38
  630. package/dist/prerender/store.d.ts.map +0 -1
  631. package/dist/prerender/store.js +0 -61
  632. package/dist/prerender/store.js.map +0 -1
  633. package/dist/prerender.d.ts +0 -66
  634. package/dist/prerender.d.ts.map +0 -1
  635. package/dist/prerender.js +0 -57
  636. package/dist/prerender.js.map +0 -1
  637. package/dist/reverse.d.ts +0 -196
  638. package/dist/reverse.d.ts.map +0 -1
  639. package/dist/reverse.js +0 -78
  640. package/dist/reverse.js.map +0 -1
  641. package/dist/root-error-boundary.d.ts +0 -33
  642. package/dist/root-error-boundary.d.ts.map +0 -1
  643. package/dist/root-error-boundary.js +0 -165
  644. package/dist/root-error-boundary.js.map +0 -1
  645. package/dist/route-content-wrapper.d.ts +0 -46
  646. package/dist/route-content-wrapper.d.ts.map +0 -1
  647. package/dist/route-content-wrapper.js +0 -77
  648. package/dist/route-content-wrapper.js.map +0 -1
  649. package/dist/route-definition.d.ts +0 -421
  650. package/dist/route-definition.d.ts.map +0 -1
  651. package/dist/route-definition.js +0 -868
  652. package/dist/route-definition.js.map +0 -1
  653. package/dist/route-map-builder.d.ts +0 -155
  654. package/dist/route-map-builder.d.ts.map +0 -1
  655. package/dist/route-map-builder.js +0 -237
  656. package/dist/route-map-builder.js.map +0 -1
  657. package/dist/route-types.d.ts +0 -165
  658. package/dist/route-types.d.ts.map +0 -1
  659. package/dist/route-types.js +0 -7
  660. package/dist/route-types.js.map +0 -1
  661. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  662. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  663. package/dist/router/__tests__/handler-context.test.js +0 -65
  664. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  665. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  666. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  667. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  668. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  669. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  670. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  671. package/dist/router/__tests__/match-context.test.js +0 -92
  672. package/dist/router/__tests__/match-context.test.js.map +0 -1
  673. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  674. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  675. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  676. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  677. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  678. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  679. package/dist/router/__tests__/match-result.test.js +0 -457
  680. package/dist/router/__tests__/match-result.test.js.map +0 -1
  681. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  682. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  683. package/dist/router/__tests__/on-error.test.js +0 -678
  684. package/dist/router/__tests__/on-error.test.js.map +0 -1
  685. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  686. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  687. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  688. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  689. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  690. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  691. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  692. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  693. package/dist/router/error-handling.d.ts +0 -77
  694. package/dist/router/error-handling.d.ts.map +0 -1
  695. package/dist/router/error-handling.js +0 -202
  696. package/dist/router/error-handling.js.map +0 -1
  697. package/dist/router/handler-context.d.ts +0 -20
  698. package/dist/router/handler-context.d.ts.map +0 -1
  699. package/dist/router/handler-context.js +0 -198
  700. package/dist/router/handler-context.js.map +0 -1
  701. package/dist/router/intercept-resolution.d.ts +0 -66
  702. package/dist/router/intercept-resolution.d.ts.map +0 -1
  703. package/dist/router/intercept-resolution.js +0 -246
  704. package/dist/router/intercept-resolution.js.map +0 -1
  705. package/dist/router/loader-resolution.d.ts +0 -64
  706. package/dist/router/loader-resolution.d.ts.map +0 -1
  707. package/dist/router/loader-resolution.js +0 -284
  708. package/dist/router/loader-resolution.js.map +0 -1
  709. package/dist/router/logging.d.ts +0 -15
  710. package/dist/router/logging.d.ts.map +0 -1
  711. package/dist/router/logging.js +0 -99
  712. package/dist/router/logging.js.map +0 -1
  713. package/dist/router/manifest.d.ts +0 -22
  714. package/dist/router/manifest.d.ts.map +0 -1
  715. package/dist/router/manifest.js +0 -181
  716. package/dist/router/manifest.js.map +0 -1
  717. package/dist/router/match-api.d.ts +0 -35
  718. package/dist/router/match-api.d.ts.map +0 -1
  719. package/dist/router/match-api.js +0 -406
  720. package/dist/router/match-api.js.map +0 -1
  721. package/dist/router/match-context.d.ts +0 -206
  722. package/dist/router/match-context.d.ts.map +0 -1
  723. package/dist/router/match-context.js +0 -17
  724. package/dist/router/match-context.js.map +0 -1
  725. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  726. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  727. package/dist/router/match-middleware/background-revalidation.js +0 -75
  728. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  729. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  730. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  731. package/dist/router/match-middleware/cache-lookup.js +0 -257
  732. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  733. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  734. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  735. package/dist/router/match-middleware/cache-store.js +0 -108
  736. package/dist/router/match-middleware/cache-store.js.map +0 -1
  737. package/dist/router/match-middleware/index.d.ts +0 -81
  738. package/dist/router/match-middleware/index.d.ts.map +0 -1
  739. package/dist/router/match-middleware/index.js +0 -80
  740. package/dist/router/match-middleware/index.js.map +0 -1
  741. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  742. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  743. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  744. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  745. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  746. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  747. package/dist/router/match-middleware/segment-resolution.js +0 -53
  748. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  749. package/dist/router/match-pipelines.d.ts +0 -147
  750. package/dist/router/match-pipelines.d.ts.map +0 -1
  751. package/dist/router/match-pipelines.js +0 -82
  752. package/dist/router/match-pipelines.js.map +0 -1
  753. package/dist/router/match-result.d.ts +0 -126
  754. package/dist/router/match-result.d.ts.map +0 -1
  755. package/dist/router/match-result.js +0 -93
  756. package/dist/router/match-result.js.map +0 -1
  757. package/dist/router/metrics.d.ts +0 -20
  758. package/dist/router/metrics.d.ts.map +0 -1
  759. package/dist/router/metrics.js +0 -47
  760. package/dist/router/metrics.js.map +0 -1
  761. package/dist/router/middleware.d.ts +0 -249
  762. package/dist/router/middleware.d.ts.map +0 -1
  763. package/dist/router/middleware.js +0 -434
  764. package/dist/router/middleware.js.map +0 -1
  765. package/dist/router/middleware.test.d.ts +0 -2
  766. package/dist/router/middleware.test.d.ts.map +0 -1
  767. package/dist/router/middleware.test.js +0 -816
  768. package/dist/router/middleware.test.js.map +0 -1
  769. package/dist/router/pattern-matching.d.ts +0 -149
  770. package/dist/router/pattern-matching.d.ts.map +0 -1
  771. package/dist/router/pattern-matching.js +0 -349
  772. package/dist/router/pattern-matching.js.map +0 -1
  773. package/dist/router/revalidation.d.ts +0 -44
  774. package/dist/router/revalidation.d.ts.map +0 -1
  775. package/dist/router/revalidation.js +0 -147
  776. package/dist/router/revalidation.js.map +0 -1
  777. package/dist/router/router-context.d.ts +0 -135
  778. package/dist/router/router-context.d.ts.map +0 -1
  779. package/dist/router/router-context.js +0 -36
  780. package/dist/router/router-context.js.map +0 -1
  781. package/dist/router/segment-resolution.d.ts +0 -127
  782. package/dist/router/segment-resolution.d.ts.map +0 -1
  783. package/dist/router/segment-resolution.js +0 -919
  784. package/dist/router/segment-resolution.js.map +0 -1
  785. package/dist/router/trie-matching.d.ts +0 -40
  786. package/dist/router/trie-matching.d.ts.map +0 -1
  787. package/dist/router/trie-matching.js +0 -127
  788. package/dist/router/trie-matching.js.map +0 -1
  789. package/dist/router/types.d.ts +0 -136
  790. package/dist/router/types.d.ts.map +0 -1
  791. package/dist/router/types.js +0 -7
  792. package/dist/router/types.js.map +0 -1
  793. package/dist/router.d.ts +0 -753
  794. package/dist/router.d.ts.map +0 -1
  795. package/dist/router.gen.d.ts +0 -6
  796. package/dist/router.gen.d.ts.map +0 -1
  797. package/dist/router.gen.js +0 -6
  798. package/dist/router.gen.js.map +0 -1
  799. package/dist/router.js +0 -1304
  800. package/dist/router.js.map +0 -1
  801. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  802. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  803. package/dist/rsc/__tests__/helpers.test.js +0 -140
  804. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  805. package/dist/rsc/handler.d.ts +0 -45
  806. package/dist/rsc/handler.d.ts.map +0 -1
  807. package/dist/rsc/handler.js +0 -1172
  808. package/dist/rsc/handler.js.map +0 -1
  809. package/dist/rsc/helpers.d.ts +0 -16
  810. package/dist/rsc/helpers.d.ts.map +0 -1
  811. package/dist/rsc/helpers.js +0 -55
  812. package/dist/rsc/helpers.js.map +0 -1
  813. package/dist/rsc/index.d.ts +0 -22
  814. package/dist/rsc/index.d.ts.map +0 -1
  815. package/dist/rsc/index.js +0 -23
  816. package/dist/rsc/index.js.map +0 -1
  817. package/dist/rsc/nonce.d.ts +0 -9
  818. package/dist/rsc/nonce.d.ts.map +0 -1
  819. package/dist/rsc/nonce.js +0 -18
  820. package/dist/rsc/nonce.js.map +0 -1
  821. package/dist/rsc/types.d.ts +0 -206
  822. package/dist/rsc/types.d.ts.map +0 -1
  823. package/dist/rsc/types.js +0 -8
  824. package/dist/rsc/types.js.map +0 -1
  825. package/dist/search-params.d.ts +0 -103
  826. package/dist/search-params.d.ts.map +0 -1
  827. package/dist/search-params.js +0 -74
  828. package/dist/search-params.js.map +0 -1
  829. package/dist/segment-system.d.ts +0 -75
  830. package/dist/segment-system.d.ts.map +0 -1
  831. package/dist/segment-system.js +0 -336
  832. package/dist/segment-system.js.map +0 -1
  833. package/dist/server/context.d.ts +0 -245
  834. package/dist/server/context.d.ts.map +0 -1
  835. package/dist/server/context.js +0 -197
  836. package/dist/server/context.js.map +0 -1
  837. package/dist/server/fetchable-loader-store.d.ts +0 -18
  838. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  839. package/dist/server/fetchable-loader-store.js +0 -18
  840. package/dist/server/fetchable-loader-store.js.map +0 -1
  841. package/dist/server/handle-store.d.ts +0 -85
  842. package/dist/server/handle-store.d.ts.map +0 -1
  843. package/dist/server/handle-store.js +0 -142
  844. package/dist/server/handle-store.js.map +0 -1
  845. package/dist/server/loader-registry.d.ts +0 -55
  846. package/dist/server/loader-registry.d.ts.map +0 -1
  847. package/dist/server/loader-registry.js +0 -132
  848. package/dist/server/loader-registry.js.map +0 -1
  849. package/dist/server/request-context.d.ts +0 -226
  850. package/dist/server/request-context.d.ts.map +0 -1
  851. package/dist/server/request-context.js +0 -290
  852. package/dist/server/request-context.js.map +0 -1
  853. package/dist/server/root-layout.d.ts +0 -4
  854. package/dist/server/root-layout.d.ts.map +0 -1
  855. package/dist/server/root-layout.js +0 -5
  856. package/dist/server/root-layout.js.map +0 -1
  857. package/dist/server.d.ts +0 -15
  858. package/dist/server.d.ts.map +0 -1
  859. package/dist/server.js +0 -20
  860. package/dist/server.js.map +0 -1
  861. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  862. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  863. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  864. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  865. package/dist/ssr/index.d.ts +0 -98
  866. package/dist/ssr/index.d.ts.map +0 -1
  867. package/dist/ssr/index.js +0 -158
  868. package/dist/ssr/index.js.map +0 -1
  869. package/dist/static-handler.d.ts +0 -50
  870. package/dist/static-handler.d.ts.map +0 -1
  871. package/dist/static-handler.gen.d.ts +0 -5
  872. package/dist/static-handler.gen.d.ts.map +0 -1
  873. package/dist/static-handler.gen.js +0 -5
  874. package/dist/static-handler.gen.js.map +0 -1
  875. package/dist/static-handler.js +0 -29
  876. package/dist/static-handler.js.map +0 -1
  877. package/dist/theme/ThemeProvider.d.ts +0 -20
  878. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  879. package/dist/theme/ThemeProvider.js +0 -240
  880. package/dist/theme/ThemeProvider.js.map +0 -1
  881. package/dist/theme/ThemeScript.d.ts +0 -48
  882. package/dist/theme/ThemeScript.d.ts.map +0 -1
  883. package/dist/theme/ThemeScript.js +0 -13
  884. package/dist/theme/ThemeScript.js.map +0 -1
  885. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  886. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  887. package/dist/theme/__tests__/theme.test.js +0 -103
  888. package/dist/theme/__tests__/theme.test.js.map +0 -1
  889. package/dist/theme/constants.d.ts +0 -29
  890. package/dist/theme/constants.d.ts.map +0 -1
  891. package/dist/theme/constants.js +0 -48
  892. package/dist/theme/constants.js.map +0 -1
  893. package/dist/theme/index.d.ts +0 -31
  894. package/dist/theme/index.d.ts.map +0 -1
  895. package/dist/theme/index.js +0 -36
  896. package/dist/theme/index.js.map +0 -1
  897. package/dist/theme/theme-context.d.ts +0 -40
  898. package/dist/theme/theme-context.d.ts.map +0 -1
  899. package/dist/theme/theme-context.js +0 -60
  900. package/dist/theme/theme-context.js.map +0 -1
  901. package/dist/theme/theme-script.d.ts +0 -27
  902. package/dist/theme/theme-script.d.ts.map +0 -1
  903. package/dist/theme/theme-script.js +0 -147
  904. package/dist/theme/theme-script.js.map +0 -1
  905. package/dist/theme/types.d.ts +0 -163
  906. package/dist/theme/types.d.ts.map +0 -1
  907. package/dist/theme/types.js +0 -11
  908. package/dist/theme/types.js.map +0 -1
  909. package/dist/theme/use-theme.d.ts +0 -12
  910. package/dist/theme/use-theme.d.ts.map +0 -1
  911. package/dist/theme/use-theme.js +0 -40
  912. package/dist/theme/use-theme.js.map +0 -1
  913. package/dist/types.d.ts +0 -1479
  914. package/dist/types.d.ts.map +0 -1
  915. package/dist/types.js +0 -10
  916. package/dist/types.js.map +0 -1
  917. package/dist/urls.d.ts +0 -441
  918. package/dist/urls.d.ts.map +0 -1
  919. package/dist/urls.gen.d.ts +0 -8
  920. package/dist/urls.gen.d.ts.map +0 -1
  921. package/dist/urls.gen.js +0 -8
  922. package/dist/urls.gen.js.map +0 -1
  923. package/dist/urls.js +0 -443
  924. package/dist/urls.js.map +0 -1
  925. package/dist/use-loader.d.ts +0 -127
  926. package/dist/use-loader.d.ts.map +0 -1
  927. package/dist/use-loader.js +0 -237
  928. package/dist/use-loader.js.map +0 -1
  929. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  930. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  931. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  932. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  933. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  934. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  935. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  936. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  937. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  938. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  939. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  940. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  941. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  942. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  943. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  944. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  945. package/dist/vite/ast-handler-extract.d.ts +0 -49
  946. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  947. package/dist/vite/ast-handler-extract.js +0 -249
  948. package/dist/vite/ast-handler-extract.js.map +0 -1
  949. package/dist/vite/expose-action-id.d.ts +0 -19
  950. package/dist/vite/expose-action-id.d.ts.map +0 -1
  951. package/dist/vite/expose-action-id.js +0 -250
  952. package/dist/vite/expose-action-id.js.map +0 -1
  953. package/dist/vite/expose-id-utils.d.ts +0 -69
  954. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  955. package/dist/vite/expose-id-utils.js +0 -289
  956. package/dist/vite/expose-id-utils.js.map +0 -1
  957. package/dist/vite/expose-internal-ids.d.ts +0 -22
  958. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  959. package/dist/vite/expose-internal-ids.js +0 -886
  960. package/dist/vite/expose-internal-ids.js.map +0 -1
  961. package/dist/vite/index.d.ts +0 -149
  962. package/dist/vite/index.d.ts.map +0 -1
  963. package/dist/vite/index.js.map +0 -1
  964. package/dist/vite/index.named-routes.gen.ts +0 -103
  965. package/dist/vite/package-resolution.d.ts +0 -43
  966. package/dist/vite/package-resolution.d.ts.map +0 -1
  967. package/dist/vite/package-resolution.js +0 -112
  968. package/dist/vite/package-resolution.js.map +0 -1
  969. package/dist/vite/virtual-entries.d.ts +0 -25
  970. package/dist/vite/virtual-entries.d.ts.map +0 -1
  971. package/dist/vite/virtual-entries.js +0 -110
  972. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,625 +0,0 @@
1
- /**
2
- * Default action state (idle with no payload)
3
- */
4
- const DEFAULT_ACTION_STATE = {
5
- state: "idle",
6
- actionId: null,
7
- payload: null,
8
- error: null,
9
- result: null,
10
- };
11
- // Maximum number of history entries to cache (URLs visited)
12
- const HISTORY_CACHE_SIZE = 20;
13
- /**
14
- * Shallow clone handleData to avoid reference sharing between cache entries.
15
- * Only clones the structure (objects and arrays), not the data items themselves,
16
- * since mutations happen at the array level, not on individual data objects.
17
- * This preserves any non-serializable types (React elements, functions, etc.)
18
- */
19
- function cloneHandleData(handleData) {
20
- const cloned = {};
21
- for (const [handleKey, segmentMap] of Object.entries(handleData)) {
22
- cloned[handleKey] = {};
23
- for (const [segmentId, dataArray] of Object.entries(segmentMap)) {
24
- cloned[handleKey][segmentId] = [...dataArray];
25
- }
26
- }
27
- return cloned;
28
- }
29
- // BroadcastChannel for cross-tab cache invalidation
30
- const CACHE_INVALIDATION_CHANNEL = "rsc-router-cache-invalidation";
31
- // BroadcastChannel instance (lazily initialized)
32
- let cacheInvalidationChannel = null;
33
- /**
34
- * Get or create the BroadcastChannel for cache invalidation
35
- */
36
- function getCacheInvalidationChannel() {
37
- if (typeof window === "undefined" ||
38
- typeof BroadcastChannel === "undefined") {
39
- return null;
40
- }
41
- if (!cacheInvalidationChannel) {
42
- cacheInvalidationChannel = new BroadcastChannel(CACHE_INVALIDATION_CHANNEL);
43
- }
44
- return cacheInvalidationChannel;
45
- }
46
- /**
47
- * Generate a cache key from a URL.
48
- * Uses pathname + search (query params) directly as the key.
49
- * Hash fragments (#) are excluded since they don't affect server data.
50
- *
51
- * For intercept routes, append `:intercept` suffix to cache them separately
52
- * from non-intercept versions of the same URL.
53
- */
54
- export function generateHistoryKey(url, options) {
55
- if (!url) {
56
- url = typeof window !== "undefined" ? window.location.href : "/";
57
- }
58
- // Parse URL and use only pathname + search (exclude hash fragment)
59
- const parsed = new URL(url, "http://localhost");
60
- let key = parsed.pathname + parsed.search;
61
- // Append intercept suffix for separate caching
62
- if (options?.intercept) {
63
- key += ":intercept";
64
- }
65
- return key;
66
- }
67
- /**
68
- * Create a URL instance from window.location or custom values
69
- */
70
- function createLocation(loc) {
71
- return new URL(loc.href);
72
- }
73
- /**
74
- * Create a navigation store for managing browser-side navigation state
75
- *
76
- * The store manages two types of state:
77
- * - NavigationState: Public state exposed via useNavigation hook
78
- * - SegmentState: Internal segment management for partial RSC updates
79
- *
80
- * @param config - Initial configuration
81
- * @returns NavigationStore instance
82
- *
83
- * @example
84
- * ```typescript
85
- * const store = createNavigationStore({
86
- * initialLocation: window.location,
87
- * initialSegmentIds: [],
88
- * });
89
- *
90
- * // Subscribe to state changes (for useNavigation hook)
91
- * const unsubscribe = store.subscribe(() => {
92
- * const state = store.getState();
93
- * console.log('Navigation state:', state);
94
- * });
95
- *
96
- * // Update state
97
- * store.setState({ state: 'loading' });
98
- *
99
- * // Subscribe to UI updates (for re-rendering)
100
- * store.onUpdate((update) => {
101
- * console.log('New root:', update.root);
102
- * });
103
- * ```
104
- */
105
- export function createNavigationStore(config) {
106
- // Default location from window or config
107
- const defaultLocation = typeof window !== "undefined"
108
- ? createLocation(window.location)
109
- : new URL("/", "http://localhost");
110
- // Public navigation state (for useNavigation hook)
111
- // isStreaming starts false to match SSR and avoid hydration mismatch
112
- // After hydration, entry.browser.tsx sets it to true if stream is still open
113
- let navState = {
114
- state: "idle",
115
- isStreaming: false,
116
- location: config?.initialLocation
117
- ? createLocation(config.initialLocation)
118
- : defaultLocation,
119
- pendingUrl: null,
120
- inflightActions: [],
121
- };
122
- // Resolve the initial location for segment state
123
- const initialLoc = config?.initialLocation
124
- ? createLocation(config.initialLocation)
125
- : defaultLocation;
126
- // Internal segment state (for partial updates)
127
- const segmentState = {
128
- path: initialLoc.pathname,
129
- currentUrl: initialLoc.href,
130
- currentSegmentIds: config?.initialSegmentIds ?? [],
131
- };
132
- // Configuration with defaults
133
- const cacheSize = config?.cacheSize ?? HISTORY_CACHE_SIZE;
134
- const crossTabSync = config?.crossTabSync !== false; // Default: true
135
- const crossTabAutoRefresh = config?.crossTabAutoRefresh !== false; // Default: true
136
- // Cross-tab refresh callback (set by navigation bridge)
137
- let crossTabRefreshCallback = config?.onCrossTabRefresh ?? null;
138
- // Track pending cross-tab refresh to prevent duplicate refreshes
139
- let pendingCrossTabRefresh = false;
140
- // History-based segment cache: array of [url-key, segments] tuples
141
- // Each URL gets its own complete snapshot of segments for back/forward and partial merging
142
- // Oldest entries (at front) are removed when over cacheSize limit
143
- const historyCache = [];
144
- // Current history key (set on navigation, stored in history.state)
145
- let currentHistoryKey = config?.initialHistoryKey || generateHistoryKey();
146
- // Store initial segments if provided (not stale)
147
- if (config?.initialHistoryKey && config?.initialSegments) {
148
- historyCache.push([
149
- config.initialHistoryKey,
150
- config.initialSegments,
151
- false,
152
- ]);
153
- }
154
- // State change listeners (for useNavigation subscriptions)
155
- const stateListeners = new Set();
156
- // UI update subscribers (for re-rendering)
157
- const updateSubscribers = new Set();
158
- // Internal flag to track if a server action is in progress
159
- let actionInProgress = false;
160
- // Intercept source URL - tracks where the intercept was triggered from
161
- // Used to maintain intercept context during action revalidation
162
- let interceptSourceUrl = null;
163
- // Action state tracking (for useAction hook)
164
- // Maps action function ID to its tracked state
165
- const actionStates = new Map();
166
- // Action state listeners (per action ID)
167
- // Maps action function ID to set of listeners
168
- const actionListeners = new Map();
169
- /**
170
- * Create a debounced function that batches rapid calls
171
- */
172
- function createDebouncedNotifier(fn, ms = 20) {
173
- let timeout = null;
174
- return ((...args) => {
175
- if (timeout !== null)
176
- clearTimeout(timeout);
177
- timeout = setTimeout(() => {
178
- timeout = null;
179
- fn(...args);
180
- }, ms);
181
- });
182
- }
183
- /**
184
- * Create a keyed debounced function (separate timers per key)
185
- */
186
- function createKeyedDebouncedNotifier(fn, ms = 20) {
187
- const timeouts = new Map();
188
- return ((key, ...args) => {
189
- const existing = timeouts.get(key);
190
- if (existing !== undefined)
191
- clearTimeout(existing);
192
- timeouts.set(key, setTimeout(() => {
193
- timeouts.delete(key);
194
- fn(key, ...args);
195
- }, ms));
196
- });
197
- }
198
- const notifyStateListeners = createDebouncedNotifier(() => {
199
- stateListeners.forEach((listener) => listener());
200
- });
201
- const notifyActionListeners = createKeyedDebouncedNotifier((actionId, state) => {
202
- const listeners = actionListeners.get(actionId);
203
- if (listeners) {
204
- listeners.forEach((listener) => listener(state));
205
- }
206
- });
207
- /**
208
- * Clear the history cache (internal - does not broadcast)
209
- */
210
- function clearCacheInternal() {
211
- historyCache.length = 0;
212
- }
213
- /**
214
- * Mark all cache entries as stale (internal - does not broadcast)
215
- */
216
- function markCacheAsStaleInternal() {
217
- for (let i = 0; i < historyCache.length; i++) {
218
- historyCache[i][2] = true;
219
- }
220
- }
221
- /**
222
- * Clear the history cache and broadcast to other tabs
223
- */
224
- function clearCacheAndBroadcast() {
225
- console.log("[Browser] Clearing cache and broadcasting to other tabs");
226
- clearCacheInternal();
227
- broadcastInvalidation();
228
- }
229
- /**
230
- * Mark cache as stale and broadcast to other tabs
231
- */
232
- function markStaleAndBroadcast() {
233
- console.log("[Browser] Marking cache as stale and broadcasting to other tabs");
234
- markCacheAsStaleInternal();
235
- broadcastInvalidation();
236
- }
237
- /**
238
- * Broadcast cache invalidation to other tabs without clearing local cache
239
- * Used after consolidation fetch where local cache has fresh data
240
- */
241
- function broadcastInvalidation() {
242
- // Only broadcast if cross-tab sync is enabled
243
- if (!crossTabSync)
244
- return;
245
- const channel = getCacheInvalidationChannel();
246
- if (channel) {
247
- // Broadcast path and segment IDs - receiver checks for shared segments
248
- const currentPath = window.location.pathname;
249
- const currentSegmentIds = segmentState.currentSegmentIds;
250
- channel.postMessage({
251
- type: "invalidate",
252
- path: currentPath,
253
- segmentIds: currentSegmentIds,
254
- });
255
- console.log("[Browser] Broadcast sent for path:", currentPath, "segments:", currentSegmentIds.join(", "));
256
- }
257
- else {
258
- console.warn("[Browser] No BroadcastChannel available");
259
- }
260
- }
261
- // Set up cross-tab cache invalidation listener (only if enabled)
262
- if (crossTabSync) {
263
- const channel = getCacheInvalidationChannel();
264
- if (channel) {
265
- channel.onmessage = (event) => {
266
- if (event.data?.type === "invalidate") {
267
- const mutatedPath = event.data.path;
268
- const mutatedSegmentIds = event.data.segmentIds ?? [];
269
- const currentSegmentIds = segmentState.currentSegmentIds;
270
- // Check for shared segments between tabs
271
- // Routes sharing any segment (layout, loader, etc.) should invalidate together
272
- const hasSharedSegment = mutatedSegmentIds.some((id) => currentSegmentIds.includes(id));
273
- if (!hasSharedSegment) {
274
- // No shared segments - routes are unrelated, ignore invalidation
275
- return;
276
- }
277
- console.log("[Browser] Cache marked stale by another tab, shared segments:", mutatedSegmentIds
278
- .filter((id) => currentSegmentIds.includes(id))
279
- .join(", "));
280
- markCacheAsStaleInternal();
281
- // Auto-refresh if enabled and callback is registered
282
- if (crossTabAutoRefresh && crossTabRefreshCallback) {
283
- // If idle, refresh immediately. If loading, wait for idle then refresh.
284
- if (navState.state === "idle") {
285
- console.log("[Browser] Cross-tab refresh triggered (idle)");
286
- crossTabRefreshCallback();
287
- }
288
- else if (!pendingCrossTabRefresh) {
289
- // Only queue one refresh, ignore subsequent events while loading
290
- pendingCrossTabRefresh = true;
291
- console.log("[Browser] Navigation in progress, deferring cross-tab refresh");
292
- // Subscribe to state changes, refresh when idle
293
- const listener = () => {
294
- if (navState.state === "idle") {
295
- stateListeners.delete(listener);
296
- pendingCrossTabRefresh = false;
297
- console.log("[Browser] Cross-tab refresh triggered (deferred)");
298
- crossTabRefreshCallback?.();
299
- }
300
- };
301
- stateListeners.add(listener);
302
- }
303
- }
304
- }
305
- };
306
- }
307
- }
308
- return {
309
- // ========================================================================
310
- // Public State (for useNavigation hook)
311
- // ========================================================================
312
- /**
313
- * Get current navigation state
314
- */
315
- getState() {
316
- return navState;
317
- },
318
- /**
319
- * Update navigation state and notify listeners
320
- */
321
- setState(partial) {
322
- navState = { ...navState, ...partial };
323
- notifyStateListeners();
324
- },
325
- /**
326
- * Subscribe to state changes
327
- * Returns unsubscribe function
328
- */
329
- subscribe(listener) {
330
- stateListeners.add(listener);
331
- return () => {
332
- stateListeners.delete(listener);
333
- };
334
- },
335
- // ========================================================================
336
- // Inflight Action Management
337
- // ========================================================================
338
- /**
339
- * Add an inflight action to the list
340
- */
341
- addInflightAction(action) {
342
- navState = {
343
- ...navState,
344
- inflightActions: [...navState.inflightActions, action],
345
- };
346
- notifyStateListeners();
347
- },
348
- /**
349
- * Remove an inflight action by ID
350
- */
351
- removeInflightAction(id) {
352
- navState = {
353
- ...navState,
354
- inflightActions: navState.inflightActions.filter((a) => a.id !== id),
355
- };
356
- notifyStateListeners();
357
- },
358
- // ========================================================================
359
- // Action State (for controlling update behavior during server actions)
360
- // ========================================================================
361
- /**
362
- * Check if a server action is currently in progress
363
- */
364
- isActionInProgress() {
365
- return actionInProgress;
366
- },
367
- /**
368
- * Set the action in progress flag
369
- */
370
- setActionInProgress(value) {
371
- actionInProgress = value;
372
- },
373
- // ========================================================================
374
- // Internal Segment State (for bridges)
375
- // ========================================================================
376
- /**
377
- * Get internal segment state
378
- */
379
- getSegmentState() {
380
- return segmentState;
381
- },
382
- /**
383
- * Set current path
384
- */
385
- setPath(path) {
386
- segmentState.path = path;
387
- },
388
- /**
389
- * Set current URL
390
- */
391
- setCurrentUrl(url) {
392
- segmentState.currentUrl = url;
393
- },
394
- /**
395
- * Set current segment IDs
396
- */
397
- setSegmentIds(ids) {
398
- segmentState.currentSegmentIds = ids;
399
- },
400
- // ========================================================================
401
- // History-based Segment Cache (for back/forward navigation and partial merging)
402
- // ========================================================================
403
- /**
404
- * Get the current history key
405
- */
406
- getHistoryKey() {
407
- return currentHistoryKey;
408
- },
409
- /**
410
- * Set the current history key (called when navigating to a new entry)
411
- */
412
- setHistoryKey(key) {
413
- currentHistoryKey = key;
414
- },
415
- /**
416
- * Store segments for a history entry
417
- * Updates existing entry if key exists, otherwise adds new entry
418
- * Removes oldest entries (from front) when over configured cacheSize
419
- * Fresh data is always stored as not stale (stale=false)
420
- */
421
- cacheSegmentsForHistory(historyKey, segments, handleData) {
422
- // Shallow clone handleData arrays to avoid reference sharing between cache entries
423
- // We only clone the structure (objects and arrays), not the data items themselves,
424
- // since mutations happen at the array level, not on individual data objects
425
- const clonedHandleData = handleData
426
- ? cloneHandleData(handleData)
427
- : undefined;
428
- // Check if entry already exists and update it
429
- const existingIndex = historyCache.findIndex(([key]) => key === historyKey);
430
- if (existingIndex !== -1) {
431
- historyCache[existingIndex] = [historyKey, segments, false, clonedHandleData];
432
- }
433
- else {
434
- // Add new entry at the end (not stale)
435
- historyCache.push([historyKey, segments, false, clonedHandleData]);
436
- // Remove oldest entries if over limit
437
- while (historyCache.length > cacheSize) {
438
- historyCache.shift();
439
- }
440
- }
441
- },
442
- /**
443
- * Get cached segments for a history entry
444
- * Returns { segments, stale, handleData } or undefined if not cached
445
- */
446
- getCachedSegments(historyKey) {
447
- const entry = historyCache.find(([key]) => key === historyKey);
448
- if (!entry)
449
- return undefined;
450
- return { segments: entry[1], stale: entry[2], handleData: entry[3] };
451
- },
452
- /**
453
- * Check if segments are cached for a history entry
454
- */
455
- hasHistoryCache(historyKey) {
456
- return historyCache.some(([key]) => key === historyKey);
457
- },
458
- /**
459
- * Update only the handleData for an existing cache entry
460
- * Does nothing if the cache entry doesn't exist
461
- * This is used to fix stale handleData after async handles processing
462
- */
463
- updateCacheHandleData(historyKey, handleData) {
464
- const existingIndex = historyCache.findIndex(([key]) => key === historyKey);
465
- if (existingIndex !== -1) {
466
- const entry = historyCache[existingIndex];
467
- // Shallow clone handleData arrays to avoid reference sharing
468
- const clonedHandleData = cloneHandleData(handleData);
469
- historyCache[existingIndex] = [entry[0], entry[1], entry[2], clonedHandleData];
470
- }
471
- },
472
- /**
473
- * Mark all cache entries as stale
474
- * Called after server actions to indicate data may be outdated
475
- */
476
- markCacheAsStale() {
477
- for (let i = 0; i < historyCache.length; i++) {
478
- historyCache[i][2] = true;
479
- }
480
- console.log("[Browser] Marked", historyCache.length, "cache entries as stale");
481
- },
482
- /**
483
- * Clear the history cache and broadcast to other tabs
484
- * Use this for hard invalidation when data is definitely stale
485
- */
486
- clearHistoryCache() {
487
- clearCacheAndBroadcast();
488
- },
489
- /**
490
- * Mark cache as stale and broadcast to other tabs
491
- * Called after server actions - allows SWR pattern for popstate
492
- */
493
- markCacheAsStaleAndBroadcast() {
494
- markStaleAndBroadcast();
495
- },
496
- /**
497
- * Broadcast cache invalidation to other tabs without clearing local cache
498
- * Used after consolidation fetch where local cache has fresh data
499
- */
500
- broadcastCacheInvalidation() {
501
- broadcastInvalidation();
502
- },
503
- /**
504
- * Set the callback to invoke when cross-tab refresh is triggered
505
- * Called by navigation bridge during initialization
506
- */
507
- setCrossTabRefreshCallback(callback) {
508
- crossTabRefreshCallback = callback;
509
- },
510
- // ========================================================================
511
- // Intercept Context Tracking
512
- // ========================================================================
513
- /**
514
- * Get the intercept source URL
515
- * This is the URL where the intercept was triggered from (e.g., /shop)
516
- * Used to maintain intercept context during action revalidation
517
- */
518
- getInterceptSourceUrl() {
519
- return interceptSourceUrl;
520
- },
521
- /**
522
- * Set the intercept source URL
523
- * Called when an intercept navigation is detected
524
- * Set to null when leaving intercept context (e.g., closing modal)
525
- */
526
- setInterceptSourceUrl(url) {
527
- interceptSourceUrl = url;
528
- },
529
- // ========================================================================
530
- // UI Update Notifications
531
- // ========================================================================
532
- /**
533
- * Subscribe to UI updates (when root needs to re-render)
534
- */
535
- onUpdate(callback) {
536
- updateSubscribers.add(callback);
537
- return () => {
538
- updateSubscribers.delete(callback);
539
- };
540
- },
541
- /**
542
- * Emit a UI update to all subscribers
543
- */
544
- emitUpdate(update) {
545
- updateSubscribers.forEach((callback) => {
546
- callback(update);
547
- });
548
- },
549
- // ========================================================================
550
- // Action State Tracking (for useAction hook)
551
- // ========================================================================
552
- /**
553
- * Get the current state for a tracked action
554
- * Returns default idle state if action hasn't been tracked
555
- */
556
- getActionState(actionId) {
557
- return actionStates.get(actionId) ?? { ...DEFAULT_ACTION_STATE };
558
- },
559
- /**
560
- * Update the state for a tracked action
561
- * Merges partial state with existing state and notifies listeners
562
- */
563
- setActionState(actionId, partial) {
564
- const current = actionStates.get(actionId) ?? { ...DEFAULT_ACTION_STATE };
565
- const updated = {
566
- ...current,
567
- ...partial,
568
- actionId, // Always set the actionId
569
- };
570
- actionStates.set(actionId, updated);
571
- notifyActionListeners(actionId, updated);
572
- },
573
- /**
574
- * Subscribe to state changes for a specific action
575
- * Returns unsubscribe function
576
- */
577
- subscribeToAction(actionId, listener) {
578
- let listeners = actionListeners.get(actionId);
579
- if (!listeners) {
580
- listeners = new Set();
581
- actionListeners.set(actionId, listeners);
582
- }
583
- listeners.add(listener);
584
- return () => {
585
- listeners.delete(listener);
586
- // Clean up empty listener sets
587
- if (listeners.size === 0) {
588
- actionListeners.delete(actionId);
589
- }
590
- };
591
- },
592
- };
593
- }
594
- // Singleton store instance
595
- let storeInstance = null;
596
- /**
597
- * Initialize the global navigation store
598
- *
599
- * Should be called once during app initialization.
600
- * Subsequent calls return the existing instance.
601
- */
602
- export function initNavigationStore(config) {
603
- if (!storeInstance) {
604
- storeInstance = createNavigationStore(config);
605
- }
606
- return storeInstance;
607
- }
608
- /**
609
- * Get the global navigation store
610
- *
611
- * Throws if store hasn't been initialized.
612
- */
613
- export function getNavigationStore() {
614
- if (!storeInstance) {
615
- throw new Error("Navigation store not initialized. Call initNavigationStore first.");
616
- }
617
- return storeInstance;
618
- }
619
- /**
620
- * Reset the store instance (for testing)
621
- */
622
- export function resetNavigationStore() {
623
- storeInstance = null;
624
- }
625
- //# sourceMappingURL=navigation-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-store.js","sourceRoot":"","sources":["../../src/browser/navigation-store.ts"],"names":[],"mappings":"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"}