@rangojs/router 0.4.2 → 0.4.3

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