@rangojs/router 0.0.0-experimental.108 → 0.0.0-experimental.109

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 (824) hide show
  1. package/README.md +1 -1
  2. package/dist/vite/index.js +12 -8
  3. package/package.json +1 -1
  4. package/skills/links/SKILL.md +11 -1
  5. package/skills/mime-routes/SKILL.md +2 -2
  6. package/skills/response-routes/SKILL.md +39 -14
  7. package/skills/typesafety/SKILL.md +98 -11
  8. package/src/__augment-tests__/augment.ts +44 -0
  9. package/src/__augment-tests__/augmented.check.ts +56 -3
  10. package/src/browser/react/use-handle.ts +17 -9
  11. package/src/client.tsx +4 -7
  12. package/src/href-client.ts +135 -18
  13. package/src/index.rsc.ts +2 -2
  14. package/src/index.ts +2 -2
  15. package/src/serialize.ts +243 -0
  16. package/src/urls/type-extraction.ts +6 -1
  17. package/src/use-loader.tsx +6 -4
  18. package/src/vite/discovery/state.ts +4 -4
  19. package/src/vite/router-discovery.ts +11 -10
  20. package/src/vite/utils/forward-user-plugins.ts +46 -17
  21. package/dist/__internal.d.ts +0 -83
  22. package/dist/__internal.d.ts.map +0 -1
  23. package/dist/__internal.js +0 -19
  24. package/dist/__internal.js.map +0 -1
  25. package/dist/__mocks__/version.d.ts +0 -7
  26. package/dist/__mocks__/version.d.ts.map +0 -1
  27. package/dist/__mocks__/version.js +0 -7
  28. package/dist/__mocks__/version.js.map +0 -1
  29. package/dist/__tests__/client-href.test.d.ts +0 -2
  30. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  31. package/dist/__tests__/client-href.test.js +0 -74
  32. package/dist/__tests__/client-href.test.js.map +0 -1
  33. package/dist/__tests__/component-utils.test.d.ts +0 -2
  34. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  35. package/dist/__tests__/component-utils.test.js +0 -51
  36. package/dist/__tests__/component-utils.test.js.map +0 -1
  37. package/dist/__tests__/event-controller.test.d.ts +0 -2
  38. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  39. package/dist/__tests__/event-controller.test.js +0 -538
  40. package/dist/__tests__/event-controller.test.js.map +0 -1
  41. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  42. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  43. package/dist/__tests__/helpers/route-tree.js +0 -374
  44. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  45. package/dist/__tests__/match-result.test.d.ts +0 -2
  46. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  47. package/dist/__tests__/match-result.test.js +0 -154
  48. package/dist/__tests__/match-result.test.js.map +0 -1
  49. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  50. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  51. package/dist/__tests__/navigation-store.test.js +0 -440
  52. package/dist/__tests__/navigation-store.test.js.map +0 -1
  53. package/dist/__tests__/partial-update.test.d.ts +0 -2
  54. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  55. package/dist/__tests__/partial-update.test.js +0 -1009
  56. package/dist/__tests__/partial-update.test.js.map +0 -1
  57. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  58. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  59. package/dist/__tests__/reverse-types.test.js +0 -656
  60. package/dist/__tests__/reverse-types.test.js.map +0 -1
  61. package/dist/__tests__/route-definition.test.d.ts +0 -2
  62. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  63. package/dist/__tests__/route-definition.test.js +0 -55
  64. package/dist/__tests__/route-definition.test.js.map +0 -1
  65. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  66. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  67. package/dist/__tests__/router-helpers.test.js +0 -377
  68. package/dist/__tests__/router-helpers.test.js.map +0 -1
  69. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  70. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  71. package/dist/__tests__/router-integration-2.test.js +0 -426
  72. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  73. package/dist/__tests__/router-integration.test.d.ts +0 -2
  74. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  75. package/dist/__tests__/router-integration.test.js +0 -1051
  76. package/dist/__tests__/router-integration.test.js.map +0 -1
  77. package/dist/__tests__/search-params.test.d.ts +0 -5
  78. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  79. package/dist/__tests__/search-params.test.js +0 -306
  80. package/dist/__tests__/search-params.test.js.map +0 -1
  81. package/dist/__tests__/segment-system.test.d.ts +0 -2
  82. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  83. package/dist/__tests__/segment-system.test.js +0 -627
  84. package/dist/__tests__/segment-system.test.js.map +0 -1
  85. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  86. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  87. package/dist/__tests__/static-handler-types.test.js +0 -63
  88. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  89. package/dist/__tests__/urls.test.d.ts +0 -2
  90. package/dist/__tests__/urls.test.d.ts.map +0 -1
  91. package/dist/__tests__/urls.test.js +0 -421
  92. package/dist/__tests__/urls.test.js.map +0 -1
  93. package/dist/__tests__/use-mount.test.d.ts +0 -2
  94. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  95. package/dist/__tests__/use-mount.test.js +0 -35
  96. package/dist/__tests__/use-mount.test.js.map +0 -1
  97. package/dist/bin/rango.d.ts +0 -2
  98. package/dist/bin/rango.d.ts.map +0 -1
  99. package/dist/bin/rango.js.map +0 -1
  100. package/dist/browser/event-controller.d.ts +0 -191
  101. package/dist/browser/event-controller.d.ts.map +0 -1
  102. package/dist/browser/event-controller.js +0 -559
  103. package/dist/browser/event-controller.js.map +0 -1
  104. package/dist/browser/index.d.ts +0 -2
  105. package/dist/browser/index.d.ts.map +0 -1
  106. package/dist/browser/index.js +0 -14
  107. package/dist/browser/index.js.map +0 -1
  108. package/dist/browser/link-interceptor.d.ts +0 -38
  109. package/dist/browser/link-interceptor.d.ts.map +0 -1
  110. package/dist/browser/link-interceptor.js +0 -99
  111. package/dist/browser/link-interceptor.js.map +0 -1
  112. package/dist/browser/logging.d.ts +0 -10
  113. package/dist/browser/logging.d.ts.map +0 -1
  114. package/dist/browser/logging.js +0 -29
  115. package/dist/browser/logging.js.map +0 -1
  116. package/dist/browser/lru-cache.d.ts +0 -17
  117. package/dist/browser/lru-cache.d.ts.map +0 -1
  118. package/dist/browser/lru-cache.js +0 -50
  119. package/dist/browser/lru-cache.js.map +0 -1
  120. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  121. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  122. package/dist/browser/merge-segment-loaders.js +0 -102
  123. package/dist/browser/merge-segment-loaders.js.map +0 -1
  124. package/dist/browser/navigation-bridge.d.ts +0 -102
  125. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  126. package/dist/browser/navigation-bridge.js +0 -708
  127. package/dist/browser/navigation-bridge.js.map +0 -1
  128. package/dist/browser/navigation-client.d.ts +0 -25
  129. package/dist/browser/navigation-client.d.ts.map +0 -1
  130. package/dist/browser/navigation-client.js +0 -157
  131. package/dist/browser/navigation-client.js.map +0 -1
  132. package/dist/browser/navigation-store.d.ts +0 -101
  133. package/dist/browser/navigation-store.d.ts.map +0 -1
  134. package/dist/browser/navigation-store.js +0 -625
  135. package/dist/browser/navigation-store.js.map +0 -1
  136. package/dist/browser/partial-update.d.ts +0 -75
  137. package/dist/browser/partial-update.d.ts.map +0 -1
  138. package/dist/browser/partial-update.js +0 -426
  139. package/dist/browser/partial-update.js.map +0 -1
  140. package/dist/browser/react/Link.d.ts +0 -86
  141. package/dist/browser/react/Link.d.ts.map +0 -1
  142. package/dist/browser/react/Link.js +0 -128
  143. package/dist/browser/react/Link.js.map +0 -1
  144. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  145. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  146. package/dist/browser/react/NavigationProvider.js +0 -216
  147. package/dist/browser/react/NavigationProvider.js.map +0 -1
  148. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  149. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  150. package/dist/browser/react/ScrollRestoration.js +0 -57
  151. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  152. package/dist/browser/react/context.d.ts +0 -46
  153. package/dist/browser/react/context.d.ts.map +0 -1
  154. package/dist/browser/react/context.js +0 -10
  155. package/dist/browser/react/context.js.map +0 -1
  156. package/dist/browser/react/index.d.ts +0 -11
  157. package/dist/browser/react/index.d.ts.map +0 -1
  158. package/dist/browser/react/index.js +0 -22
  159. package/dist/browser/react/index.js.map +0 -1
  160. package/dist/browser/react/location-state-shared.d.ts +0 -63
  161. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  162. package/dist/browser/react/location-state-shared.js +0 -81
  163. package/dist/browser/react/location-state-shared.js.map +0 -1
  164. package/dist/browser/react/location-state.d.ts +0 -23
  165. package/dist/browser/react/location-state.d.ts.map +0 -1
  166. package/dist/browser/react/location-state.js +0 -29
  167. package/dist/browser/react/location-state.js.map +0 -1
  168. package/dist/browser/react/mount-context.d.ts +0 -24
  169. package/dist/browser/react/mount-context.d.ts.map +0 -1
  170. package/dist/browser/react/mount-context.js +0 -24
  171. package/dist/browser/react/mount-context.js.map +0 -1
  172. package/dist/browser/react/use-action.d.ts +0 -64
  173. package/dist/browser/react/use-action.d.ts.map +0 -1
  174. package/dist/browser/react/use-action.js +0 -134
  175. package/dist/browser/react/use-action.js.map +0 -1
  176. package/dist/browser/react/use-client-cache.d.ts +0 -41
  177. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  178. package/dist/browser/react/use-client-cache.js +0 -39
  179. package/dist/browser/react/use-client-cache.js.map +0 -1
  180. package/dist/browser/react/use-handle.d.ts +0 -31
  181. package/dist/browser/react/use-handle.d.ts.map +0 -1
  182. package/dist/browser/react/use-handle.js +0 -144
  183. package/dist/browser/react/use-handle.js.map +0 -1
  184. package/dist/browser/react/use-href.d.ts +0 -33
  185. package/dist/browser/react/use-href.d.ts.map +0 -1
  186. package/dist/browser/react/use-href.js +0 -39
  187. package/dist/browser/react/use-href.js.map +0 -1
  188. package/dist/browser/react/use-link-status.d.ts +0 -37
  189. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  190. package/dist/browser/react/use-link-status.js +0 -99
  191. package/dist/browser/react/use-link-status.js.map +0 -1
  192. package/dist/browser/react/use-mount.d.ts +0 -25
  193. package/dist/browser/react/use-mount.d.ts.map +0 -1
  194. package/dist/browser/react/use-mount.js +0 -30
  195. package/dist/browser/react/use-mount.js.map +0 -1
  196. package/dist/browser/react/use-navigation.d.ts +0 -27
  197. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  198. package/dist/browser/react/use-navigation.js +0 -87
  199. package/dist/browser/react/use-navigation.js.map +0 -1
  200. package/dist/browser/react/use-segments.d.ts +0 -38
  201. package/dist/browser/react/use-segments.d.ts.map +0 -1
  202. package/dist/browser/react/use-segments.js +0 -130
  203. package/dist/browser/react/use-segments.js.map +0 -1
  204. package/dist/browser/request-controller.d.ts +0 -26
  205. package/dist/browser/request-controller.d.ts.map +0 -1
  206. package/dist/browser/request-controller.js +0 -147
  207. package/dist/browser/request-controller.js.map +0 -1
  208. package/dist/browser/rsc-router.d.ts +0 -129
  209. package/dist/browser/rsc-router.d.ts.map +0 -1
  210. package/dist/browser/rsc-router.js +0 -195
  211. package/dist/browser/rsc-router.js.map +0 -1
  212. package/dist/browser/scroll-restoration.d.ts +0 -93
  213. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  214. package/dist/browser/scroll-restoration.js +0 -321
  215. package/dist/browser/scroll-restoration.js.map +0 -1
  216. package/dist/browser/segment-structure-assert.d.ts +0 -17
  217. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  218. package/dist/browser/segment-structure-assert.js +0 -59
  219. package/dist/browser/segment-structure-assert.js.map +0 -1
  220. package/dist/browser/server-action-bridge.d.ts +0 -26
  221. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  222. package/dist/browser/server-action-bridge.js +0 -668
  223. package/dist/browser/server-action-bridge.js.map +0 -1
  224. package/dist/browser/shallow.d.ts +0 -12
  225. package/dist/browser/shallow.d.ts.map +0 -1
  226. package/dist/browser/shallow.js +0 -34
  227. package/dist/browser/shallow.js.map +0 -1
  228. package/dist/browser/types.d.ts +0 -369
  229. package/dist/browser/types.d.ts.map +0 -1
  230. package/dist/browser/types.js +0 -2
  231. package/dist/browser/types.js.map +0 -1
  232. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  233. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  234. package/dist/build/__tests__/generate-cli.test.js +0 -237
  235. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  236. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  237. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  238. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  239. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  240. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  241. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  242. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  243. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  244. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  245. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  246. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  247. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  248. package/dist/build/generate-manifest.d.ts +0 -81
  249. package/dist/build/generate-manifest.d.ts.map +0 -1
  250. package/dist/build/generate-manifest.js +0 -276
  251. package/dist/build/generate-manifest.js.map +0 -1
  252. package/dist/build/generate-route-types.d.ts +0 -115
  253. package/dist/build/generate-route-types.d.ts.map +0 -1
  254. package/dist/build/generate-route-types.js +0 -740
  255. package/dist/build/generate-route-types.js.map +0 -1
  256. package/dist/build/index.d.ts +0 -21
  257. package/dist/build/index.d.ts.map +0 -1
  258. package/dist/build/index.js +0 -21
  259. package/dist/build/index.js.map +0 -1
  260. package/dist/build/route-trie.d.ts +0 -71
  261. package/dist/build/route-trie.d.ts.map +0 -1
  262. package/dist/build/route-trie.js +0 -175
  263. package/dist/build/route-trie.js.map +0 -1
  264. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  265. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  266. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  267. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  268. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  269. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  270. package/dist/cache/__tests__/document-cache.test.js +0 -345
  271. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  272. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  273. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  274. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  275. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  276. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  277. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  278. package/dist/cache/__tests__/memory-store.test.js +0 -367
  279. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  280. package/dist/cache/cache-scope.d.ts +0 -102
  281. package/dist/cache/cache-scope.d.ts.map +0 -1
  282. package/dist/cache/cache-scope.js +0 -440
  283. package/dist/cache/cache-scope.js.map +0 -1
  284. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  285. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  286. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  287. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  288. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  289. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  290. package/dist/cache/cf/cf-cache-store.js +0 -242
  291. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  292. package/dist/cache/cf/index.d.ts +0 -14
  293. package/dist/cache/cf/index.d.ts.map +0 -1
  294. package/dist/cache/cf/index.js +0 -17
  295. package/dist/cache/cf/index.js.map +0 -1
  296. package/dist/cache/document-cache.d.ts +0 -64
  297. package/dist/cache/document-cache.d.ts.map +0 -1
  298. package/dist/cache/document-cache.js +0 -228
  299. package/dist/cache/document-cache.js.map +0 -1
  300. package/dist/cache/index.d.ts +0 -19
  301. package/dist/cache/index.d.ts.map +0 -1
  302. package/dist/cache/index.js +0 -21
  303. package/dist/cache/index.js.map +0 -1
  304. package/dist/cache/memory-segment-store.d.ts +0 -110
  305. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  306. package/dist/cache/memory-segment-store.js +0 -117
  307. package/dist/cache/memory-segment-store.js.map +0 -1
  308. package/dist/cache/memory-store.d.ts +0 -41
  309. package/dist/cache/memory-store.d.ts.map +0 -1
  310. package/dist/cache/memory-store.js +0 -191
  311. package/dist/cache/memory-store.js.map +0 -1
  312. package/dist/cache/types.d.ts +0 -317
  313. package/dist/cache/types.d.ts.map +0 -1
  314. package/dist/cache/types.js +0 -12
  315. package/dist/cache/types.js.map +0 -1
  316. package/dist/client.d.ts +0 -248
  317. package/dist/client.d.ts.map +0 -1
  318. package/dist/client.js +0 -367
  319. package/dist/client.js.map +0 -1
  320. package/dist/client.rsc.d.ts +0 -26
  321. package/dist/client.rsc.d.ts.map +0 -1
  322. package/dist/client.rsc.js +0 -46
  323. package/dist/client.rsc.js.map +0 -1
  324. package/dist/component-utils.d.ts +0 -36
  325. package/dist/component-utils.d.ts.map +0 -1
  326. package/dist/component-utils.js +0 -61
  327. package/dist/component-utils.js.map +0 -1
  328. package/dist/components/DefaultDocument.d.ts +0 -13
  329. package/dist/components/DefaultDocument.d.ts.map +0 -1
  330. package/dist/components/DefaultDocument.js +0 -15
  331. package/dist/components/DefaultDocument.js.map +0 -1
  332. package/dist/debug.d.ts +0 -58
  333. package/dist/debug.d.ts.map +0 -1
  334. package/dist/debug.js +0 -157
  335. package/dist/debug.js.map +0 -1
  336. package/dist/default-error-boundary.d.ts +0 -11
  337. package/dist/default-error-boundary.d.ts.map +0 -1
  338. package/dist/default-error-boundary.js +0 -45
  339. package/dist/default-error-boundary.js.map +0 -1
  340. package/dist/deps/browser.d.ts +0 -2
  341. package/dist/deps/browser.d.ts.map +0 -1
  342. package/dist/deps/browser.js +0 -3
  343. package/dist/deps/browser.js.map +0 -1
  344. package/dist/deps/html-stream-client.d.ts +0 -2
  345. package/dist/deps/html-stream-client.d.ts.map +0 -1
  346. package/dist/deps/html-stream-client.js +0 -3
  347. package/dist/deps/html-stream-client.js.map +0 -1
  348. package/dist/deps/html-stream-server.d.ts +0 -2
  349. package/dist/deps/html-stream-server.d.ts.map +0 -1
  350. package/dist/deps/html-stream-server.js +0 -3
  351. package/dist/deps/html-stream-server.js.map +0 -1
  352. package/dist/deps/rsc.d.ts +0 -2
  353. package/dist/deps/rsc.d.ts.map +0 -1
  354. package/dist/deps/rsc.js +0 -4
  355. package/dist/deps/rsc.js.map +0 -1
  356. package/dist/deps/ssr.d.ts +0 -2
  357. package/dist/deps/ssr.d.ts.map +0 -1
  358. package/dist/deps/ssr.js +0 -3
  359. package/dist/deps/ssr.js.map +0 -1
  360. package/dist/errors.d.ts +0 -174
  361. package/dist/errors.d.ts.map +0 -1
  362. package/dist/errors.js +0 -241
  363. package/dist/errors.js.map +0 -1
  364. package/dist/handle.d.ts +0 -78
  365. package/dist/handle.d.ts.map +0 -1
  366. package/dist/handle.js +0 -82
  367. package/dist/handle.js.map +0 -1
  368. package/dist/handles/MetaTags.d.ts +0 -14
  369. package/dist/handles/MetaTags.d.ts.map +0 -1
  370. package/dist/handles/MetaTags.js +0 -136
  371. package/dist/handles/MetaTags.js.map +0 -1
  372. package/dist/handles/index.d.ts +0 -6
  373. package/dist/handles/index.d.ts.map +0 -1
  374. package/dist/handles/index.js +0 -6
  375. package/dist/handles/index.js.map +0 -1
  376. package/dist/handles/meta.d.ts +0 -39
  377. package/dist/handles/meta.d.ts.map +0 -1
  378. package/dist/handles/meta.js +0 -202
  379. package/dist/handles/meta.js.map +0 -1
  380. package/dist/host/__tests__/errors.test.d.ts +0 -2
  381. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  382. package/dist/host/__tests__/errors.test.js +0 -76
  383. package/dist/host/__tests__/errors.test.js.map +0 -1
  384. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  385. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  386. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  387. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  388. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  389. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  390. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  391. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  392. package/dist/host/__tests__/router.test.d.ts +0 -2
  393. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  394. package/dist/host/__tests__/router.test.js +0 -241
  395. package/dist/host/__tests__/router.test.js.map +0 -1
  396. package/dist/host/__tests__/testing.test.d.ts +0 -2
  397. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  398. package/dist/host/__tests__/testing.test.js +0 -64
  399. package/dist/host/__tests__/testing.test.js.map +0 -1
  400. package/dist/host/__tests__/utils.test.d.ts +0 -2
  401. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  402. package/dist/host/__tests__/utils.test.js +0 -29
  403. package/dist/host/__tests__/utils.test.js.map +0 -1
  404. package/dist/host/cookie-handler.d.ts +0 -34
  405. package/dist/host/cookie-handler.d.ts.map +0 -1
  406. package/dist/host/cookie-handler.js +0 -124
  407. package/dist/host/cookie-handler.js.map +0 -1
  408. package/dist/host/errors.d.ts +0 -56
  409. package/dist/host/errors.d.ts.map +0 -1
  410. package/dist/host/errors.js +0 -79
  411. package/dist/host/errors.js.map +0 -1
  412. package/dist/host/index.d.ts +0 -29
  413. package/dist/host/index.d.ts.map +0 -1
  414. package/dist/host/index.js +0 -32
  415. package/dist/host/index.js.map +0 -1
  416. package/dist/host/pattern-matcher.d.ts +0 -36
  417. package/dist/host/pattern-matcher.d.ts.map +0 -1
  418. package/dist/host/pattern-matcher.js +0 -172
  419. package/dist/host/pattern-matcher.js.map +0 -1
  420. package/dist/host/router.d.ts +0 -26
  421. package/dist/host/router.d.ts.map +0 -1
  422. package/dist/host/router.js +0 -218
  423. package/dist/host/router.js.map +0 -1
  424. package/dist/host/testing.d.ts +0 -36
  425. package/dist/host/testing.d.ts.map +0 -1
  426. package/dist/host/testing.js +0 -55
  427. package/dist/host/testing.js.map +0 -1
  428. package/dist/host/types.d.ts +0 -115
  429. package/dist/host/types.d.ts.map +0 -1
  430. package/dist/host/types.js +0 -7
  431. package/dist/host/types.js.map +0 -1
  432. package/dist/host/utils.d.ts +0 -21
  433. package/dist/host/utils.d.ts.map +0 -1
  434. package/dist/host/utils.js +0 -23
  435. package/dist/host/utils.js.map +0 -1
  436. package/dist/href-client.d.ts +0 -131
  437. package/dist/href-client.d.ts.map +0 -1
  438. package/dist/href-client.js +0 -64
  439. package/dist/href-client.js.map +0 -1
  440. package/dist/href-context.d.ts +0 -29
  441. package/dist/href-context.d.ts.map +0 -1
  442. package/dist/href-context.js +0 -21
  443. package/dist/href-context.js.map +0 -1
  444. package/dist/index.d.ts +0 -73
  445. package/dist/index.d.ts.map +0 -1
  446. package/dist/index.js +0 -91
  447. package/dist/index.js.map +0 -1
  448. package/dist/index.rsc.d.ts +0 -32
  449. package/dist/index.rsc.d.ts.map +0 -1
  450. package/dist/index.rsc.js +0 -40
  451. package/dist/index.rsc.js.map +0 -1
  452. package/dist/internal-debug.d.ts +0 -2
  453. package/dist/internal-debug.d.ts.map +0 -1
  454. package/dist/internal-debug.js +0 -5
  455. package/dist/internal-debug.js.map +0 -1
  456. package/dist/loader.d.ts +0 -14
  457. package/dist/loader.d.ts.map +0 -1
  458. package/dist/loader.js +0 -20
  459. package/dist/loader.js.map +0 -1
  460. package/dist/loader.rsc.d.ts +0 -19
  461. package/dist/loader.rsc.d.ts.map +0 -1
  462. package/dist/loader.rsc.js +0 -99
  463. package/dist/loader.rsc.js.map +0 -1
  464. package/dist/network-error-thrower.d.ts +0 -17
  465. package/dist/network-error-thrower.d.ts.map +0 -1
  466. package/dist/network-error-thrower.js +0 -14
  467. package/dist/network-error-thrower.js.map +0 -1
  468. package/dist/outlet-context.d.ts +0 -13
  469. package/dist/outlet-context.d.ts.map +0 -1
  470. package/dist/outlet-context.js +0 -3
  471. package/dist/outlet-context.js.map +0 -1
  472. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  473. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  474. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  475. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  476. package/dist/prerender/param-hash.d.ts +0 -16
  477. package/dist/prerender/param-hash.d.ts.map +0 -1
  478. package/dist/prerender/param-hash.js +0 -36
  479. package/dist/prerender/param-hash.js.map +0 -1
  480. package/dist/prerender/store.d.ts +0 -38
  481. package/dist/prerender/store.d.ts.map +0 -1
  482. package/dist/prerender/store.js +0 -61
  483. package/dist/prerender/store.js.map +0 -1
  484. package/dist/prerender.d.ts +0 -66
  485. package/dist/prerender.d.ts.map +0 -1
  486. package/dist/prerender.js +0 -57
  487. package/dist/prerender.js.map +0 -1
  488. package/dist/reverse.d.ts +0 -196
  489. package/dist/reverse.d.ts.map +0 -1
  490. package/dist/reverse.js +0 -78
  491. package/dist/reverse.js.map +0 -1
  492. package/dist/root-error-boundary.d.ts +0 -33
  493. package/dist/root-error-boundary.d.ts.map +0 -1
  494. package/dist/root-error-boundary.js +0 -165
  495. package/dist/root-error-boundary.js.map +0 -1
  496. package/dist/route-content-wrapper.d.ts +0 -46
  497. package/dist/route-content-wrapper.d.ts.map +0 -1
  498. package/dist/route-content-wrapper.js +0 -77
  499. package/dist/route-content-wrapper.js.map +0 -1
  500. package/dist/route-definition.d.ts +0 -421
  501. package/dist/route-definition.d.ts.map +0 -1
  502. package/dist/route-definition.js +0 -868
  503. package/dist/route-definition.js.map +0 -1
  504. package/dist/route-map-builder.d.ts +0 -155
  505. package/dist/route-map-builder.d.ts.map +0 -1
  506. package/dist/route-map-builder.js +0 -237
  507. package/dist/route-map-builder.js.map +0 -1
  508. package/dist/route-types.d.ts +0 -165
  509. package/dist/route-types.d.ts.map +0 -1
  510. package/dist/route-types.js +0 -7
  511. package/dist/route-types.js.map +0 -1
  512. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  513. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  514. package/dist/router/__tests__/handler-context.test.js +0 -65
  515. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  516. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  517. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  518. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  519. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  520. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  521. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  522. package/dist/router/__tests__/match-context.test.js +0 -92
  523. package/dist/router/__tests__/match-context.test.js.map +0 -1
  524. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  525. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  526. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  527. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  528. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  529. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  530. package/dist/router/__tests__/match-result.test.js +0 -457
  531. package/dist/router/__tests__/match-result.test.js.map +0 -1
  532. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  533. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  534. package/dist/router/__tests__/on-error.test.js +0 -678
  535. package/dist/router/__tests__/on-error.test.js.map +0 -1
  536. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  537. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  538. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  539. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  540. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  541. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  542. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  543. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  544. package/dist/router/error-handling.d.ts +0 -77
  545. package/dist/router/error-handling.d.ts.map +0 -1
  546. package/dist/router/error-handling.js +0 -202
  547. package/dist/router/error-handling.js.map +0 -1
  548. package/dist/router/handler-context.d.ts +0 -20
  549. package/dist/router/handler-context.d.ts.map +0 -1
  550. package/dist/router/handler-context.js +0 -198
  551. package/dist/router/handler-context.js.map +0 -1
  552. package/dist/router/intercept-resolution.d.ts +0 -66
  553. package/dist/router/intercept-resolution.d.ts.map +0 -1
  554. package/dist/router/intercept-resolution.js +0 -246
  555. package/dist/router/intercept-resolution.js.map +0 -1
  556. package/dist/router/loader-resolution.d.ts +0 -64
  557. package/dist/router/loader-resolution.d.ts.map +0 -1
  558. package/dist/router/loader-resolution.js +0 -284
  559. package/dist/router/loader-resolution.js.map +0 -1
  560. package/dist/router/logging.d.ts +0 -15
  561. package/dist/router/logging.d.ts.map +0 -1
  562. package/dist/router/logging.js +0 -99
  563. package/dist/router/logging.js.map +0 -1
  564. package/dist/router/manifest.d.ts +0 -22
  565. package/dist/router/manifest.d.ts.map +0 -1
  566. package/dist/router/manifest.js +0 -181
  567. package/dist/router/manifest.js.map +0 -1
  568. package/dist/router/match-api.d.ts +0 -35
  569. package/dist/router/match-api.d.ts.map +0 -1
  570. package/dist/router/match-api.js +0 -406
  571. package/dist/router/match-api.js.map +0 -1
  572. package/dist/router/match-context.d.ts +0 -206
  573. package/dist/router/match-context.d.ts.map +0 -1
  574. package/dist/router/match-context.js +0 -17
  575. package/dist/router/match-context.js.map +0 -1
  576. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  577. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  578. package/dist/router/match-middleware/background-revalidation.js +0 -75
  579. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  580. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  581. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  582. package/dist/router/match-middleware/cache-lookup.js +0 -257
  583. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  584. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  585. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  586. package/dist/router/match-middleware/cache-store.js +0 -108
  587. package/dist/router/match-middleware/cache-store.js.map +0 -1
  588. package/dist/router/match-middleware/index.d.ts +0 -81
  589. package/dist/router/match-middleware/index.d.ts.map +0 -1
  590. package/dist/router/match-middleware/index.js +0 -80
  591. package/dist/router/match-middleware/index.js.map +0 -1
  592. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  593. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  594. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  595. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  596. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  597. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  598. package/dist/router/match-middleware/segment-resolution.js +0 -53
  599. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  600. package/dist/router/match-pipelines.d.ts +0 -147
  601. package/dist/router/match-pipelines.d.ts.map +0 -1
  602. package/dist/router/match-pipelines.js +0 -82
  603. package/dist/router/match-pipelines.js.map +0 -1
  604. package/dist/router/match-result.d.ts +0 -126
  605. package/dist/router/match-result.d.ts.map +0 -1
  606. package/dist/router/match-result.js +0 -93
  607. package/dist/router/match-result.js.map +0 -1
  608. package/dist/router/metrics.d.ts +0 -20
  609. package/dist/router/metrics.d.ts.map +0 -1
  610. package/dist/router/metrics.js +0 -47
  611. package/dist/router/metrics.js.map +0 -1
  612. package/dist/router/middleware.d.ts +0 -249
  613. package/dist/router/middleware.d.ts.map +0 -1
  614. package/dist/router/middleware.js +0 -434
  615. package/dist/router/middleware.js.map +0 -1
  616. package/dist/router/middleware.test.d.ts +0 -2
  617. package/dist/router/middleware.test.d.ts.map +0 -1
  618. package/dist/router/middleware.test.js +0 -816
  619. package/dist/router/middleware.test.js.map +0 -1
  620. package/dist/router/pattern-matching.d.ts +0 -149
  621. package/dist/router/pattern-matching.d.ts.map +0 -1
  622. package/dist/router/pattern-matching.js +0 -349
  623. package/dist/router/pattern-matching.js.map +0 -1
  624. package/dist/router/revalidation.d.ts +0 -44
  625. package/dist/router/revalidation.d.ts.map +0 -1
  626. package/dist/router/revalidation.js +0 -147
  627. package/dist/router/revalidation.js.map +0 -1
  628. package/dist/router/router-context.d.ts +0 -135
  629. package/dist/router/router-context.d.ts.map +0 -1
  630. package/dist/router/router-context.js +0 -36
  631. package/dist/router/router-context.js.map +0 -1
  632. package/dist/router/segment-resolution.d.ts +0 -127
  633. package/dist/router/segment-resolution.d.ts.map +0 -1
  634. package/dist/router/segment-resolution.js +0 -919
  635. package/dist/router/segment-resolution.js.map +0 -1
  636. package/dist/router/trie-matching.d.ts +0 -40
  637. package/dist/router/trie-matching.d.ts.map +0 -1
  638. package/dist/router/trie-matching.js +0 -127
  639. package/dist/router/trie-matching.js.map +0 -1
  640. package/dist/router/types.d.ts +0 -136
  641. package/dist/router/types.d.ts.map +0 -1
  642. package/dist/router/types.js +0 -7
  643. package/dist/router/types.js.map +0 -1
  644. package/dist/router.d.ts +0 -753
  645. package/dist/router.d.ts.map +0 -1
  646. package/dist/router.gen.d.ts +0 -6
  647. package/dist/router.gen.d.ts.map +0 -1
  648. package/dist/router.gen.js +0 -6
  649. package/dist/router.gen.js.map +0 -1
  650. package/dist/router.js +0 -1304
  651. package/dist/router.js.map +0 -1
  652. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  653. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  654. package/dist/rsc/__tests__/helpers.test.js +0 -140
  655. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  656. package/dist/rsc/handler.d.ts +0 -45
  657. package/dist/rsc/handler.d.ts.map +0 -1
  658. package/dist/rsc/handler.js +0 -1172
  659. package/dist/rsc/handler.js.map +0 -1
  660. package/dist/rsc/helpers.d.ts +0 -16
  661. package/dist/rsc/helpers.d.ts.map +0 -1
  662. package/dist/rsc/helpers.js +0 -55
  663. package/dist/rsc/helpers.js.map +0 -1
  664. package/dist/rsc/index.d.ts +0 -22
  665. package/dist/rsc/index.d.ts.map +0 -1
  666. package/dist/rsc/index.js +0 -23
  667. package/dist/rsc/index.js.map +0 -1
  668. package/dist/rsc/nonce.d.ts +0 -9
  669. package/dist/rsc/nonce.d.ts.map +0 -1
  670. package/dist/rsc/nonce.js +0 -18
  671. package/dist/rsc/nonce.js.map +0 -1
  672. package/dist/rsc/types.d.ts +0 -206
  673. package/dist/rsc/types.d.ts.map +0 -1
  674. package/dist/rsc/types.js +0 -8
  675. package/dist/rsc/types.js.map +0 -1
  676. package/dist/search-params.d.ts +0 -103
  677. package/dist/search-params.d.ts.map +0 -1
  678. package/dist/search-params.js +0 -74
  679. package/dist/search-params.js.map +0 -1
  680. package/dist/segment-system.d.ts +0 -75
  681. package/dist/segment-system.d.ts.map +0 -1
  682. package/dist/segment-system.js +0 -336
  683. package/dist/segment-system.js.map +0 -1
  684. package/dist/server/context.d.ts +0 -245
  685. package/dist/server/context.d.ts.map +0 -1
  686. package/dist/server/context.js +0 -197
  687. package/dist/server/context.js.map +0 -1
  688. package/dist/server/fetchable-loader-store.d.ts +0 -18
  689. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  690. package/dist/server/fetchable-loader-store.js +0 -18
  691. package/dist/server/fetchable-loader-store.js.map +0 -1
  692. package/dist/server/handle-store.d.ts +0 -85
  693. package/dist/server/handle-store.d.ts.map +0 -1
  694. package/dist/server/handle-store.js +0 -142
  695. package/dist/server/handle-store.js.map +0 -1
  696. package/dist/server/loader-registry.d.ts +0 -55
  697. package/dist/server/loader-registry.d.ts.map +0 -1
  698. package/dist/server/loader-registry.js +0 -132
  699. package/dist/server/loader-registry.js.map +0 -1
  700. package/dist/server/request-context.d.ts +0 -226
  701. package/dist/server/request-context.d.ts.map +0 -1
  702. package/dist/server/request-context.js +0 -290
  703. package/dist/server/request-context.js.map +0 -1
  704. package/dist/server/root-layout.d.ts +0 -4
  705. package/dist/server/root-layout.d.ts.map +0 -1
  706. package/dist/server/root-layout.js +0 -5
  707. package/dist/server/root-layout.js.map +0 -1
  708. package/dist/server.d.ts +0 -15
  709. package/dist/server.d.ts.map +0 -1
  710. package/dist/server.js +0 -20
  711. package/dist/server.js.map +0 -1
  712. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  713. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  714. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  715. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  716. package/dist/ssr/index.d.ts +0 -98
  717. package/dist/ssr/index.d.ts.map +0 -1
  718. package/dist/ssr/index.js +0 -158
  719. package/dist/ssr/index.js.map +0 -1
  720. package/dist/static-handler.d.ts +0 -50
  721. package/dist/static-handler.d.ts.map +0 -1
  722. package/dist/static-handler.gen.d.ts +0 -5
  723. package/dist/static-handler.gen.d.ts.map +0 -1
  724. package/dist/static-handler.gen.js +0 -5
  725. package/dist/static-handler.gen.js.map +0 -1
  726. package/dist/static-handler.js +0 -29
  727. package/dist/static-handler.js.map +0 -1
  728. package/dist/theme/ThemeProvider.d.ts +0 -20
  729. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  730. package/dist/theme/ThemeProvider.js +0 -240
  731. package/dist/theme/ThemeProvider.js.map +0 -1
  732. package/dist/theme/ThemeScript.d.ts +0 -48
  733. package/dist/theme/ThemeScript.d.ts.map +0 -1
  734. package/dist/theme/ThemeScript.js +0 -13
  735. package/dist/theme/ThemeScript.js.map +0 -1
  736. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  737. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  738. package/dist/theme/__tests__/theme.test.js +0 -103
  739. package/dist/theme/__tests__/theme.test.js.map +0 -1
  740. package/dist/theme/constants.d.ts +0 -29
  741. package/dist/theme/constants.d.ts.map +0 -1
  742. package/dist/theme/constants.js +0 -48
  743. package/dist/theme/constants.js.map +0 -1
  744. package/dist/theme/index.d.ts +0 -31
  745. package/dist/theme/index.d.ts.map +0 -1
  746. package/dist/theme/index.js +0 -36
  747. package/dist/theme/index.js.map +0 -1
  748. package/dist/theme/theme-context.d.ts +0 -40
  749. package/dist/theme/theme-context.d.ts.map +0 -1
  750. package/dist/theme/theme-context.js +0 -60
  751. package/dist/theme/theme-context.js.map +0 -1
  752. package/dist/theme/theme-script.d.ts +0 -27
  753. package/dist/theme/theme-script.d.ts.map +0 -1
  754. package/dist/theme/theme-script.js +0 -147
  755. package/dist/theme/theme-script.js.map +0 -1
  756. package/dist/theme/types.d.ts +0 -163
  757. package/dist/theme/types.d.ts.map +0 -1
  758. package/dist/theme/types.js +0 -11
  759. package/dist/theme/types.js.map +0 -1
  760. package/dist/theme/use-theme.d.ts +0 -12
  761. package/dist/theme/use-theme.d.ts.map +0 -1
  762. package/dist/theme/use-theme.js +0 -40
  763. package/dist/theme/use-theme.js.map +0 -1
  764. package/dist/types.d.ts +0 -1479
  765. package/dist/types.d.ts.map +0 -1
  766. package/dist/types.js +0 -10
  767. package/dist/types.js.map +0 -1
  768. package/dist/urls.d.ts +0 -441
  769. package/dist/urls.d.ts.map +0 -1
  770. package/dist/urls.gen.d.ts +0 -8
  771. package/dist/urls.gen.d.ts.map +0 -1
  772. package/dist/urls.gen.js +0 -8
  773. package/dist/urls.gen.js.map +0 -1
  774. package/dist/urls.js +0 -443
  775. package/dist/urls.js.map +0 -1
  776. package/dist/use-loader.d.ts +0 -127
  777. package/dist/use-loader.d.ts.map +0 -1
  778. package/dist/use-loader.js +0 -237
  779. package/dist/use-loader.js.map +0 -1
  780. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  781. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  782. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  783. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  784. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  785. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  786. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  787. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  788. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  789. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  790. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  791. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  792. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  793. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  794. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  795. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  796. package/dist/vite/ast-handler-extract.d.ts +0 -49
  797. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  798. package/dist/vite/ast-handler-extract.js +0 -249
  799. package/dist/vite/ast-handler-extract.js.map +0 -1
  800. package/dist/vite/expose-action-id.d.ts +0 -19
  801. package/dist/vite/expose-action-id.d.ts.map +0 -1
  802. package/dist/vite/expose-action-id.js +0 -250
  803. package/dist/vite/expose-action-id.js.map +0 -1
  804. package/dist/vite/expose-id-utils.d.ts +0 -69
  805. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  806. package/dist/vite/expose-id-utils.js +0 -289
  807. package/dist/vite/expose-id-utils.js.map +0 -1
  808. package/dist/vite/expose-internal-ids.d.ts +0 -22
  809. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  810. package/dist/vite/expose-internal-ids.js +0 -886
  811. package/dist/vite/expose-internal-ids.js.map +0 -1
  812. package/dist/vite/index.d.ts +0 -149
  813. package/dist/vite/index.d.ts.map +0 -1
  814. package/dist/vite/index.js.bak +0 -5448
  815. package/dist/vite/index.js.map +0 -1
  816. package/dist/vite/index.named-routes.gen.ts +0 -103
  817. package/dist/vite/package-resolution.d.ts +0 -43
  818. package/dist/vite/package-resolution.d.ts.map +0 -1
  819. package/dist/vite/package-resolution.js +0 -112
  820. package/dist/vite/package-resolution.js.map +0 -1
  821. package/dist/vite/virtual-entries.d.ts +0 -25
  822. package/dist/vite/virtual-entries.d.ts.map +0 -1
  823. package/dist/vite/virtual-entries.js +0 -110
  824. 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