@rangojs/router 0.0.0-experimental.101 → 0.0.0-experimental.102

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