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

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