@rangojs/router 0.0.0-experimental.22 → 0.0.0-experimental.23

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