@rangojs/router 0.4.2 → 0.5.0

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