@rangojs/router 0.0.0-experimental.46 → 0.0.0-experimental.48

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 (820) hide show
  1. package/dist/vite/index.js +1 -1
  2. package/package.json +1 -1
  3. package/src/browser/partial-update.ts +11 -0
  4. package/src/cache/cache-runtime.ts +15 -11
  5. package/src/router/logging.ts +1 -1
  6. package/src/router/match-middleware/background-revalidation.ts +30 -2
  7. package/src/router/match-middleware/cache-lookup.ts +66 -9
  8. package/src/router/match-middleware/cache-store.ts +48 -10
  9. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  10. package/src/router/match-middleware/segment-resolution.ts +7 -5
  11. package/src/router/match-result.ts +22 -6
  12. package/src/router/metrics.ts +6 -1
  13. package/src/router/router-context.ts +1 -0
  14. package/src/router/segment-resolution/fresh.ts +54 -14
  15. package/src/router/segment-resolution/loader-cache.ts +1 -0
  16. package/src/router/segment-resolution/revalidation.ts +38 -19
  17. package/src/types/handler-context.ts +103 -17
  18. package/dist/__internal.d.ts +0 -83
  19. package/dist/__internal.d.ts.map +0 -1
  20. package/dist/__internal.js +0 -19
  21. package/dist/__internal.js.map +0 -1
  22. package/dist/__mocks__/version.d.ts +0 -7
  23. package/dist/__mocks__/version.d.ts.map +0 -1
  24. package/dist/__mocks__/version.js +0 -7
  25. package/dist/__mocks__/version.js.map +0 -1
  26. package/dist/__tests__/client-href.test.d.ts +0 -2
  27. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  28. package/dist/__tests__/client-href.test.js +0 -74
  29. package/dist/__tests__/client-href.test.js.map +0 -1
  30. package/dist/__tests__/component-utils.test.d.ts +0 -2
  31. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  32. package/dist/__tests__/component-utils.test.js +0 -51
  33. package/dist/__tests__/component-utils.test.js.map +0 -1
  34. package/dist/__tests__/event-controller.test.d.ts +0 -2
  35. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  36. package/dist/__tests__/event-controller.test.js +0 -538
  37. package/dist/__tests__/event-controller.test.js.map +0 -1
  38. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  39. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  40. package/dist/__tests__/helpers/route-tree.js +0 -374
  41. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  42. package/dist/__tests__/match-result.test.d.ts +0 -2
  43. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  44. package/dist/__tests__/match-result.test.js +0 -154
  45. package/dist/__tests__/match-result.test.js.map +0 -1
  46. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  47. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  48. package/dist/__tests__/navigation-store.test.js +0 -440
  49. package/dist/__tests__/navigation-store.test.js.map +0 -1
  50. package/dist/__tests__/partial-update.test.d.ts +0 -2
  51. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  52. package/dist/__tests__/partial-update.test.js +0 -1009
  53. package/dist/__tests__/partial-update.test.js.map +0 -1
  54. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  55. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  56. package/dist/__tests__/reverse-types.test.js +0 -656
  57. package/dist/__tests__/reverse-types.test.js.map +0 -1
  58. package/dist/__tests__/route-definition.test.d.ts +0 -2
  59. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  60. package/dist/__tests__/route-definition.test.js +0 -55
  61. package/dist/__tests__/route-definition.test.js.map +0 -1
  62. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  63. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  64. package/dist/__tests__/router-helpers.test.js +0 -377
  65. package/dist/__tests__/router-helpers.test.js.map +0 -1
  66. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  67. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  68. package/dist/__tests__/router-integration-2.test.js +0 -426
  69. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  70. package/dist/__tests__/router-integration.test.d.ts +0 -2
  71. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  72. package/dist/__tests__/router-integration.test.js +0 -1051
  73. package/dist/__tests__/router-integration.test.js.map +0 -1
  74. package/dist/__tests__/search-params.test.d.ts +0 -5
  75. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  76. package/dist/__tests__/search-params.test.js +0 -306
  77. package/dist/__tests__/search-params.test.js.map +0 -1
  78. package/dist/__tests__/segment-system.test.d.ts +0 -2
  79. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  80. package/dist/__tests__/segment-system.test.js +0 -627
  81. package/dist/__tests__/segment-system.test.js.map +0 -1
  82. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  83. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  84. package/dist/__tests__/static-handler-types.test.js +0 -63
  85. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  86. package/dist/__tests__/urls.test.d.ts +0 -2
  87. package/dist/__tests__/urls.test.d.ts.map +0 -1
  88. package/dist/__tests__/urls.test.js +0 -421
  89. package/dist/__tests__/urls.test.js.map +0 -1
  90. package/dist/__tests__/use-mount.test.d.ts +0 -2
  91. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  92. package/dist/__tests__/use-mount.test.js +0 -35
  93. package/dist/__tests__/use-mount.test.js.map +0 -1
  94. package/dist/bin/rango.d.ts +0 -2
  95. package/dist/bin/rango.d.ts.map +0 -1
  96. package/dist/bin/rango.js.map +0 -1
  97. package/dist/browser/event-controller.d.ts +0 -191
  98. package/dist/browser/event-controller.d.ts.map +0 -1
  99. package/dist/browser/event-controller.js +0 -559
  100. package/dist/browser/event-controller.js.map +0 -1
  101. package/dist/browser/index.d.ts +0 -2
  102. package/dist/browser/index.d.ts.map +0 -1
  103. package/dist/browser/index.js +0 -14
  104. package/dist/browser/index.js.map +0 -1
  105. package/dist/browser/link-interceptor.d.ts +0 -38
  106. package/dist/browser/link-interceptor.d.ts.map +0 -1
  107. package/dist/browser/link-interceptor.js +0 -99
  108. package/dist/browser/link-interceptor.js.map +0 -1
  109. package/dist/browser/logging.d.ts +0 -10
  110. package/dist/browser/logging.d.ts.map +0 -1
  111. package/dist/browser/logging.js +0 -29
  112. package/dist/browser/logging.js.map +0 -1
  113. package/dist/browser/lru-cache.d.ts +0 -17
  114. package/dist/browser/lru-cache.d.ts.map +0 -1
  115. package/dist/browser/lru-cache.js +0 -50
  116. package/dist/browser/lru-cache.js.map +0 -1
  117. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  118. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  119. package/dist/browser/merge-segment-loaders.js +0 -102
  120. package/dist/browser/merge-segment-loaders.js.map +0 -1
  121. package/dist/browser/navigation-bridge.d.ts +0 -102
  122. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  123. package/dist/browser/navigation-bridge.js +0 -708
  124. package/dist/browser/navigation-bridge.js.map +0 -1
  125. package/dist/browser/navigation-client.d.ts +0 -25
  126. package/dist/browser/navigation-client.d.ts.map +0 -1
  127. package/dist/browser/navigation-client.js +0 -157
  128. package/dist/browser/navigation-client.js.map +0 -1
  129. package/dist/browser/navigation-store.d.ts +0 -101
  130. package/dist/browser/navigation-store.d.ts.map +0 -1
  131. package/dist/browser/navigation-store.js +0 -625
  132. package/dist/browser/navigation-store.js.map +0 -1
  133. package/dist/browser/partial-update.d.ts +0 -75
  134. package/dist/browser/partial-update.d.ts.map +0 -1
  135. package/dist/browser/partial-update.js +0 -426
  136. package/dist/browser/partial-update.js.map +0 -1
  137. package/dist/browser/react/Link.d.ts +0 -86
  138. package/dist/browser/react/Link.d.ts.map +0 -1
  139. package/dist/browser/react/Link.js +0 -128
  140. package/dist/browser/react/Link.js.map +0 -1
  141. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  142. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  143. package/dist/browser/react/NavigationProvider.js +0 -216
  144. package/dist/browser/react/NavigationProvider.js.map +0 -1
  145. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  146. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  147. package/dist/browser/react/ScrollRestoration.js +0 -57
  148. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  149. package/dist/browser/react/context.d.ts +0 -46
  150. package/dist/browser/react/context.d.ts.map +0 -1
  151. package/dist/browser/react/context.js +0 -10
  152. package/dist/browser/react/context.js.map +0 -1
  153. package/dist/browser/react/index.d.ts +0 -11
  154. package/dist/browser/react/index.d.ts.map +0 -1
  155. package/dist/browser/react/index.js +0 -22
  156. package/dist/browser/react/index.js.map +0 -1
  157. package/dist/browser/react/location-state-shared.d.ts +0 -63
  158. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  159. package/dist/browser/react/location-state-shared.js +0 -81
  160. package/dist/browser/react/location-state-shared.js.map +0 -1
  161. package/dist/browser/react/location-state.d.ts +0 -23
  162. package/dist/browser/react/location-state.d.ts.map +0 -1
  163. package/dist/browser/react/location-state.js +0 -29
  164. package/dist/browser/react/location-state.js.map +0 -1
  165. package/dist/browser/react/mount-context.d.ts +0 -24
  166. package/dist/browser/react/mount-context.d.ts.map +0 -1
  167. package/dist/browser/react/mount-context.js +0 -24
  168. package/dist/browser/react/mount-context.js.map +0 -1
  169. package/dist/browser/react/use-action.d.ts +0 -64
  170. package/dist/browser/react/use-action.d.ts.map +0 -1
  171. package/dist/browser/react/use-action.js +0 -134
  172. package/dist/browser/react/use-action.js.map +0 -1
  173. package/dist/browser/react/use-client-cache.d.ts +0 -41
  174. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  175. package/dist/browser/react/use-client-cache.js +0 -39
  176. package/dist/browser/react/use-client-cache.js.map +0 -1
  177. package/dist/browser/react/use-handle.d.ts +0 -31
  178. package/dist/browser/react/use-handle.d.ts.map +0 -1
  179. package/dist/browser/react/use-handle.js +0 -144
  180. package/dist/browser/react/use-handle.js.map +0 -1
  181. package/dist/browser/react/use-href.d.ts +0 -33
  182. package/dist/browser/react/use-href.d.ts.map +0 -1
  183. package/dist/browser/react/use-href.js +0 -39
  184. package/dist/browser/react/use-href.js.map +0 -1
  185. package/dist/browser/react/use-link-status.d.ts +0 -37
  186. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  187. package/dist/browser/react/use-link-status.js +0 -99
  188. package/dist/browser/react/use-link-status.js.map +0 -1
  189. package/dist/browser/react/use-mount.d.ts +0 -25
  190. package/dist/browser/react/use-mount.d.ts.map +0 -1
  191. package/dist/browser/react/use-mount.js +0 -30
  192. package/dist/browser/react/use-mount.js.map +0 -1
  193. package/dist/browser/react/use-navigation.d.ts +0 -27
  194. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  195. package/dist/browser/react/use-navigation.js +0 -87
  196. package/dist/browser/react/use-navigation.js.map +0 -1
  197. package/dist/browser/react/use-segments.d.ts +0 -38
  198. package/dist/browser/react/use-segments.d.ts.map +0 -1
  199. package/dist/browser/react/use-segments.js +0 -130
  200. package/dist/browser/react/use-segments.js.map +0 -1
  201. package/dist/browser/request-controller.d.ts +0 -26
  202. package/dist/browser/request-controller.d.ts.map +0 -1
  203. package/dist/browser/request-controller.js +0 -147
  204. package/dist/browser/request-controller.js.map +0 -1
  205. package/dist/browser/rsc-router.d.ts +0 -129
  206. package/dist/browser/rsc-router.d.ts.map +0 -1
  207. package/dist/browser/rsc-router.js +0 -195
  208. package/dist/browser/rsc-router.js.map +0 -1
  209. package/dist/browser/scroll-restoration.d.ts +0 -93
  210. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  211. package/dist/browser/scroll-restoration.js +0 -321
  212. package/dist/browser/scroll-restoration.js.map +0 -1
  213. package/dist/browser/segment-structure-assert.d.ts +0 -17
  214. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  215. package/dist/browser/segment-structure-assert.js +0 -59
  216. package/dist/browser/segment-structure-assert.js.map +0 -1
  217. package/dist/browser/server-action-bridge.d.ts +0 -26
  218. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  219. package/dist/browser/server-action-bridge.js +0 -668
  220. package/dist/browser/server-action-bridge.js.map +0 -1
  221. package/dist/browser/shallow.d.ts +0 -12
  222. package/dist/browser/shallow.d.ts.map +0 -1
  223. package/dist/browser/shallow.js +0 -34
  224. package/dist/browser/shallow.js.map +0 -1
  225. package/dist/browser/types.d.ts +0 -369
  226. package/dist/browser/types.d.ts.map +0 -1
  227. package/dist/browser/types.js +0 -2
  228. package/dist/browser/types.js.map +0 -1
  229. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  230. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  231. package/dist/build/__tests__/generate-cli.test.js +0 -237
  232. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  233. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  234. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  235. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  236. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  237. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  238. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  239. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  240. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  241. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  242. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  243. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  244. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  245. package/dist/build/generate-manifest.d.ts +0 -81
  246. package/dist/build/generate-manifest.d.ts.map +0 -1
  247. package/dist/build/generate-manifest.js +0 -276
  248. package/dist/build/generate-manifest.js.map +0 -1
  249. package/dist/build/generate-route-types.d.ts +0 -115
  250. package/dist/build/generate-route-types.d.ts.map +0 -1
  251. package/dist/build/generate-route-types.js +0 -740
  252. package/dist/build/generate-route-types.js.map +0 -1
  253. package/dist/build/index.d.ts +0 -21
  254. package/dist/build/index.d.ts.map +0 -1
  255. package/dist/build/index.js +0 -21
  256. package/dist/build/index.js.map +0 -1
  257. package/dist/build/route-trie.d.ts +0 -71
  258. package/dist/build/route-trie.d.ts.map +0 -1
  259. package/dist/build/route-trie.js +0 -175
  260. package/dist/build/route-trie.js.map +0 -1
  261. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  262. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  263. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  264. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  265. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  266. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  267. package/dist/cache/__tests__/document-cache.test.js +0 -345
  268. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  269. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  270. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  271. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  272. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  273. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  274. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  275. package/dist/cache/__tests__/memory-store.test.js +0 -367
  276. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  277. package/dist/cache/cache-scope.d.ts +0 -102
  278. package/dist/cache/cache-scope.d.ts.map +0 -1
  279. package/dist/cache/cache-scope.js +0 -440
  280. package/dist/cache/cache-scope.js.map +0 -1
  281. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  282. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  283. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  284. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  285. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  286. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  287. package/dist/cache/cf/cf-cache-store.js +0 -242
  288. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  289. package/dist/cache/cf/index.d.ts +0 -14
  290. package/dist/cache/cf/index.d.ts.map +0 -1
  291. package/dist/cache/cf/index.js +0 -17
  292. package/dist/cache/cf/index.js.map +0 -1
  293. package/dist/cache/document-cache.d.ts +0 -64
  294. package/dist/cache/document-cache.d.ts.map +0 -1
  295. package/dist/cache/document-cache.js +0 -228
  296. package/dist/cache/document-cache.js.map +0 -1
  297. package/dist/cache/index.d.ts +0 -19
  298. package/dist/cache/index.d.ts.map +0 -1
  299. package/dist/cache/index.js +0 -21
  300. package/dist/cache/index.js.map +0 -1
  301. package/dist/cache/memory-segment-store.d.ts +0 -110
  302. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  303. package/dist/cache/memory-segment-store.js +0 -117
  304. package/dist/cache/memory-segment-store.js.map +0 -1
  305. package/dist/cache/memory-store.d.ts +0 -41
  306. package/dist/cache/memory-store.d.ts.map +0 -1
  307. package/dist/cache/memory-store.js +0 -191
  308. package/dist/cache/memory-store.js.map +0 -1
  309. package/dist/cache/types.d.ts +0 -317
  310. package/dist/cache/types.d.ts.map +0 -1
  311. package/dist/cache/types.js +0 -12
  312. package/dist/cache/types.js.map +0 -1
  313. package/dist/client.d.ts +0 -248
  314. package/dist/client.d.ts.map +0 -1
  315. package/dist/client.js +0 -367
  316. package/dist/client.js.map +0 -1
  317. package/dist/client.rsc.d.ts +0 -26
  318. package/dist/client.rsc.d.ts.map +0 -1
  319. package/dist/client.rsc.js +0 -46
  320. package/dist/client.rsc.js.map +0 -1
  321. package/dist/component-utils.d.ts +0 -36
  322. package/dist/component-utils.d.ts.map +0 -1
  323. package/dist/component-utils.js +0 -61
  324. package/dist/component-utils.js.map +0 -1
  325. package/dist/components/DefaultDocument.d.ts +0 -13
  326. package/dist/components/DefaultDocument.d.ts.map +0 -1
  327. package/dist/components/DefaultDocument.js +0 -15
  328. package/dist/components/DefaultDocument.js.map +0 -1
  329. package/dist/debug.d.ts +0 -58
  330. package/dist/debug.d.ts.map +0 -1
  331. package/dist/debug.js +0 -157
  332. package/dist/debug.js.map +0 -1
  333. package/dist/default-error-boundary.d.ts +0 -11
  334. package/dist/default-error-boundary.d.ts.map +0 -1
  335. package/dist/default-error-boundary.js +0 -45
  336. package/dist/default-error-boundary.js.map +0 -1
  337. package/dist/deps/browser.d.ts +0 -2
  338. package/dist/deps/browser.d.ts.map +0 -1
  339. package/dist/deps/browser.js +0 -3
  340. package/dist/deps/browser.js.map +0 -1
  341. package/dist/deps/html-stream-client.d.ts +0 -2
  342. package/dist/deps/html-stream-client.d.ts.map +0 -1
  343. package/dist/deps/html-stream-client.js +0 -3
  344. package/dist/deps/html-stream-client.js.map +0 -1
  345. package/dist/deps/html-stream-server.d.ts +0 -2
  346. package/dist/deps/html-stream-server.d.ts.map +0 -1
  347. package/dist/deps/html-stream-server.js +0 -3
  348. package/dist/deps/html-stream-server.js.map +0 -1
  349. package/dist/deps/rsc.d.ts +0 -2
  350. package/dist/deps/rsc.d.ts.map +0 -1
  351. package/dist/deps/rsc.js +0 -4
  352. package/dist/deps/rsc.js.map +0 -1
  353. package/dist/deps/ssr.d.ts +0 -2
  354. package/dist/deps/ssr.d.ts.map +0 -1
  355. package/dist/deps/ssr.js +0 -3
  356. package/dist/deps/ssr.js.map +0 -1
  357. package/dist/errors.d.ts +0 -174
  358. package/dist/errors.d.ts.map +0 -1
  359. package/dist/errors.js +0 -241
  360. package/dist/errors.js.map +0 -1
  361. package/dist/handle.d.ts +0 -78
  362. package/dist/handle.d.ts.map +0 -1
  363. package/dist/handle.js +0 -82
  364. package/dist/handle.js.map +0 -1
  365. package/dist/handles/MetaTags.d.ts +0 -14
  366. package/dist/handles/MetaTags.d.ts.map +0 -1
  367. package/dist/handles/MetaTags.js +0 -136
  368. package/dist/handles/MetaTags.js.map +0 -1
  369. package/dist/handles/index.d.ts +0 -6
  370. package/dist/handles/index.d.ts.map +0 -1
  371. package/dist/handles/index.js +0 -6
  372. package/dist/handles/index.js.map +0 -1
  373. package/dist/handles/meta.d.ts +0 -39
  374. package/dist/handles/meta.d.ts.map +0 -1
  375. package/dist/handles/meta.js +0 -202
  376. package/dist/handles/meta.js.map +0 -1
  377. package/dist/host/__tests__/errors.test.d.ts +0 -2
  378. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  379. package/dist/host/__tests__/errors.test.js +0 -76
  380. package/dist/host/__tests__/errors.test.js.map +0 -1
  381. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  382. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  383. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  384. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  385. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  386. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  387. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  388. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  389. package/dist/host/__tests__/router.test.d.ts +0 -2
  390. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  391. package/dist/host/__tests__/router.test.js +0 -241
  392. package/dist/host/__tests__/router.test.js.map +0 -1
  393. package/dist/host/__tests__/testing.test.d.ts +0 -2
  394. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  395. package/dist/host/__tests__/testing.test.js +0 -64
  396. package/dist/host/__tests__/testing.test.js.map +0 -1
  397. package/dist/host/__tests__/utils.test.d.ts +0 -2
  398. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  399. package/dist/host/__tests__/utils.test.js +0 -29
  400. package/dist/host/__tests__/utils.test.js.map +0 -1
  401. package/dist/host/cookie-handler.d.ts +0 -34
  402. package/dist/host/cookie-handler.d.ts.map +0 -1
  403. package/dist/host/cookie-handler.js +0 -124
  404. package/dist/host/cookie-handler.js.map +0 -1
  405. package/dist/host/errors.d.ts +0 -56
  406. package/dist/host/errors.d.ts.map +0 -1
  407. package/dist/host/errors.js +0 -79
  408. package/dist/host/errors.js.map +0 -1
  409. package/dist/host/index.d.ts +0 -29
  410. package/dist/host/index.d.ts.map +0 -1
  411. package/dist/host/index.js +0 -32
  412. package/dist/host/index.js.map +0 -1
  413. package/dist/host/pattern-matcher.d.ts +0 -36
  414. package/dist/host/pattern-matcher.d.ts.map +0 -1
  415. package/dist/host/pattern-matcher.js +0 -172
  416. package/dist/host/pattern-matcher.js.map +0 -1
  417. package/dist/host/router.d.ts +0 -26
  418. package/dist/host/router.d.ts.map +0 -1
  419. package/dist/host/router.js +0 -218
  420. package/dist/host/router.js.map +0 -1
  421. package/dist/host/testing.d.ts +0 -36
  422. package/dist/host/testing.d.ts.map +0 -1
  423. package/dist/host/testing.js +0 -55
  424. package/dist/host/testing.js.map +0 -1
  425. package/dist/host/types.d.ts +0 -115
  426. package/dist/host/types.d.ts.map +0 -1
  427. package/dist/host/types.js +0 -7
  428. package/dist/host/types.js.map +0 -1
  429. package/dist/host/utils.d.ts +0 -21
  430. package/dist/host/utils.d.ts.map +0 -1
  431. package/dist/host/utils.js +0 -23
  432. package/dist/host/utils.js.map +0 -1
  433. package/dist/href-client.d.ts +0 -131
  434. package/dist/href-client.d.ts.map +0 -1
  435. package/dist/href-client.js +0 -64
  436. package/dist/href-client.js.map +0 -1
  437. package/dist/href-context.d.ts +0 -29
  438. package/dist/href-context.d.ts.map +0 -1
  439. package/dist/href-context.js +0 -21
  440. package/dist/href-context.js.map +0 -1
  441. package/dist/index.d.ts +0 -73
  442. package/dist/index.d.ts.map +0 -1
  443. package/dist/index.js +0 -91
  444. package/dist/index.js.map +0 -1
  445. package/dist/index.rsc.d.ts +0 -32
  446. package/dist/index.rsc.d.ts.map +0 -1
  447. package/dist/index.rsc.js +0 -40
  448. package/dist/index.rsc.js.map +0 -1
  449. package/dist/internal-debug.d.ts +0 -2
  450. package/dist/internal-debug.d.ts.map +0 -1
  451. package/dist/internal-debug.js +0 -5
  452. package/dist/internal-debug.js.map +0 -1
  453. package/dist/loader.d.ts +0 -14
  454. package/dist/loader.d.ts.map +0 -1
  455. package/dist/loader.js +0 -20
  456. package/dist/loader.js.map +0 -1
  457. package/dist/loader.rsc.d.ts +0 -19
  458. package/dist/loader.rsc.d.ts.map +0 -1
  459. package/dist/loader.rsc.js +0 -99
  460. package/dist/loader.rsc.js.map +0 -1
  461. package/dist/network-error-thrower.d.ts +0 -17
  462. package/dist/network-error-thrower.d.ts.map +0 -1
  463. package/dist/network-error-thrower.js +0 -14
  464. package/dist/network-error-thrower.js.map +0 -1
  465. package/dist/outlet-context.d.ts +0 -13
  466. package/dist/outlet-context.d.ts.map +0 -1
  467. package/dist/outlet-context.js +0 -3
  468. package/dist/outlet-context.js.map +0 -1
  469. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  470. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  471. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  472. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  473. package/dist/prerender/param-hash.d.ts +0 -16
  474. package/dist/prerender/param-hash.d.ts.map +0 -1
  475. package/dist/prerender/param-hash.js +0 -36
  476. package/dist/prerender/param-hash.js.map +0 -1
  477. package/dist/prerender/store.d.ts +0 -38
  478. package/dist/prerender/store.d.ts.map +0 -1
  479. package/dist/prerender/store.js +0 -61
  480. package/dist/prerender/store.js.map +0 -1
  481. package/dist/prerender.d.ts +0 -66
  482. package/dist/prerender.d.ts.map +0 -1
  483. package/dist/prerender.js +0 -57
  484. package/dist/prerender.js.map +0 -1
  485. package/dist/reverse.d.ts +0 -196
  486. package/dist/reverse.d.ts.map +0 -1
  487. package/dist/reverse.js +0 -78
  488. package/dist/reverse.js.map +0 -1
  489. package/dist/root-error-boundary.d.ts +0 -33
  490. package/dist/root-error-boundary.d.ts.map +0 -1
  491. package/dist/root-error-boundary.js +0 -165
  492. package/dist/root-error-boundary.js.map +0 -1
  493. package/dist/route-content-wrapper.d.ts +0 -46
  494. package/dist/route-content-wrapper.d.ts.map +0 -1
  495. package/dist/route-content-wrapper.js +0 -77
  496. package/dist/route-content-wrapper.js.map +0 -1
  497. package/dist/route-definition.d.ts +0 -421
  498. package/dist/route-definition.d.ts.map +0 -1
  499. package/dist/route-definition.js +0 -868
  500. package/dist/route-definition.js.map +0 -1
  501. package/dist/route-map-builder.d.ts +0 -155
  502. package/dist/route-map-builder.d.ts.map +0 -1
  503. package/dist/route-map-builder.js +0 -237
  504. package/dist/route-map-builder.js.map +0 -1
  505. package/dist/route-types.d.ts +0 -165
  506. package/dist/route-types.d.ts.map +0 -1
  507. package/dist/route-types.js +0 -7
  508. package/dist/route-types.js.map +0 -1
  509. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  510. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  511. package/dist/router/__tests__/handler-context.test.js +0 -65
  512. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  513. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  514. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  515. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  516. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  517. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  518. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  519. package/dist/router/__tests__/match-context.test.js +0 -92
  520. package/dist/router/__tests__/match-context.test.js.map +0 -1
  521. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  522. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  523. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  524. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  525. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  526. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  527. package/dist/router/__tests__/match-result.test.js +0 -457
  528. package/dist/router/__tests__/match-result.test.js.map +0 -1
  529. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  530. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  531. package/dist/router/__tests__/on-error.test.js +0 -678
  532. package/dist/router/__tests__/on-error.test.js.map +0 -1
  533. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  534. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  535. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  536. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  537. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  538. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  539. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  540. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  541. package/dist/router/error-handling.d.ts +0 -77
  542. package/dist/router/error-handling.d.ts.map +0 -1
  543. package/dist/router/error-handling.js +0 -202
  544. package/dist/router/error-handling.js.map +0 -1
  545. package/dist/router/handler-context.d.ts +0 -20
  546. package/dist/router/handler-context.d.ts.map +0 -1
  547. package/dist/router/handler-context.js +0 -198
  548. package/dist/router/handler-context.js.map +0 -1
  549. package/dist/router/intercept-resolution.d.ts +0 -66
  550. package/dist/router/intercept-resolution.d.ts.map +0 -1
  551. package/dist/router/intercept-resolution.js +0 -246
  552. package/dist/router/intercept-resolution.js.map +0 -1
  553. package/dist/router/loader-resolution.d.ts +0 -64
  554. package/dist/router/loader-resolution.d.ts.map +0 -1
  555. package/dist/router/loader-resolution.js +0 -284
  556. package/dist/router/loader-resolution.js.map +0 -1
  557. package/dist/router/logging.d.ts +0 -15
  558. package/dist/router/logging.d.ts.map +0 -1
  559. package/dist/router/logging.js +0 -99
  560. package/dist/router/logging.js.map +0 -1
  561. package/dist/router/manifest.d.ts +0 -22
  562. package/dist/router/manifest.d.ts.map +0 -1
  563. package/dist/router/manifest.js +0 -181
  564. package/dist/router/manifest.js.map +0 -1
  565. package/dist/router/match-api.d.ts +0 -35
  566. package/dist/router/match-api.d.ts.map +0 -1
  567. package/dist/router/match-api.js +0 -406
  568. package/dist/router/match-api.js.map +0 -1
  569. package/dist/router/match-context.d.ts +0 -206
  570. package/dist/router/match-context.d.ts.map +0 -1
  571. package/dist/router/match-context.js +0 -17
  572. package/dist/router/match-context.js.map +0 -1
  573. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  574. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  575. package/dist/router/match-middleware/background-revalidation.js +0 -75
  576. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  577. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  578. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  579. package/dist/router/match-middleware/cache-lookup.js +0 -257
  580. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  581. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  582. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  583. package/dist/router/match-middleware/cache-store.js +0 -108
  584. package/dist/router/match-middleware/cache-store.js.map +0 -1
  585. package/dist/router/match-middleware/index.d.ts +0 -81
  586. package/dist/router/match-middleware/index.d.ts.map +0 -1
  587. package/dist/router/match-middleware/index.js +0 -80
  588. package/dist/router/match-middleware/index.js.map +0 -1
  589. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  590. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  591. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  592. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  593. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  594. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  595. package/dist/router/match-middleware/segment-resolution.js +0 -53
  596. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  597. package/dist/router/match-pipelines.d.ts +0 -147
  598. package/dist/router/match-pipelines.d.ts.map +0 -1
  599. package/dist/router/match-pipelines.js +0 -82
  600. package/dist/router/match-pipelines.js.map +0 -1
  601. package/dist/router/match-result.d.ts +0 -126
  602. package/dist/router/match-result.d.ts.map +0 -1
  603. package/dist/router/match-result.js +0 -93
  604. package/dist/router/match-result.js.map +0 -1
  605. package/dist/router/metrics.d.ts +0 -20
  606. package/dist/router/metrics.d.ts.map +0 -1
  607. package/dist/router/metrics.js +0 -47
  608. package/dist/router/metrics.js.map +0 -1
  609. package/dist/router/middleware.d.ts +0 -249
  610. package/dist/router/middleware.d.ts.map +0 -1
  611. package/dist/router/middleware.js +0 -434
  612. package/dist/router/middleware.js.map +0 -1
  613. package/dist/router/middleware.test.d.ts +0 -2
  614. package/dist/router/middleware.test.d.ts.map +0 -1
  615. package/dist/router/middleware.test.js +0 -816
  616. package/dist/router/middleware.test.js.map +0 -1
  617. package/dist/router/pattern-matching.d.ts +0 -149
  618. package/dist/router/pattern-matching.d.ts.map +0 -1
  619. package/dist/router/pattern-matching.js +0 -349
  620. package/dist/router/pattern-matching.js.map +0 -1
  621. package/dist/router/revalidation.d.ts +0 -44
  622. package/dist/router/revalidation.d.ts.map +0 -1
  623. package/dist/router/revalidation.js +0 -147
  624. package/dist/router/revalidation.js.map +0 -1
  625. package/dist/router/router-context.d.ts +0 -135
  626. package/dist/router/router-context.d.ts.map +0 -1
  627. package/dist/router/router-context.js +0 -36
  628. package/dist/router/router-context.js.map +0 -1
  629. package/dist/router/segment-resolution.d.ts +0 -127
  630. package/dist/router/segment-resolution.d.ts.map +0 -1
  631. package/dist/router/segment-resolution.js +0 -919
  632. package/dist/router/segment-resolution.js.map +0 -1
  633. package/dist/router/trie-matching.d.ts +0 -40
  634. package/dist/router/trie-matching.d.ts.map +0 -1
  635. package/dist/router/trie-matching.js +0 -127
  636. package/dist/router/trie-matching.js.map +0 -1
  637. package/dist/router/types.d.ts +0 -136
  638. package/dist/router/types.d.ts.map +0 -1
  639. package/dist/router/types.js +0 -7
  640. package/dist/router/types.js.map +0 -1
  641. package/dist/router.d.ts +0 -753
  642. package/dist/router.d.ts.map +0 -1
  643. package/dist/router.gen.d.ts +0 -6
  644. package/dist/router.gen.d.ts.map +0 -1
  645. package/dist/router.gen.js +0 -6
  646. package/dist/router.gen.js.map +0 -1
  647. package/dist/router.js +0 -1304
  648. package/dist/router.js.map +0 -1
  649. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  650. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  651. package/dist/rsc/__tests__/helpers.test.js +0 -140
  652. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  653. package/dist/rsc/handler.d.ts +0 -45
  654. package/dist/rsc/handler.d.ts.map +0 -1
  655. package/dist/rsc/handler.js +0 -1172
  656. package/dist/rsc/handler.js.map +0 -1
  657. package/dist/rsc/helpers.d.ts +0 -16
  658. package/dist/rsc/helpers.d.ts.map +0 -1
  659. package/dist/rsc/helpers.js +0 -55
  660. package/dist/rsc/helpers.js.map +0 -1
  661. package/dist/rsc/index.d.ts +0 -22
  662. package/dist/rsc/index.d.ts.map +0 -1
  663. package/dist/rsc/index.js +0 -23
  664. package/dist/rsc/index.js.map +0 -1
  665. package/dist/rsc/nonce.d.ts +0 -9
  666. package/dist/rsc/nonce.d.ts.map +0 -1
  667. package/dist/rsc/nonce.js +0 -18
  668. package/dist/rsc/nonce.js.map +0 -1
  669. package/dist/rsc/types.d.ts +0 -206
  670. package/dist/rsc/types.d.ts.map +0 -1
  671. package/dist/rsc/types.js +0 -8
  672. package/dist/rsc/types.js.map +0 -1
  673. package/dist/search-params.d.ts +0 -103
  674. package/dist/search-params.d.ts.map +0 -1
  675. package/dist/search-params.js +0 -74
  676. package/dist/search-params.js.map +0 -1
  677. package/dist/segment-system.d.ts +0 -75
  678. package/dist/segment-system.d.ts.map +0 -1
  679. package/dist/segment-system.js +0 -336
  680. package/dist/segment-system.js.map +0 -1
  681. package/dist/server/context.d.ts +0 -245
  682. package/dist/server/context.d.ts.map +0 -1
  683. package/dist/server/context.js +0 -197
  684. package/dist/server/context.js.map +0 -1
  685. package/dist/server/fetchable-loader-store.d.ts +0 -18
  686. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  687. package/dist/server/fetchable-loader-store.js +0 -18
  688. package/dist/server/fetchable-loader-store.js.map +0 -1
  689. package/dist/server/handle-store.d.ts +0 -85
  690. package/dist/server/handle-store.d.ts.map +0 -1
  691. package/dist/server/handle-store.js +0 -142
  692. package/dist/server/handle-store.js.map +0 -1
  693. package/dist/server/loader-registry.d.ts +0 -55
  694. package/dist/server/loader-registry.d.ts.map +0 -1
  695. package/dist/server/loader-registry.js +0 -132
  696. package/dist/server/loader-registry.js.map +0 -1
  697. package/dist/server/request-context.d.ts +0 -226
  698. package/dist/server/request-context.d.ts.map +0 -1
  699. package/dist/server/request-context.js +0 -290
  700. package/dist/server/request-context.js.map +0 -1
  701. package/dist/server/root-layout.d.ts +0 -4
  702. package/dist/server/root-layout.d.ts.map +0 -1
  703. package/dist/server/root-layout.js +0 -5
  704. package/dist/server/root-layout.js.map +0 -1
  705. package/dist/server.d.ts +0 -15
  706. package/dist/server.d.ts.map +0 -1
  707. package/dist/server.js +0 -20
  708. package/dist/server.js.map +0 -1
  709. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  710. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  711. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  712. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  713. package/dist/ssr/index.d.ts +0 -98
  714. package/dist/ssr/index.d.ts.map +0 -1
  715. package/dist/ssr/index.js +0 -158
  716. package/dist/ssr/index.js.map +0 -1
  717. package/dist/static-handler.d.ts +0 -50
  718. package/dist/static-handler.d.ts.map +0 -1
  719. package/dist/static-handler.gen.d.ts +0 -5
  720. package/dist/static-handler.gen.d.ts.map +0 -1
  721. package/dist/static-handler.gen.js +0 -5
  722. package/dist/static-handler.gen.js.map +0 -1
  723. package/dist/static-handler.js +0 -29
  724. package/dist/static-handler.js.map +0 -1
  725. package/dist/theme/ThemeProvider.d.ts +0 -20
  726. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  727. package/dist/theme/ThemeProvider.js +0 -240
  728. package/dist/theme/ThemeProvider.js.map +0 -1
  729. package/dist/theme/ThemeScript.d.ts +0 -48
  730. package/dist/theme/ThemeScript.d.ts.map +0 -1
  731. package/dist/theme/ThemeScript.js +0 -13
  732. package/dist/theme/ThemeScript.js.map +0 -1
  733. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  734. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  735. package/dist/theme/__tests__/theme.test.js +0 -103
  736. package/dist/theme/__tests__/theme.test.js.map +0 -1
  737. package/dist/theme/constants.d.ts +0 -29
  738. package/dist/theme/constants.d.ts.map +0 -1
  739. package/dist/theme/constants.js +0 -48
  740. package/dist/theme/constants.js.map +0 -1
  741. package/dist/theme/index.d.ts +0 -31
  742. package/dist/theme/index.d.ts.map +0 -1
  743. package/dist/theme/index.js +0 -36
  744. package/dist/theme/index.js.map +0 -1
  745. package/dist/theme/theme-context.d.ts +0 -40
  746. package/dist/theme/theme-context.d.ts.map +0 -1
  747. package/dist/theme/theme-context.js +0 -60
  748. package/dist/theme/theme-context.js.map +0 -1
  749. package/dist/theme/theme-script.d.ts +0 -27
  750. package/dist/theme/theme-script.d.ts.map +0 -1
  751. package/dist/theme/theme-script.js +0 -147
  752. package/dist/theme/theme-script.js.map +0 -1
  753. package/dist/theme/types.d.ts +0 -163
  754. package/dist/theme/types.d.ts.map +0 -1
  755. package/dist/theme/types.js +0 -11
  756. package/dist/theme/types.js.map +0 -1
  757. package/dist/theme/use-theme.d.ts +0 -12
  758. package/dist/theme/use-theme.d.ts.map +0 -1
  759. package/dist/theme/use-theme.js +0 -40
  760. package/dist/theme/use-theme.js.map +0 -1
  761. package/dist/types.d.ts +0 -1479
  762. package/dist/types.d.ts.map +0 -1
  763. package/dist/types.js +0 -10
  764. package/dist/types.js.map +0 -1
  765. package/dist/urls.d.ts +0 -441
  766. package/dist/urls.d.ts.map +0 -1
  767. package/dist/urls.gen.d.ts +0 -8
  768. package/dist/urls.gen.d.ts.map +0 -1
  769. package/dist/urls.gen.js +0 -8
  770. package/dist/urls.gen.js.map +0 -1
  771. package/dist/urls.js +0 -443
  772. package/dist/urls.js.map +0 -1
  773. package/dist/use-loader.d.ts +0 -127
  774. package/dist/use-loader.d.ts.map +0 -1
  775. package/dist/use-loader.js +0 -237
  776. package/dist/use-loader.js.map +0 -1
  777. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  778. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  779. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  780. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  781. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  782. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  783. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  784. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  785. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  786. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  787. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  788. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  789. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  790. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  791. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  792. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  793. package/dist/vite/ast-handler-extract.d.ts +0 -49
  794. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  795. package/dist/vite/ast-handler-extract.js +0 -249
  796. package/dist/vite/ast-handler-extract.js.map +0 -1
  797. package/dist/vite/expose-action-id.d.ts +0 -19
  798. package/dist/vite/expose-action-id.d.ts.map +0 -1
  799. package/dist/vite/expose-action-id.js +0 -250
  800. package/dist/vite/expose-action-id.js.map +0 -1
  801. package/dist/vite/expose-id-utils.d.ts +0 -69
  802. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  803. package/dist/vite/expose-id-utils.js +0 -289
  804. package/dist/vite/expose-id-utils.js.map +0 -1
  805. package/dist/vite/expose-internal-ids.d.ts +0 -22
  806. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  807. package/dist/vite/expose-internal-ids.js +0 -886
  808. package/dist/vite/expose-internal-ids.js.map +0 -1
  809. package/dist/vite/index.d.ts +0 -149
  810. package/dist/vite/index.d.ts.map +0 -1
  811. package/dist/vite/index.js.map +0 -1
  812. package/dist/vite/index.named-routes.gen.ts +0 -103
  813. package/dist/vite/package-resolution.d.ts +0 -43
  814. package/dist/vite/package-resolution.d.ts.map +0 -1
  815. package/dist/vite/package-resolution.js +0 -112
  816. package/dist/vite/package-resolution.js.map +0 -1
  817. package/dist/vite/virtual-entries.d.ts +0 -25
  818. package/dist/vite/virtual-entries.d.ts.map +0 -1
  819. package/dist/vite/virtual-entries.js +0 -110
  820. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,627 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { createElement } from "react";
3
- // Sentinel components for identification in the element tree
4
- function MockOutletProvider(props) {
5
- return props.children;
6
- }
7
- function MockLoaderBoundary(props) {
8
- return props.children;
9
- }
10
- function MockRouteContentWrapper(props) {
11
- return null;
12
- }
13
- function MockMountContextProvider(props) {
14
- return props.children;
15
- }
16
- function MockRootErrorBoundary(props) {
17
- return props.children;
18
- }
19
- vi.mock("../client.js", () => ({
20
- OutletProvider: MockOutletProvider,
21
- }));
22
- vi.mock("../browser/react/mount-context.js", () => ({
23
- MountContextProvider: MockMountContextProvider,
24
- }));
25
- vi.mock("../route-content-wrapper.js", () => ({
26
- RouteContentWrapper: MockRouteContentWrapper,
27
- LoaderBoundary: MockLoaderBoundary,
28
- }));
29
- vi.mock("../root-error-boundary.js", () => ({
30
- RootErrorBoundary: MockRootErrorBoundary,
31
- }));
32
- import { renderSegments } from "../segment-system";
33
- // Helper to create a minimal segment
34
- function seg(overrides) {
35
- return {
36
- namespace: "",
37
- index: 0,
38
- component: createElement("div", null, `component-${overrides.id}`),
39
- ...overrides,
40
- };
41
- }
42
- function toTreeNode(node) {
43
- if (!node || typeof node !== "object")
44
- return null;
45
- const el = node;
46
- if (!el.type)
47
- return null;
48
- const typeName = typeof el.type === "string"
49
- ? el.type
50
- : el.type.name || "Anonymous";
51
- const children = [];
52
- // Walk both `children` and `content` props since layouts pass inner
53
- // content via the `content` prop to OutletProvider
54
- for (const prop of ["children", "content"]) {
55
- const val = el.props?.[prop];
56
- if (!val)
57
- continue;
58
- if (Array.isArray(val)) {
59
- for (const child of val) {
60
- const n = toTreeNode(child);
61
- if (n)
62
- children.push(n);
63
- }
64
- }
65
- else {
66
- const n = toTreeNode(val);
67
- if (n)
68
- children.push(n);
69
- }
70
- }
71
- return { type: el.type, typeName, props: el.props || {}, children };
72
- }
73
- // Find all nodes matching a component type in the tree
74
- function findAll(tree, fn) {
75
- if (!tree)
76
- return [];
77
- const results = [];
78
- if (tree.type === fn)
79
- results.push(tree);
80
- for (const child of tree.children) {
81
- results.push(...findAll(child, fn));
82
- }
83
- return results;
84
- }
85
- // Find first node matching a component type
86
- function findFirst(tree, fn) {
87
- if (!tree)
88
- return null;
89
- if (tree.type === fn)
90
- return tree;
91
- for (const child of tree.children) {
92
- const found = findFirst(child, fn);
93
- if (found)
94
- return found;
95
- }
96
- return null;
97
- }
98
- // Collect all nodes of a type in order (depth-first)
99
- function collectByType(tree, fn) {
100
- return findAll(tree, fn);
101
- }
102
- describe("segment-system", () => {
103
- describe("renderSegments", () => {
104
- describe("basic tree structure", () => {
105
- it("renders a single route segment with OutletProvider", async () => {
106
- const segments = [
107
- seg({ id: "R0", type: "route" }),
108
- ];
109
- const result = await renderSegments(segments);
110
- const tree = toTreeNode(result);
111
- // Root is RootErrorBoundary
112
- expect(tree.type).toBe(MockRootErrorBoundary);
113
- // Inside is an OutletProvider for the route
114
- const outlets = collectByType(tree, MockOutletProvider);
115
- expect(outlets).toHaveLength(1);
116
- expect(outlets[0].props.segment.id).toBe("R0");
117
- expect(outlets[0].props.content).toBeNull(); // route has no outlet content
118
- });
119
- it("nests layout around route (layout receives route as outlet content)", async () => {
120
- const segments = [
121
- seg({ id: "L0", type: "layout" }),
122
- seg({ id: "L0R0", type: "route" }),
123
- ];
124
- const result = await renderSegments(segments);
125
- const tree = toTreeNode(result);
126
- const outlets = collectByType(tree, MockOutletProvider);
127
- // Two OutletProviders
128
- expect(outlets).toHaveLength(2);
129
- // Outer (layout) wraps inner (route)
130
- // The outermost outlet should be the layout
131
- const outerOutlet = outlets[0];
132
- expect(outerOutlet.props.segment.id).toBe("L0");
133
- // Layout's content prop is the route's OutletProvider
134
- expect(outerOutlet.props.content).not.toBeNull();
135
- });
136
- it("nests multiple layouts (root -> inner -> route)", async () => {
137
- const segments = [
138
- seg({ id: "L0", type: "layout" }),
139
- seg({ id: "L0L0", type: "layout" }),
140
- seg({ id: "L0L0R0", type: "route" }),
141
- ];
142
- const result = await renderSegments(segments);
143
- const tree = toTreeNode(result);
144
- const outlets = collectByType(tree, MockOutletProvider);
145
- expect(outlets).toHaveLength(3);
146
- // Outermost is root layout L0
147
- expect(outlets[0].props.segment.id).toBe("L0");
148
- });
149
- it("always wraps with RootErrorBoundary", async () => {
150
- const segments = [
151
- seg({ id: "R0", type: "route" }),
152
- ];
153
- const result = await renderSegments(segments);
154
- const tree = toTreeNode(result);
155
- expect(tree.type).toBe(MockRootErrorBoundary);
156
- });
157
- });
158
- describe("tree structure based on loading property", () => {
159
- it("uses OutletProvider directly when loading is undefined", async () => {
160
- const segments = [
161
- seg({ id: "R0", type: "route", loading: undefined }),
162
- ];
163
- const result = await renderSegments(segments);
164
- const tree = toTreeNode(result);
165
- expect(collectByType(tree, MockOutletProvider)).toHaveLength(1);
166
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(0);
167
- expect(collectByType(tree, MockRouteContentWrapper)).toHaveLength(0);
168
- });
169
- it("uses OutletProvider directly when loading is null", async () => {
170
- const segments = [
171
- seg({ id: "R0", type: "route", loading: null }),
172
- ];
173
- const result = await renderSegments(segments);
174
- const tree = toTreeNode(result);
175
- expect(collectByType(tree, MockOutletProvider)).toHaveLength(1);
176
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(0);
177
- });
178
- it("uses LoaderBoundary when loading is false (defined but falsy)", async () => {
179
- const segments = [
180
- seg({ id: "R0", type: "route", loading: false }),
181
- ];
182
- const result = await renderSegments(segments);
183
- const tree = toTreeNode(result);
184
- // loading is false: not null, not undefined, so enters LoaderBoundary path
185
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(1);
186
- });
187
- it("uses LoaderBoundary + RouteContentWrapper when loading is a ReactNode", async () => {
188
- const loadingSkeleton = createElement("div", null, "Loading...");
189
- const segments = [
190
- seg({ id: "R0", type: "route", loading: loadingSkeleton }),
191
- ];
192
- const result = await renderSegments(segments);
193
- const tree = toTreeNode(result);
194
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(1);
195
- // RouteContentWrapper used as the children of LoaderBoundary
196
- expect(collectByType(tree, MockRouteContentWrapper)).toHaveLength(1);
197
- });
198
- it("uses OutletProvider with awaited data when loaders exist but no loading", async () => {
199
- const segments = [
200
- seg({ id: "R0", type: "route" }),
201
- seg({
202
- id: "R0D0.data",
203
- type: "loader",
204
- loaderId: "my-loader",
205
- loaderData: { value: 42 },
206
- }),
207
- ];
208
- const result = await renderSegments(segments);
209
- const tree = toTreeNode(result);
210
- // No LoaderBoundary because loading is undefined
211
- expect(collectByType(tree, MockLoaderBoundary)).toHaveLength(0);
212
- // Uses OutletProvider with loaderData injected
213
- const outlets = collectByType(tree, MockOutletProvider);
214
- expect(outlets).toHaveLength(1);
215
- expect(outlets[0].props.loaderData).toEqual({ "my-loader": { value: 42 } });
216
- });
217
- });
218
- describe("key generation", () => {
219
- it("uses segment ID as key when no params", async () => {
220
- const segments = [
221
- seg({ id: "R0", type: "route" }),
222
- ];
223
- const result = await renderSegments(segments);
224
- const tree = toTreeNode(result);
225
- const outlet = findFirst(tree, MockOutletProvider);
226
- // Key for route without params is just the ID
227
- expect(result.props.children.key).toBeDefined();
228
- });
229
- it("includes sorted params in key for route segments", async () => {
230
- const segments = [
231
- seg({
232
- id: "R0",
233
- type: "route",
234
- params: { slug: "hello", category: "tech" },
235
- }),
236
- ];
237
- const result = await renderSegments(segments);
238
- const tree = toTreeNode(result);
239
- const outlets = collectByType(tree, MockOutletProvider);
240
- // Params are sorted alphabetically in key
241
- expect(outlets[0].props.segment.params).toEqual({
242
- slug: "hello",
243
- category: "tech",
244
- });
245
- });
246
- it("excludes params from key for non-belongsToRoute layouts", async () => {
247
- // Layout that is shared (not belongsToRoute) should use just ID as key
248
- const segments = [
249
- seg({
250
- id: "L0",
251
- type: "layout",
252
- belongsToRoute: false,
253
- params: { slug: "hello" },
254
- }),
255
- seg({ id: "L0R0", type: "route" }),
256
- ];
257
- // Should not throw - params are excluded from key for shared layouts
258
- await renderSegments(segments);
259
- });
260
- });
261
- describe("parallel segment grouping", () => {
262
- it("attaches parallel segments to correct parent by ID prefix", async () => {
263
- const segments = [
264
- seg({ id: "L0", type: "layout" }),
265
- seg({ id: "L0R0", type: "route" }),
266
- seg({
267
- id: "L0.@sidebar",
268
- type: "parallel",
269
- slot: "@sidebar",
270
- }),
271
- ];
272
- const result = await renderSegments(segments);
273
- const tree = toTreeNode(result);
274
- const outlets = collectByType(tree, MockOutletProvider);
275
- // Layout L0 should have the parallel segment
276
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
277
- expect(layoutOutlet.props.parallel).toHaveLength(1);
278
- expect(layoutOutlet.props.parallel[0].slot).toBe("@sidebar");
279
- // Route should NOT have parallels
280
- const routeOutlet = outlets.find((o) => o.props.segment.id === "L0R0");
281
- expect(routeOutlet.props.parallel).toEqual([]);
282
- });
283
- it("groups multiple parallels under same parent", async () => {
284
- const segments = [
285
- seg({ id: "L0", type: "layout" }),
286
- seg({ id: "L0R0", type: "route" }),
287
- seg({ id: "L0.@sidebar", type: "parallel", slot: "@sidebar" }),
288
- seg({ id: "L0.@modal", type: "parallel", slot: "@modal" }),
289
- ];
290
- const result = await renderSegments(segments);
291
- const tree = toTreeNode(result);
292
- const outlets = collectByType(tree, MockOutletProvider);
293
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
294
- expect(layoutOutlet.props.parallel).toHaveLength(2);
295
- expect(layoutOutlet.props.parallel.map((p) => p.slot).sort()).toEqual(["@modal", "@sidebar"]);
296
- });
297
- });
298
- describe("loader segment grouping", () => {
299
- it("groups loader segments by parent ID and passes data to OutletProvider", async () => {
300
- const segments = [
301
- seg({ id: "L0", type: "layout" }),
302
- seg({ id: "L0R0", type: "route" }),
303
- seg({
304
- id: "L0D0.products",
305
- type: "loader",
306
- loaderId: "products-loader",
307
- loaderData: { products: ["a", "b"] },
308
- }),
309
- ];
310
- const result = await renderSegments(segments);
311
- const tree = toTreeNode(result);
312
- const outlets = collectByType(tree, MockOutletProvider);
313
- // Layout L0 gets the loader data (parent of "L0D0.products" is "L0")
314
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
315
- expect(layoutOutlet.props.loaderData).toEqual({
316
- "products-loader": { products: ["a", "b"] },
317
- });
318
- });
319
- it("resolves LoaderDataResult success wrapper", async () => {
320
- const segments = [
321
- seg({ id: "R0", type: "route" }),
322
- seg({
323
- id: "R0D0.data",
324
- type: "loader",
325
- loaderId: "my-loader",
326
- loaderData: {
327
- __loaderResult: true,
328
- ok: true,
329
- data: { value: 42 },
330
- },
331
- }),
332
- ];
333
- const result = await renderSegments(segments);
334
- const tree = toTreeNode(result);
335
- const outlets = collectByType(tree, MockOutletProvider);
336
- // Should unwrap LoaderDataResult to get the inner data
337
- expect(outlets[0].props.loaderData).toEqual({ "my-loader": { value: 42 } });
338
- });
339
- it("renders error fallback for LoaderDataResult with error+fallback", async () => {
340
- const errorFallback = createElement("div", null, "Error occurred");
341
- const segments = [
342
- seg({ id: "R0", type: "route" }),
343
- seg({
344
- id: "R0D0.data",
345
- type: "loader",
346
- loaderId: "my-loader",
347
- loaderData: {
348
- __loaderResult: true,
349
- ok: false,
350
- error: { message: "Failed" },
351
- fallback: errorFallback,
352
- },
353
- }),
354
- ];
355
- const result = await renderSegments(segments);
356
- const tree = toTreeNode(result);
357
- const outlets = collectByType(tree, MockOutletProvider);
358
- // The OutletProvider children should be the error fallback
359
- expect(outlets[0].props.children).toBe(errorFallback);
360
- });
361
- it("throws for LoaderDataResult with error but no fallback", async () => {
362
- const segments = [
363
- seg({ id: "R0", type: "route" }),
364
- seg({
365
- id: "R0D0.data",
366
- type: "loader",
367
- loaderId: "my-loader",
368
- loaderData: {
369
- __loaderResult: true,
370
- ok: false,
371
- error: { message: "Loader failed" },
372
- },
373
- }),
374
- ];
375
- await expect(renderSegments(segments)).rejects.toThrow("Loader failed");
376
- });
377
- });
378
- describe("segment ordering", () => {
379
- it("sorts segments by ID length regardless of input order", async () => {
380
- // Provide in wrong order
381
- const segments = [
382
- seg({ id: "L0L0R0", type: "route" }),
383
- seg({ id: "L0", type: "layout" }),
384
- seg({ id: "L0L0", type: "layout" }),
385
- ];
386
- const result = await renderSegments(segments);
387
- const tree = toTreeNode(result);
388
- const outlets = collectByType(tree, MockOutletProvider);
389
- expect(outlets).toHaveLength(3);
390
- // Outermost is root layout (L0)
391
- expect(outlets[0].props.segment.id).toBe("L0");
392
- });
393
- });
394
- describe("isAction behavior", () => {
395
- it("awaits component promises when isAction is true", async () => {
396
- const resolvedComponent = createElement("div", null, "resolved");
397
- const componentPromise = Promise.resolve(resolvedComponent);
398
- const segments = [
399
- seg({ id: "R0", type: "route", component: componentPromise }),
400
- ];
401
- const result = await renderSegments(segments, { isAction: true });
402
- const tree = toTreeNode(result);
403
- const outlets = collectByType(tree, MockOutletProvider);
404
- // Component should be resolved, not wrapped in RouteContentWrapper
405
- expect(outlets).toHaveLength(1);
406
- expect(collectByType(tree, MockRouteContentWrapper)).toHaveLength(0);
407
- });
408
- it("pre-resolves loader promises when isAction is true", async () => {
409
- const loadingSkeleton = createElement("div", null, "Loading...");
410
- const segments = [
411
- seg({ id: "R0", type: "route", loading: loadingSkeleton }),
412
- seg({
413
- id: "R0D0.data",
414
- type: "loader",
415
- loaderId: "test",
416
- loaderData: Promise.resolve({ count: 5 }),
417
- }),
418
- ];
419
- const result = await renderSegments(segments, { isAction: true });
420
- const tree = toTreeNode(result);
421
- const boundaries = collectByType(tree, MockLoaderBoundary);
422
- expect(boundaries).toHaveLength(1);
423
- // When isAction, the promise should be pre-resolved to an array
424
- expect(Array.isArray(boundaries[0].props.loaderDataPromise)).toBe(true);
425
- });
426
- });
427
- describe("forceAwait behavior", () => {
428
- it("pre-resolves loader promises when forceAwait is true", async () => {
429
- const loadingSkeleton = createElement("div", null, "Loading...");
430
- const segments = [
431
- seg({ id: "R0", type: "route", loading: loadingSkeleton }),
432
- seg({
433
- id: "R0D0.data",
434
- type: "loader",
435
- loaderId: "test",
436
- loaderData: Promise.resolve({ count: 5 }),
437
- }),
438
- ];
439
- const result = await renderSegments(segments, { forceAwait: true });
440
- const tree = toTreeNode(result);
441
- const boundaries = collectByType(tree, MockLoaderBoundary);
442
- expect(boundaries).toHaveLength(1);
443
- expect(Array.isArray(boundaries[0].props.loaderDataPromise)).toBe(true);
444
- });
445
- });
446
- describe("intercept segments", () => {
447
- it("injects intercept parallel segments into parent parallel group", async () => {
448
- const segments = [
449
- seg({ id: "L0", type: "layout" }),
450
- seg({ id: "L0R0", type: "route" }),
451
- ];
452
- const interceptSegments = [
453
- seg({
454
- id: "L0.@modal",
455
- type: "parallel",
456
- slot: "@modal",
457
- }),
458
- ];
459
- const result = await renderSegments(segments, { interceptSegments });
460
- const tree = toTreeNode(result);
461
- const outlets = collectByType(tree, MockOutletProvider);
462
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
463
- expect(layoutOutlet.props.parallel).toHaveLength(1);
464
- expect(layoutOutlet.props.parallel[0].slot).toBe("@modal");
465
- });
466
- it("injects intercept loader segments into parent loader group", async () => {
467
- const segments = [
468
- seg({ id: "L0", type: "layout" }),
469
- seg({ id: "L0R0", type: "route" }),
470
- ];
471
- const interceptSegments = [
472
- seg({
473
- id: "L0D0.modal-data",
474
- type: "loader",
475
- loaderId: "modal-loader",
476
- loaderData: { modal: true },
477
- }),
478
- ];
479
- const result = await renderSegments(segments, { interceptSegments });
480
- const tree = toTreeNode(result);
481
- const outlets = collectByType(tree, MockOutletProvider);
482
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
483
- expect(layoutOutlet.props.loaderData).toEqual({
484
- "modal-loader": { modal: true },
485
- });
486
- });
487
- });
488
- describe("rootLayout wrapping", () => {
489
- it("wraps tree with rootLayout when provided", async () => {
490
- const RootLayout = ({ children }) => createElement("div", null, children);
491
- const segments = [
492
- seg({ id: "R0", type: "route" }),
493
- ];
494
- const result = await renderSegments(segments, {
495
- rootLayout: RootLayout,
496
- });
497
- const tree = toTreeNode(result);
498
- // Root should be the RootLayout, not RootErrorBoundary
499
- expect(tree.type).toBe(RootLayout);
500
- // RootErrorBoundary should be inside
501
- const errorBoundary = findFirst(tree, MockRootErrorBoundary);
502
- expect(errorBoundary).not.toBeNull();
503
- });
504
- it("does not wrap with rootLayout when not provided", async () => {
505
- const segments = [
506
- seg({ id: "R0", type: "route" }),
507
- ];
508
- const result = await renderSegments(segments);
509
- const tree = toTreeNode(result);
510
- expect(tree.type).toBe(MockRootErrorBoundary);
511
- });
512
- });
513
- describe("MountContextProvider wrapping", () => {
514
- it("wraps segment with MountContextProvider when mountPath is set", async () => {
515
- const segments = [
516
- seg({ id: "R0", type: "route", mountPath: "/shop" }),
517
- ];
518
- const result = await renderSegments(segments);
519
- const tree = toTreeNode(result);
520
- const mounts = collectByType(tree, MockMountContextProvider);
521
- expect(mounts).toHaveLength(1);
522
- expect(mounts[0].props.value).toBe("/shop");
523
- });
524
- it("does not wrap when mountPath is undefined", async () => {
525
- const segments = [
526
- seg({ id: "R0", type: "route" }),
527
- ];
528
- const result = await renderSegments(segments);
529
- const tree = toTreeNode(result);
530
- const mounts = collectByType(tree, MockMountContextProvider);
531
- expect(mounts).toHaveLength(0);
532
- });
533
- it("wraps all segment types with MountContextProvider", async () => {
534
- const segments = [
535
- seg({ id: "L0", type: "layout", mountPath: "/shop" }),
536
- seg({ id: "L0R0", type: "route", mountPath: "/shop" }),
537
- ];
538
- const result = await renderSegments(segments);
539
- const tree = toTreeNode(result);
540
- const mounts = collectByType(tree, MockMountContextProvider);
541
- expect(mounts).toHaveLength(2);
542
- });
543
- });
544
- describe("error and notFound segments", () => {
545
- it("renders error segments in the tree", async () => {
546
- const segments = [
547
- seg({ id: "L0", type: "layout" }),
548
- seg({
549
- id: "L0E0",
550
- type: "error",
551
- component: createElement("div", null, "Error fallback"),
552
- error: {
553
- name: "Error",
554
- message: "Something broke",
555
- segmentId: "R0",
556
- segmentType: "route",
557
- },
558
- }),
559
- ];
560
- const result = await renderSegments(segments);
561
- const tree = toTreeNode(result);
562
- const outlets = collectByType(tree, MockOutletProvider);
563
- // Should have outlets for both layout and error segment
564
- expect(outlets).toHaveLength(2);
565
- const errorOutlet = outlets.find((o) => o.props.segment.type === "error");
566
- expect(errorOutlet).toBeDefined();
567
- });
568
- it("renders notFound segments in the tree", async () => {
569
- const segments = [
570
- seg({ id: "L0", type: "layout" }),
571
- seg({
572
- id: "L0NF0",
573
- type: "notFound",
574
- component: createElement("div", null, "Not found"),
575
- notFoundInfo: {
576
- message: "Page not found",
577
- segmentId: "R0",
578
- segmentType: "route",
579
- },
580
- }),
581
- ];
582
- const result = await renderSegments(segments);
583
- const tree = toTreeNode(result);
584
- const outlets = collectByType(tree, MockOutletProvider);
585
- expect(outlets).toHaveLength(2);
586
- const notFoundOutlet = outlets.find((o) => o.props.segment.type === "notFound");
587
- expect(notFoundOutlet).toBeDefined();
588
- });
589
- });
590
- describe("empty segments", () => {
591
- it("returns RootErrorBoundary wrapping null for empty segments", async () => {
592
- const result = await renderSegments([]);
593
- const tree = toTreeNode(result);
594
- expect(tree.type).toBe(MockRootErrorBoundary);
595
- });
596
- });
597
- describe("parallel segment loaders", () => {
598
- it("includes loaders from parallel segments in parent loader list", async () => {
599
- const segments = [
600
- seg({ id: "L0", type: "layout" }),
601
- seg({ id: "L0R0", type: "route" }),
602
- seg({
603
- id: "L0.@sidebar",
604
- type: "parallel",
605
- slot: "@sidebar",
606
- }),
607
- seg({
608
- id: "L0.@sidebarD0.data",
609
- type: "loader",
610
- loaderId: "sidebar-loader",
611
- loaderData: { sidebar: true },
612
- }),
613
- ];
614
- const result = await renderSegments(segments);
615
- const tree = toTreeNode(result);
616
- const outlets = collectByType(tree, MockOutletProvider);
617
- // The layout should have sidebar loader data accessible
618
- // (loaders from parallels are merged into parent's loaders)
619
- const layoutOutlet = outlets.find((o) => o.props.segment.id === "L0");
620
- // The sidebar loader is grouped under the parallel "L0.@sidebar"
621
- // which is a child of L0, so it gets included in L0's loaders
622
- expect(layoutOutlet.props.loaderData).toBeDefined();
623
- });
624
- });
625
- });
626
- });
627
- //# sourceMappingURL=segment-system.test.js.map