@rangojs/router 0.0.0-experimental.42 → 0.0.0-experimental.44

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 (835) hide show
  1. package/dist/bin/rango.js +8 -3
  2. package/dist/vite/index.js +136 -197
  3. package/package.json +1 -1
  4. package/skills/caching/SKILL.md +37 -4
  5. package/src/browser/event-controller.ts +5 -0
  6. package/src/browser/navigation-bridge.ts +1 -11
  7. package/src/browser/navigation-client.ts +70 -24
  8. package/src/browser/navigation-transaction.ts +11 -9
  9. package/src/browser/partial-update.ts +39 -9
  10. package/src/browser/prefetch/cache.ts +54 -2
  11. package/src/browser/prefetch/fetch.ts +22 -12
  12. package/src/browser/prefetch/queue.ts +53 -13
  13. package/src/browser/react/Link.tsx +9 -1
  14. package/src/browser/react/NavigationProvider.tsx +27 -0
  15. package/src/browser/rsc-router.tsx +109 -57
  16. package/src/browser/scroll-restoration.ts +20 -11
  17. package/src/browser/types.ts +9 -0
  18. package/src/build/route-types/router-processing.ts +12 -2
  19. package/src/cache/cache-scope.ts +2 -2
  20. package/src/cache/cf/cf-cache-store.ts +453 -11
  21. package/src/cache/cf/index.ts +5 -1
  22. package/src/cache/index.ts +1 -0
  23. package/src/route-definition/redirect.ts +2 -2
  24. package/src/router/middleware.ts +2 -1
  25. package/src/server/request-context.ts +10 -4
  26. package/src/ssr/index.tsx +1 -0
  27. package/src/vite/discovery/state.ts +0 -2
  28. package/src/vite/plugin-types.ts +0 -83
  29. package/src/vite/plugins/expose-action-id.ts +1 -3
  30. package/src/vite/plugins/version-plugin.ts +13 -1
  31. package/src/vite/rango.ts +144 -209
  32. package/src/vite/router-discovery.ts +0 -8
  33. package/dist/__internal.d.ts +0 -83
  34. package/dist/__internal.d.ts.map +0 -1
  35. package/dist/__internal.js +0 -19
  36. package/dist/__internal.js.map +0 -1
  37. package/dist/__mocks__/version.d.ts +0 -7
  38. package/dist/__mocks__/version.d.ts.map +0 -1
  39. package/dist/__mocks__/version.js +0 -7
  40. package/dist/__mocks__/version.js.map +0 -1
  41. package/dist/__tests__/client-href.test.d.ts +0 -2
  42. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  43. package/dist/__tests__/client-href.test.js +0 -74
  44. package/dist/__tests__/client-href.test.js.map +0 -1
  45. package/dist/__tests__/component-utils.test.d.ts +0 -2
  46. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  47. package/dist/__tests__/component-utils.test.js +0 -51
  48. package/dist/__tests__/component-utils.test.js.map +0 -1
  49. package/dist/__tests__/event-controller.test.d.ts +0 -2
  50. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  51. package/dist/__tests__/event-controller.test.js +0 -538
  52. package/dist/__tests__/event-controller.test.js.map +0 -1
  53. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  54. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  55. package/dist/__tests__/helpers/route-tree.js +0 -374
  56. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  57. package/dist/__tests__/match-result.test.d.ts +0 -2
  58. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  59. package/dist/__tests__/match-result.test.js +0 -154
  60. package/dist/__tests__/match-result.test.js.map +0 -1
  61. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  62. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  63. package/dist/__tests__/navigation-store.test.js +0 -440
  64. package/dist/__tests__/navigation-store.test.js.map +0 -1
  65. package/dist/__tests__/partial-update.test.d.ts +0 -2
  66. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  67. package/dist/__tests__/partial-update.test.js +0 -1009
  68. package/dist/__tests__/partial-update.test.js.map +0 -1
  69. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  70. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  71. package/dist/__tests__/reverse-types.test.js +0 -656
  72. package/dist/__tests__/reverse-types.test.js.map +0 -1
  73. package/dist/__tests__/route-definition.test.d.ts +0 -2
  74. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  75. package/dist/__tests__/route-definition.test.js +0 -55
  76. package/dist/__tests__/route-definition.test.js.map +0 -1
  77. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  78. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  79. package/dist/__tests__/router-helpers.test.js +0 -377
  80. package/dist/__tests__/router-helpers.test.js.map +0 -1
  81. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  82. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  83. package/dist/__tests__/router-integration-2.test.js +0 -426
  84. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  85. package/dist/__tests__/router-integration.test.d.ts +0 -2
  86. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  87. package/dist/__tests__/router-integration.test.js +0 -1051
  88. package/dist/__tests__/router-integration.test.js.map +0 -1
  89. package/dist/__tests__/search-params.test.d.ts +0 -5
  90. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  91. package/dist/__tests__/search-params.test.js +0 -306
  92. package/dist/__tests__/search-params.test.js.map +0 -1
  93. package/dist/__tests__/segment-system.test.d.ts +0 -2
  94. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  95. package/dist/__tests__/segment-system.test.js +0 -627
  96. package/dist/__tests__/segment-system.test.js.map +0 -1
  97. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  98. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  99. package/dist/__tests__/static-handler-types.test.js +0 -63
  100. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  101. package/dist/__tests__/urls.test.d.ts +0 -2
  102. package/dist/__tests__/urls.test.d.ts.map +0 -1
  103. package/dist/__tests__/urls.test.js +0 -421
  104. package/dist/__tests__/urls.test.js.map +0 -1
  105. package/dist/__tests__/use-mount.test.d.ts +0 -2
  106. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  107. package/dist/__tests__/use-mount.test.js +0 -35
  108. package/dist/__tests__/use-mount.test.js.map +0 -1
  109. package/dist/bin/rango.d.ts +0 -2
  110. package/dist/bin/rango.d.ts.map +0 -1
  111. package/dist/bin/rango.js.map +0 -1
  112. package/dist/browser/event-controller.d.ts +0 -191
  113. package/dist/browser/event-controller.d.ts.map +0 -1
  114. package/dist/browser/event-controller.js +0 -559
  115. package/dist/browser/event-controller.js.map +0 -1
  116. package/dist/browser/index.d.ts +0 -2
  117. package/dist/browser/index.d.ts.map +0 -1
  118. package/dist/browser/index.js +0 -14
  119. package/dist/browser/index.js.map +0 -1
  120. package/dist/browser/link-interceptor.d.ts +0 -38
  121. package/dist/browser/link-interceptor.d.ts.map +0 -1
  122. package/dist/browser/link-interceptor.js +0 -99
  123. package/dist/browser/link-interceptor.js.map +0 -1
  124. package/dist/browser/logging.d.ts +0 -10
  125. package/dist/browser/logging.d.ts.map +0 -1
  126. package/dist/browser/logging.js +0 -29
  127. package/dist/browser/logging.js.map +0 -1
  128. package/dist/browser/lru-cache.d.ts +0 -17
  129. package/dist/browser/lru-cache.d.ts.map +0 -1
  130. package/dist/browser/lru-cache.js +0 -50
  131. package/dist/browser/lru-cache.js.map +0 -1
  132. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  133. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  134. package/dist/browser/merge-segment-loaders.js +0 -102
  135. package/dist/browser/merge-segment-loaders.js.map +0 -1
  136. package/dist/browser/navigation-bridge.d.ts +0 -102
  137. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  138. package/dist/browser/navigation-bridge.js +0 -708
  139. package/dist/browser/navigation-bridge.js.map +0 -1
  140. package/dist/browser/navigation-client.d.ts +0 -25
  141. package/dist/browser/navigation-client.d.ts.map +0 -1
  142. package/dist/browser/navigation-client.js +0 -157
  143. package/dist/browser/navigation-client.js.map +0 -1
  144. package/dist/browser/navigation-store.d.ts +0 -101
  145. package/dist/browser/navigation-store.d.ts.map +0 -1
  146. package/dist/browser/navigation-store.js +0 -625
  147. package/dist/browser/navigation-store.js.map +0 -1
  148. package/dist/browser/partial-update.d.ts +0 -75
  149. package/dist/browser/partial-update.d.ts.map +0 -1
  150. package/dist/browser/partial-update.js +0 -426
  151. package/dist/browser/partial-update.js.map +0 -1
  152. package/dist/browser/react/Link.d.ts +0 -86
  153. package/dist/browser/react/Link.d.ts.map +0 -1
  154. package/dist/browser/react/Link.js +0 -128
  155. package/dist/browser/react/Link.js.map +0 -1
  156. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  157. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  158. package/dist/browser/react/NavigationProvider.js +0 -216
  159. package/dist/browser/react/NavigationProvider.js.map +0 -1
  160. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  161. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  162. package/dist/browser/react/ScrollRestoration.js +0 -57
  163. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  164. package/dist/browser/react/context.d.ts +0 -46
  165. package/dist/browser/react/context.d.ts.map +0 -1
  166. package/dist/browser/react/context.js +0 -10
  167. package/dist/browser/react/context.js.map +0 -1
  168. package/dist/browser/react/index.d.ts +0 -11
  169. package/dist/browser/react/index.d.ts.map +0 -1
  170. package/dist/browser/react/index.js +0 -22
  171. package/dist/browser/react/index.js.map +0 -1
  172. package/dist/browser/react/location-state-shared.d.ts +0 -63
  173. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  174. package/dist/browser/react/location-state-shared.js +0 -81
  175. package/dist/browser/react/location-state-shared.js.map +0 -1
  176. package/dist/browser/react/location-state.d.ts +0 -23
  177. package/dist/browser/react/location-state.d.ts.map +0 -1
  178. package/dist/browser/react/location-state.js +0 -29
  179. package/dist/browser/react/location-state.js.map +0 -1
  180. package/dist/browser/react/mount-context.d.ts +0 -24
  181. package/dist/browser/react/mount-context.d.ts.map +0 -1
  182. package/dist/browser/react/mount-context.js +0 -24
  183. package/dist/browser/react/mount-context.js.map +0 -1
  184. package/dist/browser/react/use-action.d.ts +0 -64
  185. package/dist/browser/react/use-action.d.ts.map +0 -1
  186. package/dist/browser/react/use-action.js +0 -134
  187. package/dist/browser/react/use-action.js.map +0 -1
  188. package/dist/browser/react/use-client-cache.d.ts +0 -41
  189. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  190. package/dist/browser/react/use-client-cache.js +0 -39
  191. package/dist/browser/react/use-client-cache.js.map +0 -1
  192. package/dist/browser/react/use-handle.d.ts +0 -31
  193. package/dist/browser/react/use-handle.d.ts.map +0 -1
  194. package/dist/browser/react/use-handle.js +0 -144
  195. package/dist/browser/react/use-handle.js.map +0 -1
  196. package/dist/browser/react/use-href.d.ts +0 -33
  197. package/dist/browser/react/use-href.d.ts.map +0 -1
  198. package/dist/browser/react/use-href.js +0 -39
  199. package/dist/browser/react/use-href.js.map +0 -1
  200. package/dist/browser/react/use-link-status.d.ts +0 -37
  201. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  202. package/dist/browser/react/use-link-status.js +0 -99
  203. package/dist/browser/react/use-link-status.js.map +0 -1
  204. package/dist/browser/react/use-mount.d.ts +0 -25
  205. package/dist/browser/react/use-mount.d.ts.map +0 -1
  206. package/dist/browser/react/use-mount.js +0 -30
  207. package/dist/browser/react/use-mount.js.map +0 -1
  208. package/dist/browser/react/use-navigation.d.ts +0 -27
  209. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  210. package/dist/browser/react/use-navigation.js +0 -87
  211. package/dist/browser/react/use-navigation.js.map +0 -1
  212. package/dist/browser/react/use-segments.d.ts +0 -38
  213. package/dist/browser/react/use-segments.d.ts.map +0 -1
  214. package/dist/browser/react/use-segments.js +0 -130
  215. package/dist/browser/react/use-segments.js.map +0 -1
  216. package/dist/browser/request-controller.d.ts +0 -26
  217. package/dist/browser/request-controller.d.ts.map +0 -1
  218. package/dist/browser/request-controller.js +0 -147
  219. package/dist/browser/request-controller.js.map +0 -1
  220. package/dist/browser/rsc-router.d.ts +0 -129
  221. package/dist/browser/rsc-router.d.ts.map +0 -1
  222. package/dist/browser/rsc-router.js +0 -195
  223. package/dist/browser/rsc-router.js.map +0 -1
  224. package/dist/browser/scroll-restoration.d.ts +0 -93
  225. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  226. package/dist/browser/scroll-restoration.js +0 -321
  227. package/dist/browser/scroll-restoration.js.map +0 -1
  228. package/dist/browser/segment-structure-assert.d.ts +0 -17
  229. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  230. package/dist/browser/segment-structure-assert.js +0 -59
  231. package/dist/browser/segment-structure-assert.js.map +0 -1
  232. package/dist/browser/server-action-bridge.d.ts +0 -26
  233. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  234. package/dist/browser/server-action-bridge.js +0 -668
  235. package/dist/browser/server-action-bridge.js.map +0 -1
  236. package/dist/browser/shallow.d.ts +0 -12
  237. package/dist/browser/shallow.d.ts.map +0 -1
  238. package/dist/browser/shallow.js +0 -34
  239. package/dist/browser/shallow.js.map +0 -1
  240. package/dist/browser/types.d.ts +0 -369
  241. package/dist/browser/types.d.ts.map +0 -1
  242. package/dist/browser/types.js +0 -2
  243. package/dist/browser/types.js.map +0 -1
  244. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  245. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  246. package/dist/build/__tests__/generate-cli.test.js +0 -237
  247. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  248. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  249. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  250. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  251. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  252. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  253. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  254. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  255. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  256. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  257. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  258. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  259. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  260. package/dist/build/generate-manifest.d.ts +0 -81
  261. package/dist/build/generate-manifest.d.ts.map +0 -1
  262. package/dist/build/generate-manifest.js +0 -276
  263. package/dist/build/generate-manifest.js.map +0 -1
  264. package/dist/build/generate-route-types.d.ts +0 -115
  265. package/dist/build/generate-route-types.d.ts.map +0 -1
  266. package/dist/build/generate-route-types.js +0 -740
  267. package/dist/build/generate-route-types.js.map +0 -1
  268. package/dist/build/index.d.ts +0 -21
  269. package/dist/build/index.d.ts.map +0 -1
  270. package/dist/build/index.js +0 -21
  271. package/dist/build/index.js.map +0 -1
  272. package/dist/build/route-trie.d.ts +0 -71
  273. package/dist/build/route-trie.d.ts.map +0 -1
  274. package/dist/build/route-trie.js +0 -175
  275. package/dist/build/route-trie.js.map +0 -1
  276. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  277. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  278. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  279. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  280. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  281. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  282. package/dist/cache/__tests__/document-cache.test.js +0 -345
  283. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  284. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  285. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  286. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  287. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  288. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  289. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  290. package/dist/cache/__tests__/memory-store.test.js +0 -367
  291. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  292. package/dist/cache/cache-scope.d.ts +0 -102
  293. package/dist/cache/cache-scope.d.ts.map +0 -1
  294. package/dist/cache/cache-scope.js +0 -440
  295. package/dist/cache/cache-scope.js.map +0 -1
  296. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  297. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  298. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  299. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  300. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  301. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  302. package/dist/cache/cf/cf-cache-store.js +0 -242
  303. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  304. package/dist/cache/cf/index.d.ts +0 -14
  305. package/dist/cache/cf/index.d.ts.map +0 -1
  306. package/dist/cache/cf/index.js +0 -17
  307. package/dist/cache/cf/index.js.map +0 -1
  308. package/dist/cache/document-cache.d.ts +0 -64
  309. package/dist/cache/document-cache.d.ts.map +0 -1
  310. package/dist/cache/document-cache.js +0 -228
  311. package/dist/cache/document-cache.js.map +0 -1
  312. package/dist/cache/index.d.ts +0 -19
  313. package/dist/cache/index.d.ts.map +0 -1
  314. package/dist/cache/index.js +0 -21
  315. package/dist/cache/index.js.map +0 -1
  316. package/dist/cache/memory-segment-store.d.ts +0 -110
  317. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  318. package/dist/cache/memory-segment-store.js +0 -117
  319. package/dist/cache/memory-segment-store.js.map +0 -1
  320. package/dist/cache/memory-store.d.ts +0 -41
  321. package/dist/cache/memory-store.d.ts.map +0 -1
  322. package/dist/cache/memory-store.js +0 -191
  323. package/dist/cache/memory-store.js.map +0 -1
  324. package/dist/cache/types.d.ts +0 -317
  325. package/dist/cache/types.d.ts.map +0 -1
  326. package/dist/cache/types.js +0 -12
  327. package/dist/cache/types.js.map +0 -1
  328. package/dist/client.d.ts +0 -248
  329. package/dist/client.d.ts.map +0 -1
  330. package/dist/client.js +0 -367
  331. package/dist/client.js.map +0 -1
  332. package/dist/client.rsc.d.ts +0 -26
  333. package/dist/client.rsc.d.ts.map +0 -1
  334. package/dist/client.rsc.js +0 -46
  335. package/dist/client.rsc.js.map +0 -1
  336. package/dist/component-utils.d.ts +0 -36
  337. package/dist/component-utils.d.ts.map +0 -1
  338. package/dist/component-utils.js +0 -61
  339. package/dist/component-utils.js.map +0 -1
  340. package/dist/components/DefaultDocument.d.ts +0 -13
  341. package/dist/components/DefaultDocument.d.ts.map +0 -1
  342. package/dist/components/DefaultDocument.js +0 -15
  343. package/dist/components/DefaultDocument.js.map +0 -1
  344. package/dist/debug.d.ts +0 -58
  345. package/dist/debug.d.ts.map +0 -1
  346. package/dist/debug.js +0 -157
  347. package/dist/debug.js.map +0 -1
  348. package/dist/default-error-boundary.d.ts +0 -11
  349. package/dist/default-error-boundary.d.ts.map +0 -1
  350. package/dist/default-error-boundary.js +0 -45
  351. package/dist/default-error-boundary.js.map +0 -1
  352. package/dist/deps/browser.d.ts +0 -2
  353. package/dist/deps/browser.d.ts.map +0 -1
  354. package/dist/deps/browser.js +0 -3
  355. package/dist/deps/browser.js.map +0 -1
  356. package/dist/deps/html-stream-client.d.ts +0 -2
  357. package/dist/deps/html-stream-client.d.ts.map +0 -1
  358. package/dist/deps/html-stream-client.js +0 -3
  359. package/dist/deps/html-stream-client.js.map +0 -1
  360. package/dist/deps/html-stream-server.d.ts +0 -2
  361. package/dist/deps/html-stream-server.d.ts.map +0 -1
  362. package/dist/deps/html-stream-server.js +0 -3
  363. package/dist/deps/html-stream-server.js.map +0 -1
  364. package/dist/deps/rsc.d.ts +0 -2
  365. package/dist/deps/rsc.d.ts.map +0 -1
  366. package/dist/deps/rsc.js +0 -4
  367. package/dist/deps/rsc.js.map +0 -1
  368. package/dist/deps/ssr.d.ts +0 -2
  369. package/dist/deps/ssr.d.ts.map +0 -1
  370. package/dist/deps/ssr.js +0 -3
  371. package/dist/deps/ssr.js.map +0 -1
  372. package/dist/errors.d.ts +0 -174
  373. package/dist/errors.d.ts.map +0 -1
  374. package/dist/errors.js +0 -241
  375. package/dist/errors.js.map +0 -1
  376. package/dist/handle.d.ts +0 -78
  377. package/dist/handle.d.ts.map +0 -1
  378. package/dist/handle.js +0 -82
  379. package/dist/handle.js.map +0 -1
  380. package/dist/handles/MetaTags.d.ts +0 -14
  381. package/dist/handles/MetaTags.d.ts.map +0 -1
  382. package/dist/handles/MetaTags.js +0 -136
  383. package/dist/handles/MetaTags.js.map +0 -1
  384. package/dist/handles/index.d.ts +0 -6
  385. package/dist/handles/index.d.ts.map +0 -1
  386. package/dist/handles/index.js +0 -6
  387. package/dist/handles/index.js.map +0 -1
  388. package/dist/handles/meta.d.ts +0 -39
  389. package/dist/handles/meta.d.ts.map +0 -1
  390. package/dist/handles/meta.js +0 -202
  391. package/dist/handles/meta.js.map +0 -1
  392. package/dist/host/__tests__/errors.test.d.ts +0 -2
  393. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  394. package/dist/host/__tests__/errors.test.js +0 -76
  395. package/dist/host/__tests__/errors.test.js.map +0 -1
  396. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  397. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  398. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  399. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  400. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  401. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  402. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  403. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  404. package/dist/host/__tests__/router.test.d.ts +0 -2
  405. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  406. package/dist/host/__tests__/router.test.js +0 -241
  407. package/dist/host/__tests__/router.test.js.map +0 -1
  408. package/dist/host/__tests__/testing.test.d.ts +0 -2
  409. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  410. package/dist/host/__tests__/testing.test.js +0 -64
  411. package/dist/host/__tests__/testing.test.js.map +0 -1
  412. package/dist/host/__tests__/utils.test.d.ts +0 -2
  413. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  414. package/dist/host/__tests__/utils.test.js +0 -29
  415. package/dist/host/__tests__/utils.test.js.map +0 -1
  416. package/dist/host/cookie-handler.d.ts +0 -34
  417. package/dist/host/cookie-handler.d.ts.map +0 -1
  418. package/dist/host/cookie-handler.js +0 -124
  419. package/dist/host/cookie-handler.js.map +0 -1
  420. package/dist/host/errors.d.ts +0 -56
  421. package/dist/host/errors.d.ts.map +0 -1
  422. package/dist/host/errors.js +0 -79
  423. package/dist/host/errors.js.map +0 -1
  424. package/dist/host/index.d.ts +0 -29
  425. package/dist/host/index.d.ts.map +0 -1
  426. package/dist/host/index.js +0 -32
  427. package/dist/host/index.js.map +0 -1
  428. package/dist/host/pattern-matcher.d.ts +0 -36
  429. package/dist/host/pattern-matcher.d.ts.map +0 -1
  430. package/dist/host/pattern-matcher.js +0 -172
  431. package/dist/host/pattern-matcher.js.map +0 -1
  432. package/dist/host/router.d.ts +0 -26
  433. package/dist/host/router.d.ts.map +0 -1
  434. package/dist/host/router.js +0 -218
  435. package/dist/host/router.js.map +0 -1
  436. package/dist/host/testing.d.ts +0 -36
  437. package/dist/host/testing.d.ts.map +0 -1
  438. package/dist/host/testing.js +0 -55
  439. package/dist/host/testing.js.map +0 -1
  440. package/dist/host/types.d.ts +0 -115
  441. package/dist/host/types.d.ts.map +0 -1
  442. package/dist/host/types.js +0 -7
  443. package/dist/host/types.js.map +0 -1
  444. package/dist/host/utils.d.ts +0 -21
  445. package/dist/host/utils.d.ts.map +0 -1
  446. package/dist/host/utils.js +0 -23
  447. package/dist/host/utils.js.map +0 -1
  448. package/dist/href-client.d.ts +0 -131
  449. package/dist/href-client.d.ts.map +0 -1
  450. package/dist/href-client.js +0 -64
  451. package/dist/href-client.js.map +0 -1
  452. package/dist/href-context.d.ts +0 -29
  453. package/dist/href-context.d.ts.map +0 -1
  454. package/dist/href-context.js +0 -21
  455. package/dist/href-context.js.map +0 -1
  456. package/dist/index.d.ts +0 -73
  457. package/dist/index.d.ts.map +0 -1
  458. package/dist/index.js +0 -91
  459. package/dist/index.js.map +0 -1
  460. package/dist/index.rsc.d.ts +0 -32
  461. package/dist/index.rsc.d.ts.map +0 -1
  462. package/dist/index.rsc.js +0 -40
  463. package/dist/index.rsc.js.map +0 -1
  464. package/dist/internal-debug.d.ts +0 -2
  465. package/dist/internal-debug.d.ts.map +0 -1
  466. package/dist/internal-debug.js +0 -5
  467. package/dist/internal-debug.js.map +0 -1
  468. package/dist/loader.d.ts +0 -14
  469. package/dist/loader.d.ts.map +0 -1
  470. package/dist/loader.js +0 -20
  471. package/dist/loader.js.map +0 -1
  472. package/dist/loader.rsc.d.ts +0 -19
  473. package/dist/loader.rsc.d.ts.map +0 -1
  474. package/dist/loader.rsc.js +0 -99
  475. package/dist/loader.rsc.js.map +0 -1
  476. package/dist/network-error-thrower.d.ts +0 -17
  477. package/dist/network-error-thrower.d.ts.map +0 -1
  478. package/dist/network-error-thrower.js +0 -14
  479. package/dist/network-error-thrower.js.map +0 -1
  480. package/dist/outlet-context.d.ts +0 -13
  481. package/dist/outlet-context.d.ts.map +0 -1
  482. package/dist/outlet-context.js +0 -3
  483. package/dist/outlet-context.js.map +0 -1
  484. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  485. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  486. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  487. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  488. package/dist/prerender/param-hash.d.ts +0 -16
  489. package/dist/prerender/param-hash.d.ts.map +0 -1
  490. package/dist/prerender/param-hash.js +0 -36
  491. package/dist/prerender/param-hash.js.map +0 -1
  492. package/dist/prerender/store.d.ts +0 -38
  493. package/dist/prerender/store.d.ts.map +0 -1
  494. package/dist/prerender/store.js +0 -61
  495. package/dist/prerender/store.js.map +0 -1
  496. package/dist/prerender.d.ts +0 -66
  497. package/dist/prerender.d.ts.map +0 -1
  498. package/dist/prerender.js +0 -57
  499. package/dist/prerender.js.map +0 -1
  500. package/dist/reverse.d.ts +0 -196
  501. package/dist/reverse.d.ts.map +0 -1
  502. package/dist/reverse.js +0 -78
  503. package/dist/reverse.js.map +0 -1
  504. package/dist/root-error-boundary.d.ts +0 -33
  505. package/dist/root-error-boundary.d.ts.map +0 -1
  506. package/dist/root-error-boundary.js +0 -165
  507. package/dist/root-error-boundary.js.map +0 -1
  508. package/dist/route-content-wrapper.d.ts +0 -46
  509. package/dist/route-content-wrapper.d.ts.map +0 -1
  510. package/dist/route-content-wrapper.js +0 -77
  511. package/dist/route-content-wrapper.js.map +0 -1
  512. package/dist/route-definition.d.ts +0 -421
  513. package/dist/route-definition.d.ts.map +0 -1
  514. package/dist/route-definition.js +0 -868
  515. package/dist/route-definition.js.map +0 -1
  516. package/dist/route-map-builder.d.ts +0 -155
  517. package/dist/route-map-builder.d.ts.map +0 -1
  518. package/dist/route-map-builder.js +0 -237
  519. package/dist/route-map-builder.js.map +0 -1
  520. package/dist/route-types.d.ts +0 -165
  521. package/dist/route-types.d.ts.map +0 -1
  522. package/dist/route-types.js +0 -7
  523. package/dist/route-types.js.map +0 -1
  524. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  525. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  526. package/dist/router/__tests__/handler-context.test.js +0 -65
  527. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  528. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  529. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  530. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  531. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  532. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  533. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  534. package/dist/router/__tests__/match-context.test.js +0 -92
  535. package/dist/router/__tests__/match-context.test.js.map +0 -1
  536. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  537. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  538. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  539. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  540. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  541. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  542. package/dist/router/__tests__/match-result.test.js +0 -457
  543. package/dist/router/__tests__/match-result.test.js.map +0 -1
  544. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  545. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  546. package/dist/router/__tests__/on-error.test.js +0 -678
  547. package/dist/router/__tests__/on-error.test.js.map +0 -1
  548. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  549. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  550. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  551. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  552. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  553. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  554. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  555. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  556. package/dist/router/error-handling.d.ts +0 -77
  557. package/dist/router/error-handling.d.ts.map +0 -1
  558. package/dist/router/error-handling.js +0 -202
  559. package/dist/router/error-handling.js.map +0 -1
  560. package/dist/router/handler-context.d.ts +0 -20
  561. package/dist/router/handler-context.d.ts.map +0 -1
  562. package/dist/router/handler-context.js +0 -198
  563. package/dist/router/handler-context.js.map +0 -1
  564. package/dist/router/intercept-resolution.d.ts +0 -66
  565. package/dist/router/intercept-resolution.d.ts.map +0 -1
  566. package/dist/router/intercept-resolution.js +0 -246
  567. package/dist/router/intercept-resolution.js.map +0 -1
  568. package/dist/router/loader-resolution.d.ts +0 -64
  569. package/dist/router/loader-resolution.d.ts.map +0 -1
  570. package/dist/router/loader-resolution.js +0 -284
  571. package/dist/router/loader-resolution.js.map +0 -1
  572. package/dist/router/logging.d.ts +0 -15
  573. package/dist/router/logging.d.ts.map +0 -1
  574. package/dist/router/logging.js +0 -99
  575. package/dist/router/logging.js.map +0 -1
  576. package/dist/router/manifest.d.ts +0 -22
  577. package/dist/router/manifest.d.ts.map +0 -1
  578. package/dist/router/manifest.js +0 -181
  579. package/dist/router/manifest.js.map +0 -1
  580. package/dist/router/match-api.d.ts +0 -35
  581. package/dist/router/match-api.d.ts.map +0 -1
  582. package/dist/router/match-api.js +0 -406
  583. package/dist/router/match-api.js.map +0 -1
  584. package/dist/router/match-context.d.ts +0 -206
  585. package/dist/router/match-context.d.ts.map +0 -1
  586. package/dist/router/match-context.js +0 -17
  587. package/dist/router/match-context.js.map +0 -1
  588. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  589. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  590. package/dist/router/match-middleware/background-revalidation.js +0 -75
  591. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  592. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  593. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  594. package/dist/router/match-middleware/cache-lookup.js +0 -257
  595. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  596. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  597. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  598. package/dist/router/match-middleware/cache-store.js +0 -108
  599. package/dist/router/match-middleware/cache-store.js.map +0 -1
  600. package/dist/router/match-middleware/index.d.ts +0 -81
  601. package/dist/router/match-middleware/index.d.ts.map +0 -1
  602. package/dist/router/match-middleware/index.js +0 -80
  603. package/dist/router/match-middleware/index.js.map +0 -1
  604. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  605. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  606. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  607. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  608. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  609. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  610. package/dist/router/match-middleware/segment-resolution.js +0 -53
  611. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  612. package/dist/router/match-pipelines.d.ts +0 -147
  613. package/dist/router/match-pipelines.d.ts.map +0 -1
  614. package/dist/router/match-pipelines.js +0 -82
  615. package/dist/router/match-pipelines.js.map +0 -1
  616. package/dist/router/match-result.d.ts +0 -126
  617. package/dist/router/match-result.d.ts.map +0 -1
  618. package/dist/router/match-result.js +0 -93
  619. package/dist/router/match-result.js.map +0 -1
  620. package/dist/router/metrics.d.ts +0 -20
  621. package/dist/router/metrics.d.ts.map +0 -1
  622. package/dist/router/metrics.js +0 -47
  623. package/dist/router/metrics.js.map +0 -1
  624. package/dist/router/middleware.d.ts +0 -249
  625. package/dist/router/middleware.d.ts.map +0 -1
  626. package/dist/router/middleware.js +0 -434
  627. package/dist/router/middleware.js.map +0 -1
  628. package/dist/router/middleware.test.d.ts +0 -2
  629. package/dist/router/middleware.test.d.ts.map +0 -1
  630. package/dist/router/middleware.test.js +0 -816
  631. package/dist/router/middleware.test.js.map +0 -1
  632. package/dist/router/pattern-matching.d.ts +0 -149
  633. package/dist/router/pattern-matching.d.ts.map +0 -1
  634. package/dist/router/pattern-matching.js +0 -349
  635. package/dist/router/pattern-matching.js.map +0 -1
  636. package/dist/router/revalidation.d.ts +0 -44
  637. package/dist/router/revalidation.d.ts.map +0 -1
  638. package/dist/router/revalidation.js +0 -147
  639. package/dist/router/revalidation.js.map +0 -1
  640. package/dist/router/router-context.d.ts +0 -135
  641. package/dist/router/router-context.d.ts.map +0 -1
  642. package/dist/router/router-context.js +0 -36
  643. package/dist/router/router-context.js.map +0 -1
  644. package/dist/router/segment-resolution.d.ts +0 -127
  645. package/dist/router/segment-resolution.d.ts.map +0 -1
  646. package/dist/router/segment-resolution.js +0 -919
  647. package/dist/router/segment-resolution.js.map +0 -1
  648. package/dist/router/trie-matching.d.ts +0 -40
  649. package/dist/router/trie-matching.d.ts.map +0 -1
  650. package/dist/router/trie-matching.js +0 -127
  651. package/dist/router/trie-matching.js.map +0 -1
  652. package/dist/router/types.d.ts +0 -136
  653. package/dist/router/types.d.ts.map +0 -1
  654. package/dist/router/types.js +0 -7
  655. package/dist/router/types.js.map +0 -1
  656. package/dist/router.d.ts +0 -753
  657. package/dist/router.d.ts.map +0 -1
  658. package/dist/router.gen.d.ts +0 -6
  659. package/dist/router.gen.d.ts.map +0 -1
  660. package/dist/router.gen.js +0 -6
  661. package/dist/router.gen.js.map +0 -1
  662. package/dist/router.js +0 -1304
  663. package/dist/router.js.map +0 -1
  664. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  665. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  666. package/dist/rsc/__tests__/helpers.test.js +0 -140
  667. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  668. package/dist/rsc/handler.d.ts +0 -45
  669. package/dist/rsc/handler.d.ts.map +0 -1
  670. package/dist/rsc/handler.js +0 -1172
  671. package/dist/rsc/handler.js.map +0 -1
  672. package/dist/rsc/helpers.d.ts +0 -16
  673. package/dist/rsc/helpers.d.ts.map +0 -1
  674. package/dist/rsc/helpers.js +0 -55
  675. package/dist/rsc/helpers.js.map +0 -1
  676. package/dist/rsc/index.d.ts +0 -22
  677. package/dist/rsc/index.d.ts.map +0 -1
  678. package/dist/rsc/index.js +0 -23
  679. package/dist/rsc/index.js.map +0 -1
  680. package/dist/rsc/nonce.d.ts +0 -9
  681. package/dist/rsc/nonce.d.ts.map +0 -1
  682. package/dist/rsc/nonce.js +0 -18
  683. package/dist/rsc/nonce.js.map +0 -1
  684. package/dist/rsc/types.d.ts +0 -206
  685. package/dist/rsc/types.d.ts.map +0 -1
  686. package/dist/rsc/types.js +0 -8
  687. package/dist/rsc/types.js.map +0 -1
  688. package/dist/search-params.d.ts +0 -103
  689. package/dist/search-params.d.ts.map +0 -1
  690. package/dist/search-params.js +0 -74
  691. package/dist/search-params.js.map +0 -1
  692. package/dist/segment-system.d.ts +0 -75
  693. package/dist/segment-system.d.ts.map +0 -1
  694. package/dist/segment-system.js +0 -336
  695. package/dist/segment-system.js.map +0 -1
  696. package/dist/server/context.d.ts +0 -245
  697. package/dist/server/context.d.ts.map +0 -1
  698. package/dist/server/context.js +0 -197
  699. package/dist/server/context.js.map +0 -1
  700. package/dist/server/fetchable-loader-store.d.ts +0 -18
  701. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  702. package/dist/server/fetchable-loader-store.js +0 -18
  703. package/dist/server/fetchable-loader-store.js.map +0 -1
  704. package/dist/server/handle-store.d.ts +0 -85
  705. package/dist/server/handle-store.d.ts.map +0 -1
  706. package/dist/server/handle-store.js +0 -142
  707. package/dist/server/handle-store.js.map +0 -1
  708. package/dist/server/loader-registry.d.ts +0 -55
  709. package/dist/server/loader-registry.d.ts.map +0 -1
  710. package/dist/server/loader-registry.js +0 -132
  711. package/dist/server/loader-registry.js.map +0 -1
  712. package/dist/server/request-context.d.ts +0 -226
  713. package/dist/server/request-context.d.ts.map +0 -1
  714. package/dist/server/request-context.js +0 -290
  715. package/dist/server/request-context.js.map +0 -1
  716. package/dist/server/root-layout.d.ts +0 -4
  717. package/dist/server/root-layout.d.ts.map +0 -1
  718. package/dist/server/root-layout.js +0 -5
  719. package/dist/server/root-layout.js.map +0 -1
  720. package/dist/server.d.ts +0 -15
  721. package/dist/server.d.ts.map +0 -1
  722. package/dist/server.js +0 -20
  723. package/dist/server.js.map +0 -1
  724. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  725. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  726. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  727. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  728. package/dist/ssr/index.d.ts +0 -98
  729. package/dist/ssr/index.d.ts.map +0 -1
  730. package/dist/ssr/index.js +0 -158
  731. package/dist/ssr/index.js.map +0 -1
  732. package/dist/static-handler.d.ts +0 -50
  733. package/dist/static-handler.d.ts.map +0 -1
  734. package/dist/static-handler.gen.d.ts +0 -5
  735. package/dist/static-handler.gen.d.ts.map +0 -1
  736. package/dist/static-handler.gen.js +0 -5
  737. package/dist/static-handler.gen.js.map +0 -1
  738. package/dist/static-handler.js +0 -29
  739. package/dist/static-handler.js.map +0 -1
  740. package/dist/theme/ThemeProvider.d.ts +0 -20
  741. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  742. package/dist/theme/ThemeProvider.js +0 -240
  743. package/dist/theme/ThemeProvider.js.map +0 -1
  744. package/dist/theme/ThemeScript.d.ts +0 -48
  745. package/dist/theme/ThemeScript.d.ts.map +0 -1
  746. package/dist/theme/ThemeScript.js +0 -13
  747. package/dist/theme/ThemeScript.js.map +0 -1
  748. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  749. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  750. package/dist/theme/__tests__/theme.test.js +0 -103
  751. package/dist/theme/__tests__/theme.test.js.map +0 -1
  752. package/dist/theme/constants.d.ts +0 -29
  753. package/dist/theme/constants.d.ts.map +0 -1
  754. package/dist/theme/constants.js +0 -48
  755. package/dist/theme/constants.js.map +0 -1
  756. package/dist/theme/index.d.ts +0 -31
  757. package/dist/theme/index.d.ts.map +0 -1
  758. package/dist/theme/index.js +0 -36
  759. package/dist/theme/index.js.map +0 -1
  760. package/dist/theme/theme-context.d.ts +0 -40
  761. package/dist/theme/theme-context.d.ts.map +0 -1
  762. package/dist/theme/theme-context.js +0 -60
  763. package/dist/theme/theme-context.js.map +0 -1
  764. package/dist/theme/theme-script.d.ts +0 -27
  765. package/dist/theme/theme-script.d.ts.map +0 -1
  766. package/dist/theme/theme-script.js +0 -147
  767. package/dist/theme/theme-script.js.map +0 -1
  768. package/dist/theme/types.d.ts +0 -163
  769. package/dist/theme/types.d.ts.map +0 -1
  770. package/dist/theme/types.js +0 -11
  771. package/dist/theme/types.js.map +0 -1
  772. package/dist/theme/use-theme.d.ts +0 -12
  773. package/dist/theme/use-theme.d.ts.map +0 -1
  774. package/dist/theme/use-theme.js +0 -40
  775. package/dist/theme/use-theme.js.map +0 -1
  776. package/dist/types.d.ts +0 -1479
  777. package/dist/types.d.ts.map +0 -1
  778. package/dist/types.js +0 -10
  779. package/dist/types.js.map +0 -1
  780. package/dist/urls.d.ts +0 -441
  781. package/dist/urls.d.ts.map +0 -1
  782. package/dist/urls.gen.d.ts +0 -8
  783. package/dist/urls.gen.d.ts.map +0 -1
  784. package/dist/urls.gen.js +0 -8
  785. package/dist/urls.gen.js.map +0 -1
  786. package/dist/urls.js +0 -443
  787. package/dist/urls.js.map +0 -1
  788. package/dist/use-loader.d.ts +0 -127
  789. package/dist/use-loader.d.ts.map +0 -1
  790. package/dist/use-loader.js +0 -237
  791. package/dist/use-loader.js.map +0 -1
  792. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  793. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  794. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  795. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  796. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  797. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  798. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  799. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  800. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  801. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  802. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  803. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  804. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  805. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  806. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  807. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  808. package/dist/vite/ast-handler-extract.d.ts +0 -49
  809. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  810. package/dist/vite/ast-handler-extract.js +0 -249
  811. package/dist/vite/ast-handler-extract.js.map +0 -1
  812. package/dist/vite/expose-action-id.d.ts +0 -19
  813. package/dist/vite/expose-action-id.d.ts.map +0 -1
  814. package/dist/vite/expose-action-id.js +0 -250
  815. package/dist/vite/expose-action-id.js.map +0 -1
  816. package/dist/vite/expose-id-utils.d.ts +0 -69
  817. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  818. package/dist/vite/expose-id-utils.js +0 -289
  819. package/dist/vite/expose-id-utils.js.map +0 -1
  820. package/dist/vite/expose-internal-ids.d.ts +0 -22
  821. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  822. package/dist/vite/expose-internal-ids.js +0 -886
  823. package/dist/vite/expose-internal-ids.js.map +0 -1
  824. package/dist/vite/index.d.ts +0 -149
  825. package/dist/vite/index.d.ts.map +0 -1
  826. package/dist/vite/index.js.map +0 -1
  827. package/dist/vite/index.named-routes.gen.ts +0 -103
  828. package/dist/vite/package-resolution.d.ts +0 -43
  829. package/dist/vite/package-resolution.d.ts.map +0 -1
  830. package/dist/vite/package-resolution.js +0 -112
  831. package/dist/vite/package-resolution.js.map +0 -1
  832. package/dist/vite/virtual-entries.d.ts +0 -25
  833. package/dist/vite/virtual-entries.d.ts.map +0 -1
  834. package/dist/vite/virtual-entries.js +0 -110
  835. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,118 +0,0 @@
1
- import type { urls } from "../../urls.js";
2
- import { type EntryData, type InterceptEntry, type LoaderEntry } from "../../server/context.js";
3
- import { type RouteMatchResult } from "../../router/pattern-matching.js";
4
- import type { RouteEntry } from "../../types.js";
5
- export type { EntryData, InterceptEntry, LoaderEntry };
6
- export interface SegmentInfo {
7
- id: string;
8
- type: EntryData["type"];
9
- pattern?: string;
10
- }
11
- export interface InterceptInfo {
12
- slotName: string;
13
- routeName: string;
14
- hasWhen: boolean;
15
- whenCount: number;
16
- hasLoader: boolean;
17
- hasMiddleware: boolean;
18
- }
19
- /**
20
- * Build a route tree from url patterns for inspection.
21
- *
22
- * Executes the urls() handler inside RSCRouterContext and extracts
23
- * the manifest, patterns, and route entries. Lazy includes are
24
- * eagerly evaluated so the full tree is available.
25
- *
26
- * @example
27
- * ```ts
28
- * const tree = buildRouteTree(
29
- * urls(({ path, layout }) => [
30
- * layout(RootLayout, () => [
31
- * path("/", HomePage, { name: "home" }),
32
- * path("/about", AboutPage, { name: "about" }),
33
- * ]),
34
- * ])
35
- * );
36
- *
37
- * // Inspect patterns
38
- * expect(tree.routes()).toEqual({ home: "/", about: "/about" });
39
- *
40
- * // Inspect segment IDs
41
- * expect(tree.segmentId("home")).toBe("M0L0L0R0");
42
- *
43
- * // Match a URL
44
- * const match = tree.match("/about");
45
- * expect(match?.routeKey).toBe("about");
46
- * ```
47
- */
48
- export declare function buildRouteTree(urlPatterns: ReturnType<typeof urls>, options?: {
49
- mountIndex?: number;
50
- }): RouteTree;
51
- /**
52
- * Wrapper around the raw manifest/patterns/entries providing
53
- * convenient inspection methods for route tree, segment IDs,
54
- * middleware, intercepts, loaders, and parallel slots.
55
- */
56
- export declare class RouteTree {
57
- readonly manifest: Map<string, EntryData>;
58
- readonly patterns: Map<string, string>;
59
- readonly routeEntries: RouteEntry[];
60
- constructor(manifest: Map<string, EntryData>, patterns: Map<string, string>, routeEntries: RouteEntry[]);
61
- /** Route name -> URL pattern map as a plain object */
62
- routes(): Record<string, string>;
63
- /** Get all route names */
64
- routeNames(): string[];
65
- /** Get the segment ID (shortCode) for a named route */
66
- segmentId(name: string): string | undefined;
67
- /** Get segment IDs for all named routes */
68
- segmentIds(): Record<string, string>;
69
- /**
70
- * Get the full segment path from root to a named route.
71
- * Returns an array of { id, type, pattern? } entries.
72
- */
73
- segmentPath(name: string): SegmentInfo[];
74
- /** Get the EntryData for a named route */
75
- entry(name: string): EntryData | undefined;
76
- /** Get the EntryData for a route matching a URL pattern string */
77
- entryByPattern(pattern: string): EntryData | undefined;
78
- /** Match a pathname and return the match result (routeKey, params) */
79
- match(pathname: string): RouteMatchResult | null;
80
- /** Get middleware functions attached to a named route/layout */
81
- middleware(name: string): Array<Function>;
82
- /** Check if a named route/layout has middleware */
83
- hasMiddleware(name: string): boolean;
84
- /**
85
- * Collect all middleware in the chain from root to a named route.
86
- * Returns them in execution order (root first).
87
- */
88
- middlewareChain(name: string): Array<{
89
- segmentId: string;
90
- count: number;
91
- }>;
92
- /** Get intercept entries for a named route/layout */
93
- intercepts(name: string): InterceptInfo[];
94
- /** Get raw InterceptEntry objects for a named route/layout */
95
- interceptEntries(name: string): InterceptEntry[];
96
- /** Get loader entries for a named route/layout */
97
- loaders(name: string): LoaderEntry[];
98
- /** Check if a named route/layout has loaders */
99
- hasLoaders(name: string): boolean;
100
- /** Get parallel slot entries (child EntryData with type="parallel") */
101
- parallelSlots(name: string): EntryData[];
102
- /** Get parallel slot names for a named route/layout */
103
- parallelSlotNames(name: string): string[];
104
- /** Check if a named route/layout has an error boundary */
105
- hasErrorBoundary(name: string): boolean;
106
- /** Check if a named route/layout has a not-found boundary */
107
- hasNotFoundBoundary(name: string): boolean;
108
- /** Check if a named route/layout has cache config */
109
- hasCache(name: string): boolean;
110
- /** Check if a named route/layout has a loading component */
111
- hasLoading(name: string): boolean;
112
- /**
113
- * Debug print the route tree.
114
- * Useful for exploring the structure in tests.
115
- */
116
- debug(): string;
117
- }
118
- //# sourceMappingURL=route-tree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../../../src/__tests__/helpers/route-tree.ts"],"names":[],"mappings":"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"}
@@ -1,374 +0,0 @@
1
- /**
2
- * Route Tree Test Utilities
3
- *
4
- * Builds a route tree from urls() patterns and exposes the manifest,
5
- * patterns map, and route entries for inspection. Replicates the
6
- * pattern extraction logic from createRouter.routes() (router.ts)
7
- * without importing the full router (which depends on virtual modules).
8
- *
9
- * Not shipped with the npm package (lives in __tests__/).
10
- */
11
- import React from "react";
12
- import { RSCRouterContext, runWithPrefixes, } from "../../server/context.js";
13
- import { findMatch, isLazyEvaluationNeeded, } from "../../router/pattern-matching.js";
14
- // ============================================================================
15
- // buildRouteTree
16
- // ============================================================================
17
- /**
18
- * Build a route tree from url patterns for inspection.
19
- *
20
- * Executes the urls() handler inside RSCRouterContext and extracts
21
- * the manifest, patterns, and route entries. Lazy includes are
22
- * eagerly evaluated so the full tree is available.
23
- *
24
- * @example
25
- * ```ts
26
- * const tree = buildRouteTree(
27
- * urls(({ path, layout }) => [
28
- * layout(RootLayout, () => [
29
- * path("/", HomePage, { name: "home" }),
30
- * path("/about", AboutPage, { name: "about" }),
31
- * ]),
32
- * ])
33
- * );
34
- *
35
- * // Inspect patterns
36
- * expect(tree.routes()).toEqual({ home: "/", about: "/about" });
37
- *
38
- * // Inspect segment IDs
39
- * expect(tree.segmentId("home")).toBe("M0L0L0R0");
40
- *
41
- * // Match a URL
42
- * const match = tree.match("/about");
43
- * expect(match?.routeKey).toBe("about");
44
- * ```
45
- */
46
- export function buildRouteTree(urlPatterns, options) {
47
- const manifest = new Map();
48
- const patterns = new Map();
49
- const patternsByPrefix = new Map();
50
- const trailingSlashMap = new Map();
51
- const mountIndex = options?.mountIndex ?? 0;
52
- // Synthetic root layout to match createRouter behavior
53
- const syntheticMapRoot = {
54
- type: "layout",
55
- id: `#synthetic-maproot-M${mountIndex}`,
56
- shortCode: `M${mountIndex}L0`,
57
- parent: null,
58
- handler: React.createElement(React.Fragment),
59
- middleware: [],
60
- revalidate: [],
61
- errorBoundary: [],
62
- notFoundBoundary: [],
63
- layout: [],
64
- parallel: [],
65
- intercept: [],
66
- loader: [],
67
- };
68
- let handlerResult = [];
69
- RSCRouterContext.run({
70
- manifest,
71
- patterns,
72
- patternsByPrefix,
73
- trailingSlash: trailingSlashMap,
74
- namespace: "root",
75
- parent: syntheticMapRoot,
76
- counters: {},
77
- mountIndex,
78
- }, () => {
79
- handlerResult = urlPatterns.handler();
80
- });
81
- // Eagerly evaluate lazy includes
82
- const lazyIncludes = findLazyIncludes(handlerResult);
83
- for (const lazy of lazyIncludes) {
84
- const lazyManifest = new Map();
85
- const lazyPatterns = new Map();
86
- const lazyCounters = {};
87
- if (lazy.context.counters) {
88
- for (const [key, value] of Object.entries(lazy.context.counters)) {
89
- lazyCounters[key] = value;
90
- }
91
- }
92
- RSCRouterContext.run({
93
- manifest: lazyManifest,
94
- patterns: lazyPatterns,
95
- patternsByPrefix: new Map(),
96
- trailingSlash: trailingSlashMap,
97
- namespace: "lazy",
98
- parent: lazy.context.parent ?? null,
99
- counters: lazyCounters,
100
- mountIndex,
101
- }, () => {
102
- const fullPrefix = (lazy.context.urlPrefix || "") + lazy.prefix;
103
- if (fullPrefix || lazy.context.namePrefix) {
104
- runWithPrefixes(fullPrefix, lazy.context.namePrefix, () => {
105
- lazy.patterns.handler();
106
- });
107
- }
108
- else {
109
- lazy.patterns.handler();
110
- }
111
- });
112
- for (const [k, v] of lazyManifest)
113
- manifest.set(k, v);
114
- for (const [k, v] of lazyPatterns)
115
- patterns.set(k, v);
116
- }
117
- // Build route entries for findMatch
118
- const routesObject = {};
119
- for (const [name, pattern] of patterns.entries()) {
120
- routesObject[name] = pattern;
121
- }
122
- const routeEntries = [
123
- {
124
- prefix: "",
125
- staticPrefix: "",
126
- routes: routesObject,
127
- handler: urlPatterns.handler,
128
- mountIndex,
129
- },
130
- ];
131
- return new RouteTree(manifest, patterns, routeEntries);
132
- }
133
- // ============================================================================
134
- // RouteTree
135
- // ============================================================================
136
- /**
137
- * Wrapper around the raw manifest/patterns/entries providing
138
- * convenient inspection methods for route tree, segment IDs,
139
- * middleware, intercepts, loaders, and parallel slots.
140
- */
141
- export class RouteTree {
142
- constructor(manifest, patterns, routeEntries) {
143
- this.manifest = manifest;
144
- this.patterns = patterns;
145
- this.routeEntries = routeEntries;
146
- }
147
- // --- Route patterns ---
148
- /** Route name -> URL pattern map as a plain object */
149
- routes() {
150
- return Object.fromEntries(this.patterns);
151
- }
152
- /** Get all route names */
153
- routeNames() {
154
- return [...this.patterns.keys()];
155
- }
156
- // --- Segment IDs ---
157
- /** Get the segment ID (shortCode) for a named route */
158
- segmentId(name) {
159
- return this.entry(name)?.shortCode;
160
- }
161
- /** Get segment IDs for all named routes */
162
- segmentIds() {
163
- const result = {};
164
- for (const name of this.patterns.keys()) {
165
- const id = this.segmentId(name);
166
- if (id)
167
- result[name] = id;
168
- }
169
- return result;
170
- }
171
- /**
172
- * Get the full segment path from root to a named route.
173
- * Returns an array of { id, type, pattern? } entries.
174
- */
175
- segmentPath(name) {
176
- const entry = this.entry(name);
177
- if (!entry)
178
- return [];
179
- const path = [];
180
- let current = entry;
181
- while (current) {
182
- path.unshift({
183
- id: current.shortCode,
184
- type: current.type,
185
- pattern: current.type === "route" ? current.pattern : undefined,
186
- });
187
- current = current.parent;
188
- }
189
- return path;
190
- }
191
- // --- Entry access ---
192
- /** Get the EntryData for a named route */
193
- entry(name) {
194
- const direct = this.manifest.get(name);
195
- if (direct)
196
- return direct;
197
- for (const [key, entry] of this.manifest) {
198
- if (key.endsWith(`.${name}`))
199
- return entry;
200
- }
201
- return undefined;
202
- }
203
- /** Get the EntryData for a route matching a URL pattern string */
204
- entryByPattern(pattern) {
205
- for (const entry of this.manifest.values()) {
206
- if (entry.type === "route" && entry.pattern === pattern) {
207
- return entry;
208
- }
209
- }
210
- return undefined;
211
- }
212
- // --- URL matching ---
213
- /** Match a pathname and return the match result (routeKey, params) */
214
- match(pathname) {
215
- const result = findMatch(pathname, this.routeEntries);
216
- if (!result || isLazyEvaluationNeeded(result))
217
- return null;
218
- return result;
219
- }
220
- // --- Middleware ---
221
- /** Get middleware functions attached to a named route/layout */
222
- middleware(name) {
223
- const entry = this.entry(name);
224
- return entry?.middleware ?? [];
225
- }
226
- /** Check if a named route/layout has middleware */
227
- hasMiddleware(name) {
228
- return this.middleware(name).length > 0;
229
- }
230
- /**
231
- * Collect all middleware in the chain from root to a named route.
232
- * Returns them in execution order (root first).
233
- */
234
- middlewareChain(name) {
235
- const entry = this.entry(name);
236
- if (!entry)
237
- return [];
238
- const chain = [];
239
- let current = entry;
240
- const stack = [];
241
- while (current) {
242
- stack.unshift(current);
243
- current = current.parent;
244
- }
245
- for (const e of stack) {
246
- if (e.middleware.length > 0) {
247
- chain.push({ segmentId: e.shortCode, count: e.middleware.length });
248
- }
249
- }
250
- return chain;
251
- }
252
- // --- Intercepts ---
253
- /** Get intercept entries for a named route/layout */
254
- intercepts(name) {
255
- const entry = this.entry(name);
256
- if (!entry)
257
- return [];
258
- return entry.intercept.map((i) => ({
259
- slotName: i.slotName,
260
- routeName: i.routeName,
261
- hasWhen: i.when.length > 0,
262
- whenCount: i.when.length,
263
- hasLoader: i.loader.length > 0,
264
- hasMiddleware: i.middleware.length > 0,
265
- }));
266
- }
267
- /** Get raw InterceptEntry objects for a named route/layout */
268
- interceptEntries(name) {
269
- return this.entry(name)?.intercept ?? [];
270
- }
271
- // --- Loaders ---
272
- /** Get loader entries for a named route/layout */
273
- loaders(name) {
274
- return this.entry(name)?.loader ?? [];
275
- }
276
- /** Check if a named route/layout has loaders */
277
- hasLoaders(name) {
278
- return this.loaders(name).length > 0;
279
- }
280
- // --- Parallel slots ---
281
- /** Get parallel slot entries (child EntryData with type="parallel") */
282
- parallelSlots(name) {
283
- return this.entry(name)?.parallel ?? [];
284
- }
285
- /** Get parallel slot names for a named route/layout */
286
- parallelSlotNames(name) {
287
- const entry = this.entry(name);
288
- if (!entry)
289
- return [];
290
- // Parallel entry handler is Record<`@${string}`, Handler>
291
- return entry.parallel.map((p) => {
292
- if (p.type === "parallel" && typeof p.handler === "object" && p.handler !== null) {
293
- return Object.keys(p.handler);
294
- }
295
- return [];
296
- }).flat();
297
- }
298
- // --- Error/NotFound boundaries ---
299
- /** Check if a named route/layout has an error boundary */
300
- hasErrorBoundary(name) {
301
- return (this.entry(name)?.errorBoundary?.length ?? 0) > 0;
302
- }
303
- /** Check if a named route/layout has a not-found boundary */
304
- hasNotFoundBoundary(name) {
305
- return (this.entry(name)?.notFoundBoundary?.length ?? 0) > 0;
306
- }
307
- // --- Cache ---
308
- /** Check if a named route/layout has cache config */
309
- hasCache(name) {
310
- return this.entry(name)?.cache !== undefined;
311
- }
312
- // --- Loading ---
313
- /** Check if a named route/layout has a loading component */
314
- hasLoading(name) {
315
- const entry = this.entry(name);
316
- if (!entry)
317
- return false;
318
- return "loading" in entry && entry.loading !== undefined;
319
- }
320
- // --- Debug ---
321
- /**
322
- * Debug print the route tree.
323
- * Useful for exploring the structure in tests.
324
- */
325
- debug() {
326
- const lines = ["Route Tree:"];
327
- for (const [name, pattern] of this.patterns) {
328
- const entry = this.entry(name);
329
- const segPath = this.segmentPath(name);
330
- const ids = segPath.map((s) => s.id).join(" > ");
331
- const extras = [];
332
- if (entry && entry.middleware.length > 0)
333
- extras.push(`mw:${entry.middleware.length}`);
334
- if (entry && entry.loader.length > 0)
335
- extras.push(`ld:${entry.loader.length}`);
336
- if (entry && entry.intercept.length > 0)
337
- extras.push(`int:${entry.intercept.length}`);
338
- if (entry && entry.parallel.length > 0)
339
- extras.push(`par:${entry.parallel.length}`);
340
- if (entry?.errorBoundary?.length)
341
- extras.push("err");
342
- if (entry?.cache)
343
- extras.push("cache");
344
- const suffix = extras.length > 0 ? ` {${extras.join(", ")}}` : "";
345
- lines.push(` ${name}: ${pattern} [${entry?.shortCode}] (${ids})${suffix}`);
346
- }
347
- return lines.join("\n");
348
- }
349
- }
350
- // ============================================================================
351
- // Internal helpers
352
- // ============================================================================
353
- function findLazyIncludes(items) {
354
- const result = [];
355
- for (const item of items) {
356
- if (!item)
357
- continue;
358
- if (item.type === "include") {
359
- const includeItem = item;
360
- if (includeItem.lazy === true && includeItem._lazyContext) {
361
- result.push({
362
- prefix: includeItem.prefix,
363
- patterns: includeItem.patterns,
364
- context: includeItem._lazyContext,
365
- });
366
- }
367
- }
368
- if (item.uses && Array.isArray(item.uses)) {
369
- result.push(...findLazyIncludes(item.uses));
370
- }
371
- }
372
- return result;
373
- }
374
- //# sourceMappingURL=route-tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"route-tree.js","sourceRoot":"","sources":["../../../src/__tests__/helpers/route-tree.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=match-result.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-result.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/match-result.test.ts"],"names":[],"mappings":""}
@@ -1,154 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { buildMatchResult } from "../router/match-result.js";
3
- // Mock metrics and logging (not relevant to these tests)
4
- vi.mock("../router/metrics.js", () => ({
5
- generateServerTiming: vi.fn(),
6
- logMetrics: vi.fn(),
7
- }));
8
- vi.mock("../router/logging.js", () => ({
9
- debugLog: vi.fn(),
10
- }));
11
- // ---------------------------------------------------------------------------
12
- // Helpers
13
- // ---------------------------------------------------------------------------
14
- function seg(id, overrides) {
15
- return {
16
- id,
17
- namespace: "",
18
- index: 0,
19
- type: "layout",
20
- component: `component-${id}`,
21
- ...overrides,
22
- };
23
- }
24
- function makeCtx(overrides) {
25
- return {
26
- isFullMatch: true,
27
- matched: { params: {} },
28
- routeKey: "test",
29
- request: { method: "GET" },
30
- pathname: "/test",
31
- clientSegmentIds: [],
32
- interceptResult: null,
33
- routeMiddleware: [],
34
- ...overrides,
35
- };
36
- }
37
- function makeState(overrides) {
38
- return {
39
- cacheHit: false,
40
- segments: [],
41
- matchedIds: [],
42
- interceptSegments: [],
43
- slots: {},
44
- ...overrides,
45
- };
46
- }
47
- // ---------------------------------------------------------------------------
48
- // Tests
49
- // ---------------------------------------------------------------------------
50
- describe("buildMatchResult", () => {
51
- describe("unique segment ID invariant", () => {
52
- it("produces unique matched IDs for full match with unique segments", () => {
53
- const segments = [
54
- seg("M0L0"),
55
- seg("M0L0C0"),
56
- seg("M0L0C0L0"),
57
- seg("M0L0C0L0R0", { type: "route" }),
58
- ];
59
- const result = buildMatchResult(segments, makeCtx(), makeState());
60
- expect(result.matched).toEqual([
61
- "M0L0", "M0L0C0", "M0L0C0L0", "M0L0C0L0R0",
62
- ]);
63
- expect(new Set(result.matched).size).toBe(result.matched.length);
64
- });
65
- it("deduplicates segment IDs when allSegments contains duplicates from include() scopes", () => {
66
- // Simulates the bug: include() scopes produce entries that resolve the
67
- // same shared layout segment. Without dedup, the client receives duplicate
68
- // IDs in matched[], changing the React tree depth and causing remounts.
69
- const segments = [
70
- seg("M0L0"),
71
- seg("M0L0C0"), // shared layout (first occurrence)
72
- seg("M0L0C0L0"),
73
- seg("M0L0C0"), // shared layout (DUPLICATE from second include scope)
74
- seg("M0L0C0L0R0", { type: "route" }),
75
- ];
76
- const result = buildMatchResult(segments, makeCtx(), makeState());
77
- // matched must have unique IDs - no duplicates
78
- expect(new Set(result.matched).size).toBe(result.matched.length);
79
- expect(result.matched).toEqual([
80
- "M0L0", "M0L0C0", "M0L0C0L0", "M0L0C0L0R0",
81
- ]);
82
- });
83
- it("deduplicates segments array (not just IDs) for full match", () => {
84
- const segments = [
85
- seg("M0L0"),
86
- seg("M0L0C0"),
87
- seg("M0L0"), // duplicate
88
- seg("M0L0C0L0R0", { type: "route" }),
89
- ];
90
- const result = buildMatchResult(segments, makeCtx(), makeState());
91
- // segments should also be deduped (keeping first occurrence)
92
- expect(result.segments.length).toBe(3);
93
- expect(result.segments.map((s) => s.id)).toEqual([
94
- "M0L0", "M0L0C0", "M0L0C0L0R0",
95
- ]);
96
- });
97
- it("deduplicates matched IDs for partial match", () => {
98
- const segments = [
99
- seg("M0L0"),
100
- seg("M0L0C0", { component: null }), // null = client already has it
101
- seg("M0L0C0L0", { component: null }), // null = client already has it
102
- seg("M0L0C0L0R0", { type: "route" }), // has component
103
- ];
104
- const state = makeState({
105
- // matchedIds with duplicates (simulating unfixed resolveAllSegmentsWithRevalidation)
106
- matchedIds: ["M0L0", "M0L0C0", "M0L0C0L0", "M0L0", "M0L0C0L0R0"],
107
- });
108
- const result = buildMatchResult(segments, makeCtx({ isFullMatch: false }), state);
109
- // matched must have unique IDs
110
- expect(new Set(result.matched).size).toBe(result.matched.length);
111
- expect(result.matched).toEqual([
112
- "M0L0", "M0L0C0", "M0L0C0L0", "M0L0C0L0R0",
113
- ]);
114
- });
115
- it("preserves order while deduplicating (first occurrence wins)", () => {
116
- const segments = [
117
- seg("A"),
118
- seg("B"),
119
- seg("C"),
120
- seg("A"), // duplicate of first
121
- seg("B"), // duplicate of second
122
- seg("D", { type: "route" }),
123
- ];
124
- const result = buildMatchResult(segments, makeCtx(), makeState());
125
- expect(result.matched).toEqual(["A", "B", "C", "D"]);
126
- });
127
- });
128
- describe("diff array", () => {
129
- it("diff matches segments for full match (unique)", () => {
130
- const segments = [
131
- seg("L0"),
132
- seg("L0R0", { type: "route" }),
133
- ];
134
- const result = buildMatchResult(segments, makeCtx(), makeState());
135
- expect(result.diff).toEqual(["L0", "L0R0"]);
136
- expect(new Set(result.diff).size).toBe(result.diff.length);
137
- });
138
- it("diff only includes segments with component for partial match", () => {
139
- const segments = [
140
- seg("L0"), // has component
141
- seg("L0C0", { component: null }), // null = skip
142
- seg("L0C0R0", { type: "route" }), // has component
143
- seg("L0D0", { type: "loader", component: null }), // loader = keep even if null
144
- ];
145
- const state = makeState({
146
- matchedIds: ["L0", "L0C0", "L0C0R0", "L0D0"],
147
- });
148
- const result = buildMatchResult(segments, makeCtx({ isFullMatch: false }), state);
149
- // diff = filtered segments (component !== null OR type === "loader")
150
- expect(result.diff).toEqual(["L0", "L0C0R0", "L0D0"]);
151
- });
152
- });
153
- });
154
- //# sourceMappingURL=match-result.test.js.map