@rangojs/router 0.0.0-experimental.109 → 0.0.0-experimental.110

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 (811) hide show
  1. package/dist/__internal.d.ts +83 -0
  2. package/dist/__internal.d.ts.map +1 -0
  3. package/dist/__internal.js +19 -0
  4. package/dist/__internal.js.map +1 -0
  5. package/dist/__mocks__/version.d.ts +7 -0
  6. package/dist/__mocks__/version.d.ts.map +1 -0
  7. package/dist/__mocks__/version.js +7 -0
  8. package/dist/__mocks__/version.js.map +1 -0
  9. package/dist/__tests__/client-href.test.d.ts +2 -0
  10. package/dist/__tests__/client-href.test.d.ts.map +1 -0
  11. package/dist/__tests__/client-href.test.js +74 -0
  12. package/dist/__tests__/client-href.test.js.map +1 -0
  13. package/dist/__tests__/component-utils.test.d.ts +2 -0
  14. package/dist/__tests__/component-utils.test.d.ts.map +1 -0
  15. package/dist/__tests__/component-utils.test.js +51 -0
  16. package/dist/__tests__/component-utils.test.js.map +1 -0
  17. package/dist/__tests__/event-controller.test.d.ts +2 -0
  18. package/dist/__tests__/event-controller.test.d.ts.map +1 -0
  19. package/dist/__tests__/event-controller.test.js +538 -0
  20. package/dist/__tests__/event-controller.test.js.map +1 -0
  21. package/dist/__tests__/helpers/route-tree.d.ts +118 -0
  22. package/dist/__tests__/helpers/route-tree.d.ts.map +1 -0
  23. package/dist/__tests__/helpers/route-tree.js +374 -0
  24. package/dist/__tests__/helpers/route-tree.js.map +1 -0
  25. package/dist/__tests__/match-result.test.d.ts +2 -0
  26. package/dist/__tests__/match-result.test.d.ts.map +1 -0
  27. package/dist/__tests__/match-result.test.js +154 -0
  28. package/dist/__tests__/match-result.test.js.map +1 -0
  29. package/dist/__tests__/navigation-store.test.d.ts +2 -0
  30. package/dist/__tests__/navigation-store.test.d.ts.map +1 -0
  31. package/dist/__tests__/navigation-store.test.js +440 -0
  32. package/dist/__tests__/navigation-store.test.js.map +1 -0
  33. package/dist/__tests__/partial-update.test.d.ts +2 -0
  34. package/dist/__tests__/partial-update.test.d.ts.map +1 -0
  35. package/dist/__tests__/partial-update.test.js +1009 -0
  36. package/dist/__tests__/partial-update.test.js.map +1 -0
  37. package/dist/__tests__/reverse-types.test.d.ts +8 -0
  38. package/dist/__tests__/reverse-types.test.d.ts.map +1 -0
  39. package/dist/__tests__/reverse-types.test.js +656 -0
  40. package/dist/__tests__/reverse-types.test.js.map +1 -0
  41. package/dist/__tests__/route-definition.test.d.ts +2 -0
  42. package/dist/__tests__/route-definition.test.d.ts.map +1 -0
  43. package/dist/__tests__/route-definition.test.js +55 -0
  44. package/dist/__tests__/route-definition.test.js.map +1 -0
  45. package/dist/__tests__/router-helpers.test.d.ts +2 -0
  46. package/dist/__tests__/router-helpers.test.d.ts.map +1 -0
  47. package/dist/__tests__/router-helpers.test.js +377 -0
  48. package/dist/__tests__/router-helpers.test.js.map +1 -0
  49. package/dist/__tests__/router-integration-2.test.d.ts +2 -0
  50. package/dist/__tests__/router-integration-2.test.d.ts.map +1 -0
  51. package/dist/__tests__/router-integration-2.test.js +426 -0
  52. package/dist/__tests__/router-integration-2.test.js.map +1 -0
  53. package/dist/__tests__/router-integration.test.d.ts +2 -0
  54. package/dist/__tests__/router-integration.test.d.ts.map +1 -0
  55. package/dist/__tests__/router-integration.test.js +1051 -0
  56. package/dist/__tests__/router-integration.test.js.map +1 -0
  57. package/dist/__tests__/search-params.test.d.ts +5 -0
  58. package/dist/__tests__/search-params.test.d.ts.map +1 -0
  59. package/dist/__tests__/search-params.test.js +306 -0
  60. package/dist/__tests__/search-params.test.js.map +1 -0
  61. package/dist/__tests__/segment-system.test.d.ts +2 -0
  62. package/dist/__tests__/segment-system.test.d.ts.map +1 -0
  63. package/dist/__tests__/segment-system.test.js +627 -0
  64. package/dist/__tests__/segment-system.test.js.map +1 -0
  65. package/dist/__tests__/static-handler-types.test.d.ts +8 -0
  66. package/dist/__tests__/static-handler-types.test.d.ts.map +1 -0
  67. package/dist/__tests__/static-handler-types.test.js +63 -0
  68. package/dist/__tests__/static-handler-types.test.js.map +1 -0
  69. package/dist/__tests__/urls.test.d.ts +2 -0
  70. package/dist/__tests__/urls.test.d.ts.map +1 -0
  71. package/dist/__tests__/urls.test.js +421 -0
  72. package/dist/__tests__/urls.test.js.map +1 -0
  73. package/dist/__tests__/use-mount.test.d.ts +2 -0
  74. package/dist/__tests__/use-mount.test.d.ts.map +1 -0
  75. package/dist/__tests__/use-mount.test.js +35 -0
  76. package/dist/__tests__/use-mount.test.js.map +1 -0
  77. package/dist/bin/rango.d.ts +2 -0
  78. package/dist/bin/rango.d.ts.map +1 -0
  79. package/dist/bin/rango.js.map +1 -0
  80. package/dist/browser/event-controller.d.ts +191 -0
  81. package/dist/browser/event-controller.d.ts.map +1 -0
  82. package/dist/browser/event-controller.js +559 -0
  83. package/dist/browser/event-controller.js.map +1 -0
  84. package/dist/browser/index.d.ts +2 -0
  85. package/dist/browser/index.d.ts.map +1 -0
  86. package/dist/browser/index.js +14 -0
  87. package/dist/browser/index.js.map +1 -0
  88. package/dist/browser/link-interceptor.d.ts +38 -0
  89. package/dist/browser/link-interceptor.d.ts.map +1 -0
  90. package/dist/browser/link-interceptor.js +99 -0
  91. package/dist/browser/link-interceptor.js.map +1 -0
  92. package/dist/browser/logging.d.ts +10 -0
  93. package/dist/browser/logging.d.ts.map +1 -0
  94. package/dist/browser/logging.js +29 -0
  95. package/dist/browser/logging.js.map +1 -0
  96. package/dist/browser/lru-cache.d.ts +17 -0
  97. package/dist/browser/lru-cache.d.ts.map +1 -0
  98. package/dist/browser/lru-cache.js +50 -0
  99. package/dist/browser/lru-cache.js.map +1 -0
  100. package/dist/browser/merge-segment-loaders.d.ts +39 -0
  101. package/dist/browser/merge-segment-loaders.d.ts.map +1 -0
  102. package/dist/browser/merge-segment-loaders.js +102 -0
  103. package/dist/browser/merge-segment-loaders.js.map +1 -0
  104. package/dist/browser/navigation-bridge.d.ts +102 -0
  105. package/dist/browser/navigation-bridge.d.ts.map +1 -0
  106. package/dist/browser/navigation-bridge.js +708 -0
  107. package/dist/browser/navigation-bridge.js.map +1 -0
  108. package/dist/browser/navigation-client.d.ts +25 -0
  109. package/dist/browser/navigation-client.d.ts.map +1 -0
  110. package/dist/browser/navigation-client.js +157 -0
  111. package/dist/browser/navigation-client.js.map +1 -0
  112. package/dist/browser/navigation-store.d.ts +101 -0
  113. package/dist/browser/navigation-store.d.ts.map +1 -0
  114. package/dist/browser/navigation-store.js +625 -0
  115. package/dist/browser/navigation-store.js.map +1 -0
  116. package/dist/browser/partial-update.d.ts +75 -0
  117. package/dist/browser/partial-update.d.ts.map +1 -0
  118. package/dist/browser/partial-update.js +426 -0
  119. package/dist/browser/partial-update.js.map +1 -0
  120. package/dist/browser/react/Link.d.ts +86 -0
  121. package/dist/browser/react/Link.d.ts.map +1 -0
  122. package/dist/browser/react/Link.js +128 -0
  123. package/dist/browser/react/Link.js.map +1 -0
  124. package/dist/browser/react/NavigationProvider.d.ts +63 -0
  125. package/dist/browser/react/NavigationProvider.d.ts.map +1 -0
  126. package/dist/browser/react/NavigationProvider.js +216 -0
  127. package/dist/browser/react/NavigationProvider.js.map +1 -0
  128. package/dist/browser/react/ScrollRestoration.d.ts +75 -0
  129. package/dist/browser/react/ScrollRestoration.d.ts.map +1 -0
  130. package/dist/browser/react/ScrollRestoration.js +57 -0
  131. package/dist/browser/react/ScrollRestoration.js.map +1 -0
  132. package/dist/browser/react/context.d.ts +46 -0
  133. package/dist/browser/react/context.d.ts.map +1 -0
  134. package/dist/browser/react/context.js +10 -0
  135. package/dist/browser/react/context.js.map +1 -0
  136. package/dist/browser/react/index.d.ts +11 -0
  137. package/dist/browser/react/index.d.ts.map +1 -0
  138. package/dist/browser/react/index.js +22 -0
  139. package/dist/browser/react/index.js.map +1 -0
  140. package/dist/browser/react/location-state-shared.d.ts +63 -0
  141. package/dist/browser/react/location-state-shared.d.ts.map +1 -0
  142. package/dist/browser/react/location-state-shared.js +81 -0
  143. package/dist/browser/react/location-state-shared.js.map +1 -0
  144. package/dist/browser/react/location-state.d.ts +23 -0
  145. package/dist/browser/react/location-state.d.ts.map +1 -0
  146. package/dist/browser/react/location-state.js +29 -0
  147. package/dist/browser/react/location-state.js.map +1 -0
  148. package/dist/browser/react/mount-context.d.ts +24 -0
  149. package/dist/browser/react/mount-context.d.ts.map +1 -0
  150. package/dist/browser/react/mount-context.js +24 -0
  151. package/dist/browser/react/mount-context.js.map +1 -0
  152. package/dist/browser/react/use-action.d.ts +64 -0
  153. package/dist/browser/react/use-action.d.ts.map +1 -0
  154. package/dist/browser/react/use-action.js +134 -0
  155. package/dist/browser/react/use-action.js.map +1 -0
  156. package/dist/browser/react/use-client-cache.d.ts +41 -0
  157. package/dist/browser/react/use-client-cache.d.ts.map +1 -0
  158. package/dist/browser/react/use-client-cache.js +39 -0
  159. package/dist/browser/react/use-client-cache.js.map +1 -0
  160. package/dist/browser/react/use-handle.d.ts +31 -0
  161. package/dist/browser/react/use-handle.d.ts.map +1 -0
  162. package/dist/browser/react/use-handle.js +144 -0
  163. package/dist/browser/react/use-handle.js.map +1 -0
  164. package/dist/browser/react/use-href.d.ts +33 -0
  165. package/dist/browser/react/use-href.d.ts.map +1 -0
  166. package/dist/browser/react/use-href.js +39 -0
  167. package/dist/browser/react/use-href.js.map +1 -0
  168. package/dist/browser/react/use-link-status.d.ts +37 -0
  169. package/dist/browser/react/use-link-status.d.ts.map +1 -0
  170. package/dist/browser/react/use-link-status.js +99 -0
  171. package/dist/browser/react/use-link-status.js.map +1 -0
  172. package/dist/browser/react/use-mount.d.ts +25 -0
  173. package/dist/browser/react/use-mount.d.ts.map +1 -0
  174. package/dist/browser/react/use-mount.js +30 -0
  175. package/dist/browser/react/use-mount.js.map +1 -0
  176. package/dist/browser/react/use-navigation.d.ts +27 -0
  177. package/dist/browser/react/use-navigation.d.ts.map +1 -0
  178. package/dist/browser/react/use-navigation.js +87 -0
  179. package/dist/browser/react/use-navigation.js.map +1 -0
  180. package/dist/browser/react/use-segments.d.ts +38 -0
  181. package/dist/browser/react/use-segments.d.ts.map +1 -0
  182. package/dist/browser/react/use-segments.js +130 -0
  183. package/dist/browser/react/use-segments.js.map +1 -0
  184. package/dist/browser/request-controller.d.ts +26 -0
  185. package/dist/browser/request-controller.d.ts.map +1 -0
  186. package/dist/browser/request-controller.js +147 -0
  187. package/dist/browser/request-controller.js.map +1 -0
  188. package/dist/browser/rsc-router.d.ts +129 -0
  189. package/dist/browser/rsc-router.d.ts.map +1 -0
  190. package/dist/browser/rsc-router.js +195 -0
  191. package/dist/browser/rsc-router.js.map +1 -0
  192. package/dist/browser/scroll-restoration.d.ts +93 -0
  193. package/dist/browser/scroll-restoration.d.ts.map +1 -0
  194. package/dist/browser/scroll-restoration.js +321 -0
  195. package/dist/browser/scroll-restoration.js.map +1 -0
  196. package/dist/browser/segment-structure-assert.d.ts +17 -0
  197. package/dist/browser/segment-structure-assert.d.ts.map +1 -0
  198. package/dist/browser/segment-structure-assert.js +59 -0
  199. package/dist/browser/segment-structure-assert.js.map +1 -0
  200. package/dist/browser/server-action-bridge.d.ts +26 -0
  201. package/dist/browser/server-action-bridge.d.ts.map +1 -0
  202. package/dist/browser/server-action-bridge.js +668 -0
  203. package/dist/browser/server-action-bridge.js.map +1 -0
  204. package/dist/browser/shallow.d.ts +12 -0
  205. package/dist/browser/shallow.d.ts.map +1 -0
  206. package/dist/browser/shallow.js +34 -0
  207. package/dist/browser/shallow.js.map +1 -0
  208. package/dist/browser/types.d.ts +369 -0
  209. package/dist/browser/types.d.ts.map +1 -0
  210. package/dist/browser/types.js +2 -0
  211. package/dist/browser/types.js.map +1 -0
  212. package/dist/build/__tests__/generate-cli.test.d.ts +2 -0
  213. package/dist/build/__tests__/generate-cli.test.d.ts.map +1 -0
  214. package/dist/build/__tests__/generate-cli.test.js +237 -0
  215. package/dist/build/__tests__/generate-cli.test.js.map +1 -0
  216. package/dist/build/__tests__/generate-manifest.test.d.ts +2 -0
  217. package/dist/build/__tests__/generate-manifest.test.d.ts.map +1 -0
  218. package/dist/build/__tests__/generate-manifest.test.js +119 -0
  219. package/dist/build/__tests__/generate-manifest.test.js.map +1 -0
  220. package/dist/build/__tests__/generate-route-types.test.d.ts +2 -0
  221. package/dist/build/__tests__/generate-route-types.test.d.ts.map +1 -0
  222. package/dist/build/__tests__/generate-route-types.test.js +620 -0
  223. package/dist/build/__tests__/generate-route-types.test.js.map +1 -0
  224. package/dist/build/__tests__/per-router-manifest.test.d.ts +2 -0
  225. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +1 -0
  226. package/dist/build/__tests__/per-router-manifest.test.js +308 -0
  227. package/dist/build/__tests__/per-router-manifest.test.js.map +1 -0
  228. package/dist/build/generate-manifest.d.ts +81 -0
  229. package/dist/build/generate-manifest.d.ts.map +1 -0
  230. package/dist/build/generate-manifest.js +276 -0
  231. package/dist/build/generate-manifest.js.map +1 -0
  232. package/dist/build/generate-route-types.d.ts +115 -0
  233. package/dist/build/generate-route-types.d.ts.map +1 -0
  234. package/dist/build/generate-route-types.js +740 -0
  235. package/dist/build/generate-route-types.js.map +1 -0
  236. package/dist/build/index.d.ts +21 -0
  237. package/dist/build/index.d.ts.map +1 -0
  238. package/dist/build/index.js +21 -0
  239. package/dist/build/index.js.map +1 -0
  240. package/dist/build/route-trie.d.ts +71 -0
  241. package/dist/build/route-trie.d.ts.map +1 -0
  242. package/dist/build/route-trie.js +175 -0
  243. package/dist/build/route-trie.js.map +1 -0
  244. package/dist/cache/__tests__/cache-scope.test.d.ts +2 -0
  245. package/dist/cache/__tests__/cache-scope.test.d.ts.map +1 -0
  246. package/dist/cache/__tests__/cache-scope.test.js +208 -0
  247. package/dist/cache/__tests__/cache-scope.test.js.map +1 -0
  248. package/dist/cache/__tests__/document-cache.test.d.ts +2 -0
  249. package/dist/cache/__tests__/document-cache.test.d.ts.map +1 -0
  250. package/dist/cache/__tests__/document-cache.test.js +345 -0
  251. package/dist/cache/__tests__/document-cache.test.js.map +1 -0
  252. package/dist/cache/__tests__/memory-segment-store.test.d.ts +2 -0
  253. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +1 -0
  254. package/dist/cache/__tests__/memory-segment-store.test.js +425 -0
  255. package/dist/cache/__tests__/memory-segment-store.test.js.map +1 -0
  256. package/dist/cache/__tests__/memory-store.test.d.ts +2 -0
  257. package/dist/cache/__tests__/memory-store.test.d.ts.map +1 -0
  258. package/dist/cache/__tests__/memory-store.test.js +367 -0
  259. package/dist/cache/__tests__/memory-store.test.js.map +1 -0
  260. package/dist/cache/cache-scope.d.ts +102 -0
  261. package/dist/cache/cache-scope.d.ts.map +1 -0
  262. package/dist/cache/cache-scope.js +440 -0
  263. package/dist/cache/cache-scope.js.map +1 -0
  264. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +2 -0
  265. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +1 -0
  266. package/dist/cache/cf/__tests__/cf-cache-store.test.js +330 -0
  267. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +1 -0
  268. package/dist/cache/cf/cf-cache-store.d.ts +165 -0
  269. package/dist/cache/cf/cf-cache-store.d.ts.map +1 -0
  270. package/dist/cache/cf/cf-cache-store.js +242 -0
  271. package/dist/cache/cf/cf-cache-store.js.map +1 -0
  272. package/dist/cache/cf/index.d.ts +14 -0
  273. package/dist/cache/cf/index.d.ts.map +1 -0
  274. package/dist/cache/cf/index.js +17 -0
  275. package/dist/cache/cf/index.js.map +1 -0
  276. package/dist/cache/document-cache.d.ts +64 -0
  277. package/dist/cache/document-cache.d.ts.map +1 -0
  278. package/dist/cache/document-cache.js +228 -0
  279. package/dist/cache/document-cache.js.map +1 -0
  280. package/dist/cache/index.d.ts +19 -0
  281. package/dist/cache/index.d.ts.map +1 -0
  282. package/dist/cache/index.js +21 -0
  283. package/dist/cache/index.js.map +1 -0
  284. package/dist/cache/memory-segment-store.d.ts +110 -0
  285. package/dist/cache/memory-segment-store.d.ts.map +1 -0
  286. package/dist/cache/memory-segment-store.js +117 -0
  287. package/dist/cache/memory-segment-store.js.map +1 -0
  288. package/dist/cache/memory-store.d.ts +41 -0
  289. package/dist/cache/memory-store.d.ts.map +1 -0
  290. package/dist/cache/memory-store.js +191 -0
  291. package/dist/cache/memory-store.js.map +1 -0
  292. package/dist/cache/types.d.ts +317 -0
  293. package/dist/cache/types.d.ts.map +1 -0
  294. package/dist/cache/types.js +12 -0
  295. package/dist/cache/types.js.map +1 -0
  296. package/dist/client.d.ts +248 -0
  297. package/dist/client.d.ts.map +1 -0
  298. package/dist/client.js +367 -0
  299. package/dist/client.js.map +1 -0
  300. package/dist/client.rsc.d.ts +26 -0
  301. package/dist/client.rsc.d.ts.map +1 -0
  302. package/dist/client.rsc.js +46 -0
  303. package/dist/client.rsc.js.map +1 -0
  304. package/dist/component-utils.d.ts +36 -0
  305. package/dist/component-utils.d.ts.map +1 -0
  306. package/dist/component-utils.js +61 -0
  307. package/dist/component-utils.js.map +1 -0
  308. package/dist/components/DefaultDocument.d.ts +13 -0
  309. package/dist/components/DefaultDocument.d.ts.map +1 -0
  310. package/dist/components/DefaultDocument.js +15 -0
  311. package/dist/components/DefaultDocument.js.map +1 -0
  312. package/dist/debug.d.ts +58 -0
  313. package/dist/debug.d.ts.map +1 -0
  314. package/dist/debug.js +157 -0
  315. package/dist/debug.js.map +1 -0
  316. package/dist/default-error-boundary.d.ts +11 -0
  317. package/dist/default-error-boundary.d.ts.map +1 -0
  318. package/dist/default-error-boundary.js +45 -0
  319. package/dist/default-error-boundary.js.map +1 -0
  320. package/dist/deps/browser.d.ts +2 -0
  321. package/dist/deps/browser.d.ts.map +1 -0
  322. package/dist/deps/browser.js +3 -0
  323. package/dist/deps/browser.js.map +1 -0
  324. package/dist/deps/html-stream-client.d.ts +2 -0
  325. package/dist/deps/html-stream-client.d.ts.map +1 -0
  326. package/dist/deps/html-stream-client.js +3 -0
  327. package/dist/deps/html-stream-client.js.map +1 -0
  328. package/dist/deps/html-stream-server.d.ts +2 -0
  329. package/dist/deps/html-stream-server.d.ts.map +1 -0
  330. package/dist/deps/html-stream-server.js +3 -0
  331. package/dist/deps/html-stream-server.js.map +1 -0
  332. package/dist/deps/rsc.d.ts +2 -0
  333. package/dist/deps/rsc.d.ts.map +1 -0
  334. package/dist/deps/rsc.js +4 -0
  335. package/dist/deps/rsc.js.map +1 -0
  336. package/dist/deps/ssr.d.ts +2 -0
  337. package/dist/deps/ssr.d.ts.map +1 -0
  338. package/dist/deps/ssr.js +3 -0
  339. package/dist/deps/ssr.js.map +1 -0
  340. package/dist/errors.d.ts +174 -0
  341. package/dist/errors.d.ts.map +1 -0
  342. package/dist/errors.js +241 -0
  343. package/dist/errors.js.map +1 -0
  344. package/dist/handle.d.ts +78 -0
  345. package/dist/handle.d.ts.map +1 -0
  346. package/dist/handle.js +82 -0
  347. package/dist/handle.js.map +1 -0
  348. package/dist/handles/MetaTags.d.ts +14 -0
  349. package/dist/handles/MetaTags.d.ts.map +1 -0
  350. package/dist/handles/MetaTags.js +136 -0
  351. package/dist/handles/MetaTags.js.map +1 -0
  352. package/dist/handles/index.d.ts +6 -0
  353. package/dist/handles/index.d.ts.map +1 -0
  354. package/dist/handles/index.js +6 -0
  355. package/dist/handles/index.js.map +1 -0
  356. package/dist/handles/meta.d.ts +39 -0
  357. package/dist/handles/meta.d.ts.map +1 -0
  358. package/dist/handles/meta.js +202 -0
  359. package/dist/handles/meta.js.map +1 -0
  360. package/dist/host/__tests__/errors.test.d.ts +2 -0
  361. package/dist/host/__tests__/errors.test.d.ts.map +1 -0
  362. package/dist/host/__tests__/errors.test.js +76 -0
  363. package/dist/host/__tests__/errors.test.js.map +1 -0
  364. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +2 -0
  365. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +1 -0
  366. package/dist/host/__tests__/pattern-comprehensive.test.js +732 -0
  367. package/dist/host/__tests__/pattern-comprehensive.test.js.map +1 -0
  368. package/dist/host/__tests__/pattern-matcher.test.d.ts +2 -0
  369. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +1 -0
  370. package/dist/host/__tests__/pattern-matcher.test.js +251 -0
  371. package/dist/host/__tests__/pattern-matcher.test.js.map +1 -0
  372. package/dist/host/__tests__/router.test.d.ts +2 -0
  373. package/dist/host/__tests__/router.test.d.ts.map +1 -0
  374. package/dist/host/__tests__/router.test.js +241 -0
  375. package/dist/host/__tests__/router.test.js.map +1 -0
  376. package/dist/host/__tests__/testing.test.d.ts +2 -0
  377. package/dist/host/__tests__/testing.test.d.ts.map +1 -0
  378. package/dist/host/__tests__/testing.test.js +64 -0
  379. package/dist/host/__tests__/testing.test.js.map +1 -0
  380. package/dist/host/__tests__/utils.test.d.ts +2 -0
  381. package/dist/host/__tests__/utils.test.d.ts.map +1 -0
  382. package/dist/host/__tests__/utils.test.js +29 -0
  383. package/dist/host/__tests__/utils.test.js.map +1 -0
  384. package/dist/host/cookie-handler.d.ts +34 -0
  385. package/dist/host/cookie-handler.d.ts.map +1 -0
  386. package/dist/host/cookie-handler.js +124 -0
  387. package/dist/host/cookie-handler.js.map +1 -0
  388. package/dist/host/errors.d.ts +56 -0
  389. package/dist/host/errors.d.ts.map +1 -0
  390. package/dist/host/errors.js +79 -0
  391. package/dist/host/errors.js.map +1 -0
  392. package/dist/host/index.d.ts +29 -0
  393. package/dist/host/index.d.ts.map +1 -0
  394. package/dist/host/index.js +32 -0
  395. package/dist/host/index.js.map +1 -0
  396. package/dist/host/pattern-matcher.d.ts +36 -0
  397. package/dist/host/pattern-matcher.d.ts.map +1 -0
  398. package/dist/host/pattern-matcher.js +172 -0
  399. package/dist/host/pattern-matcher.js.map +1 -0
  400. package/dist/host/router.d.ts +26 -0
  401. package/dist/host/router.d.ts.map +1 -0
  402. package/dist/host/router.js +218 -0
  403. package/dist/host/router.js.map +1 -0
  404. package/dist/host/testing.d.ts +36 -0
  405. package/dist/host/testing.d.ts.map +1 -0
  406. package/dist/host/testing.js +55 -0
  407. package/dist/host/testing.js.map +1 -0
  408. package/dist/host/types.d.ts +115 -0
  409. package/dist/host/types.d.ts.map +1 -0
  410. package/dist/host/types.js +7 -0
  411. package/dist/host/types.js.map +1 -0
  412. package/dist/host/utils.d.ts +21 -0
  413. package/dist/host/utils.d.ts.map +1 -0
  414. package/dist/host/utils.js +23 -0
  415. package/dist/host/utils.js.map +1 -0
  416. package/dist/href-client.d.ts +131 -0
  417. package/dist/href-client.d.ts.map +1 -0
  418. package/dist/href-client.js +64 -0
  419. package/dist/href-client.js.map +1 -0
  420. package/dist/href-context.d.ts +29 -0
  421. package/dist/href-context.d.ts.map +1 -0
  422. package/dist/href-context.js +21 -0
  423. package/dist/href-context.js.map +1 -0
  424. package/dist/index.d.ts +73 -0
  425. package/dist/index.d.ts.map +1 -0
  426. package/dist/index.js +91 -0
  427. package/dist/index.js.map +1 -0
  428. package/dist/index.rsc.d.ts +32 -0
  429. package/dist/index.rsc.d.ts.map +1 -0
  430. package/dist/index.rsc.js +40 -0
  431. package/dist/index.rsc.js.map +1 -0
  432. package/dist/internal-debug.d.ts +2 -0
  433. package/dist/internal-debug.d.ts.map +1 -0
  434. package/dist/internal-debug.js +5 -0
  435. package/dist/internal-debug.js.map +1 -0
  436. package/dist/loader.d.ts +14 -0
  437. package/dist/loader.d.ts.map +1 -0
  438. package/dist/loader.js +20 -0
  439. package/dist/loader.js.map +1 -0
  440. package/dist/loader.rsc.d.ts +19 -0
  441. package/dist/loader.rsc.d.ts.map +1 -0
  442. package/dist/loader.rsc.js +99 -0
  443. package/dist/loader.rsc.js.map +1 -0
  444. package/dist/network-error-thrower.d.ts +17 -0
  445. package/dist/network-error-thrower.d.ts.map +1 -0
  446. package/dist/network-error-thrower.js +14 -0
  447. package/dist/network-error-thrower.js.map +1 -0
  448. package/dist/outlet-context.d.ts +13 -0
  449. package/dist/outlet-context.d.ts.map +1 -0
  450. package/dist/outlet-context.js +3 -0
  451. package/dist/outlet-context.js.map +1 -0
  452. package/dist/prerender/__tests__/param-hash.test.d.ts +2 -0
  453. package/dist/prerender/__tests__/param-hash.test.d.ts.map +1 -0
  454. package/dist/prerender/__tests__/param-hash.test.js +148 -0
  455. package/dist/prerender/__tests__/param-hash.test.js.map +1 -0
  456. package/dist/prerender/param-hash.d.ts +16 -0
  457. package/dist/prerender/param-hash.d.ts.map +1 -0
  458. package/dist/prerender/param-hash.js +36 -0
  459. package/dist/prerender/param-hash.js.map +1 -0
  460. package/dist/prerender/store.d.ts +38 -0
  461. package/dist/prerender/store.d.ts.map +1 -0
  462. package/dist/prerender/store.js +61 -0
  463. package/dist/prerender/store.js.map +1 -0
  464. package/dist/prerender.d.ts +66 -0
  465. package/dist/prerender.d.ts.map +1 -0
  466. package/dist/prerender.js +57 -0
  467. package/dist/prerender.js.map +1 -0
  468. package/dist/reverse.d.ts +196 -0
  469. package/dist/reverse.d.ts.map +1 -0
  470. package/dist/reverse.js +78 -0
  471. package/dist/reverse.js.map +1 -0
  472. package/dist/root-error-boundary.d.ts +33 -0
  473. package/dist/root-error-boundary.d.ts.map +1 -0
  474. package/dist/root-error-boundary.js +165 -0
  475. package/dist/root-error-boundary.js.map +1 -0
  476. package/dist/route-content-wrapper.d.ts +46 -0
  477. package/dist/route-content-wrapper.d.ts.map +1 -0
  478. package/dist/route-content-wrapper.js +77 -0
  479. package/dist/route-content-wrapper.js.map +1 -0
  480. package/dist/route-definition.d.ts +421 -0
  481. package/dist/route-definition.d.ts.map +1 -0
  482. package/dist/route-definition.js +868 -0
  483. package/dist/route-definition.js.map +1 -0
  484. package/dist/route-map-builder.d.ts +155 -0
  485. package/dist/route-map-builder.d.ts.map +1 -0
  486. package/dist/route-map-builder.js +237 -0
  487. package/dist/route-map-builder.js.map +1 -0
  488. package/dist/route-types.d.ts +165 -0
  489. package/dist/route-types.d.ts.map +1 -0
  490. package/dist/route-types.js +7 -0
  491. package/dist/route-types.js.map +1 -0
  492. package/dist/router/__tests__/handler-context.test.d.ts +2 -0
  493. package/dist/router/__tests__/handler-context.test.d.ts.map +1 -0
  494. package/dist/router/__tests__/handler-context.test.js +65 -0
  495. package/dist/router/__tests__/handler-context.test.js.map +1 -0
  496. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +2 -0
  497. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +1 -0
  498. package/dist/router/__tests__/loader-cycle-detection.test.js +221 -0
  499. package/dist/router/__tests__/loader-cycle-detection.test.js.map +1 -0
  500. package/dist/router/__tests__/match-context.test.d.ts +2 -0
  501. package/dist/router/__tests__/match-context.test.d.ts.map +1 -0
  502. package/dist/router/__tests__/match-context.test.js +92 -0
  503. package/dist/router/__tests__/match-context.test.js.map +1 -0
  504. package/dist/router/__tests__/match-pipelines.test.d.ts +2 -0
  505. package/dist/router/__tests__/match-pipelines.test.d.ts.map +1 -0
  506. package/dist/router/__tests__/match-pipelines.test.js +417 -0
  507. package/dist/router/__tests__/match-pipelines.test.js.map +1 -0
  508. package/dist/router/__tests__/match-result.test.d.ts +2 -0
  509. package/dist/router/__tests__/match-result.test.d.ts.map +1 -0
  510. package/dist/router/__tests__/match-result.test.js +457 -0
  511. package/dist/router/__tests__/match-result.test.js.map +1 -0
  512. package/dist/router/__tests__/on-error.test.d.ts +2 -0
  513. package/dist/router/__tests__/on-error.test.d.ts.map +1 -0
  514. package/dist/router/__tests__/on-error.test.js +678 -0
  515. package/dist/router/__tests__/on-error.test.js.map +1 -0
  516. package/dist/router/__tests__/pattern-matching.test.d.ts +2 -0
  517. package/dist/router/__tests__/pattern-matching.test.d.ts.map +1 -0
  518. package/dist/router/__tests__/pattern-matching.test.js +629 -0
  519. package/dist/router/__tests__/pattern-matching.test.js.map +1 -0
  520. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +2 -0
  521. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +1 -0
  522. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +155 -0
  523. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +1 -0
  524. package/dist/router/error-handling.d.ts +77 -0
  525. package/dist/router/error-handling.d.ts.map +1 -0
  526. package/dist/router/error-handling.js +202 -0
  527. package/dist/router/error-handling.js.map +1 -0
  528. package/dist/router/handler-context.d.ts +20 -0
  529. package/dist/router/handler-context.d.ts.map +1 -0
  530. package/dist/router/handler-context.js +198 -0
  531. package/dist/router/handler-context.js.map +1 -0
  532. package/dist/router/intercept-resolution.d.ts +66 -0
  533. package/dist/router/intercept-resolution.d.ts.map +1 -0
  534. package/dist/router/intercept-resolution.js +246 -0
  535. package/dist/router/intercept-resolution.js.map +1 -0
  536. package/dist/router/loader-resolution.d.ts +64 -0
  537. package/dist/router/loader-resolution.d.ts.map +1 -0
  538. package/dist/router/loader-resolution.js +284 -0
  539. package/dist/router/loader-resolution.js.map +1 -0
  540. package/dist/router/logging.d.ts +15 -0
  541. package/dist/router/logging.d.ts.map +1 -0
  542. package/dist/router/logging.js +99 -0
  543. package/dist/router/logging.js.map +1 -0
  544. package/dist/router/manifest.d.ts +22 -0
  545. package/dist/router/manifest.d.ts.map +1 -0
  546. package/dist/router/manifest.js +181 -0
  547. package/dist/router/manifest.js.map +1 -0
  548. package/dist/router/match-api.d.ts +35 -0
  549. package/dist/router/match-api.d.ts.map +1 -0
  550. package/dist/router/match-api.js +406 -0
  551. package/dist/router/match-api.js.map +1 -0
  552. package/dist/router/match-context.d.ts +206 -0
  553. package/dist/router/match-context.d.ts.map +1 -0
  554. package/dist/router/match-context.js +17 -0
  555. package/dist/router/match-context.js.map +1 -0
  556. package/dist/router/match-middleware/background-revalidation.d.ts +127 -0
  557. package/dist/router/match-middleware/background-revalidation.d.ts.map +1 -0
  558. package/dist/router/match-middleware/background-revalidation.js +75 -0
  559. package/dist/router/match-middleware/background-revalidation.js.map +1 -0
  560. package/dist/router/match-middleware/cache-lookup.d.ts +112 -0
  561. package/dist/router/match-middleware/cache-lookup.d.ts.map +1 -0
  562. package/dist/router/match-middleware/cache-lookup.js +257 -0
  563. package/dist/router/match-middleware/cache-lookup.js.map +1 -0
  564. package/dist/router/match-middleware/cache-store.d.ts +113 -0
  565. package/dist/router/match-middleware/cache-store.d.ts.map +1 -0
  566. package/dist/router/match-middleware/cache-store.js +108 -0
  567. package/dist/router/match-middleware/cache-store.js.map +1 -0
  568. package/dist/router/match-middleware/index.d.ts +81 -0
  569. package/dist/router/match-middleware/index.d.ts.map +1 -0
  570. package/dist/router/match-middleware/index.js +80 -0
  571. package/dist/router/match-middleware/index.js.map +1 -0
  572. package/dist/router/match-middleware/intercept-resolution.d.ts +117 -0
  573. package/dist/router/match-middleware/intercept-resolution.d.ts.map +1 -0
  574. package/dist/router/match-middleware/intercept-resolution.js +134 -0
  575. package/dist/router/match-middleware/intercept-resolution.js.map +1 -0
  576. package/dist/router/match-middleware/segment-resolution.d.ts +99 -0
  577. package/dist/router/match-middleware/segment-resolution.d.ts.map +1 -0
  578. package/dist/router/match-middleware/segment-resolution.js +53 -0
  579. package/dist/router/match-middleware/segment-resolution.js.map +1 -0
  580. package/dist/router/match-pipelines.d.ts +147 -0
  581. package/dist/router/match-pipelines.d.ts.map +1 -0
  582. package/dist/router/match-pipelines.js +82 -0
  583. package/dist/router/match-pipelines.js.map +1 -0
  584. package/dist/router/match-result.d.ts +126 -0
  585. package/dist/router/match-result.d.ts.map +1 -0
  586. package/dist/router/match-result.js +93 -0
  587. package/dist/router/match-result.js.map +1 -0
  588. package/dist/router/metrics.d.ts +20 -0
  589. package/dist/router/metrics.d.ts.map +1 -0
  590. package/dist/router/metrics.js +47 -0
  591. package/dist/router/metrics.js.map +1 -0
  592. package/dist/router/middleware.d.ts +249 -0
  593. package/dist/router/middleware.d.ts.map +1 -0
  594. package/dist/router/middleware.js +434 -0
  595. package/dist/router/middleware.js.map +1 -0
  596. package/dist/router/middleware.test.d.ts +2 -0
  597. package/dist/router/middleware.test.d.ts.map +1 -0
  598. package/dist/router/middleware.test.js +816 -0
  599. package/dist/router/middleware.test.js.map +1 -0
  600. package/dist/router/pattern-matching.d.ts +149 -0
  601. package/dist/router/pattern-matching.d.ts.map +1 -0
  602. package/dist/router/pattern-matching.js +349 -0
  603. package/dist/router/pattern-matching.js.map +1 -0
  604. package/dist/router/revalidation.d.ts +44 -0
  605. package/dist/router/revalidation.d.ts.map +1 -0
  606. package/dist/router/revalidation.js +147 -0
  607. package/dist/router/revalidation.js.map +1 -0
  608. package/dist/router/router-context.d.ts +135 -0
  609. package/dist/router/router-context.d.ts.map +1 -0
  610. package/dist/router/router-context.js +36 -0
  611. package/dist/router/router-context.js.map +1 -0
  612. package/dist/router/segment-resolution.d.ts +127 -0
  613. package/dist/router/segment-resolution.d.ts.map +1 -0
  614. package/dist/router/segment-resolution.js +919 -0
  615. package/dist/router/segment-resolution.js.map +1 -0
  616. package/dist/router/trie-matching.d.ts +40 -0
  617. package/dist/router/trie-matching.d.ts.map +1 -0
  618. package/dist/router/trie-matching.js +127 -0
  619. package/dist/router/trie-matching.js.map +1 -0
  620. package/dist/router/types.d.ts +136 -0
  621. package/dist/router/types.d.ts.map +1 -0
  622. package/dist/router/types.js +7 -0
  623. package/dist/router/types.js.map +1 -0
  624. package/dist/router.d.ts +753 -0
  625. package/dist/router.d.ts.map +1 -0
  626. package/dist/router.gen.d.ts +6 -0
  627. package/dist/router.gen.d.ts.map +1 -0
  628. package/dist/router.gen.js +6 -0
  629. package/dist/router.gen.js.map +1 -0
  630. package/dist/router.js +1304 -0
  631. package/dist/router.js.map +1 -0
  632. package/dist/rsc/__tests__/helpers.test.d.ts +2 -0
  633. package/dist/rsc/__tests__/helpers.test.d.ts.map +1 -0
  634. package/dist/rsc/__tests__/helpers.test.js +140 -0
  635. package/dist/rsc/__tests__/helpers.test.js.map +1 -0
  636. package/dist/rsc/handler.d.ts +45 -0
  637. package/dist/rsc/handler.d.ts.map +1 -0
  638. package/dist/rsc/handler.js +1172 -0
  639. package/dist/rsc/handler.js.map +1 -0
  640. package/dist/rsc/helpers.d.ts +16 -0
  641. package/dist/rsc/helpers.d.ts.map +1 -0
  642. package/dist/rsc/helpers.js +55 -0
  643. package/dist/rsc/helpers.js.map +1 -0
  644. package/dist/rsc/index.d.ts +22 -0
  645. package/dist/rsc/index.d.ts.map +1 -0
  646. package/dist/rsc/index.js +23 -0
  647. package/dist/rsc/index.js.map +1 -0
  648. package/dist/rsc/nonce.d.ts +9 -0
  649. package/dist/rsc/nonce.d.ts.map +1 -0
  650. package/dist/rsc/nonce.js +18 -0
  651. package/dist/rsc/nonce.js.map +1 -0
  652. package/dist/rsc/types.d.ts +206 -0
  653. package/dist/rsc/types.d.ts.map +1 -0
  654. package/dist/rsc/types.js +8 -0
  655. package/dist/rsc/types.js.map +1 -0
  656. package/dist/search-params.d.ts +103 -0
  657. package/dist/search-params.d.ts.map +1 -0
  658. package/dist/search-params.js +74 -0
  659. package/dist/search-params.js.map +1 -0
  660. package/dist/segment-system.d.ts +75 -0
  661. package/dist/segment-system.d.ts.map +1 -0
  662. package/dist/segment-system.js +336 -0
  663. package/dist/segment-system.js.map +1 -0
  664. package/dist/server/context.d.ts +245 -0
  665. package/dist/server/context.d.ts.map +1 -0
  666. package/dist/server/context.js +197 -0
  667. package/dist/server/context.js.map +1 -0
  668. package/dist/server/fetchable-loader-store.d.ts +18 -0
  669. package/dist/server/fetchable-loader-store.d.ts.map +1 -0
  670. package/dist/server/fetchable-loader-store.js +18 -0
  671. package/dist/server/fetchable-loader-store.js.map +1 -0
  672. package/dist/server/handle-store.d.ts +85 -0
  673. package/dist/server/handle-store.d.ts.map +1 -0
  674. package/dist/server/handle-store.js +142 -0
  675. package/dist/server/handle-store.js.map +1 -0
  676. package/dist/server/loader-registry.d.ts +55 -0
  677. package/dist/server/loader-registry.d.ts.map +1 -0
  678. package/dist/server/loader-registry.js +132 -0
  679. package/dist/server/loader-registry.js.map +1 -0
  680. package/dist/server/request-context.d.ts +226 -0
  681. package/dist/server/request-context.d.ts.map +1 -0
  682. package/dist/server/request-context.js +290 -0
  683. package/dist/server/request-context.js.map +1 -0
  684. package/dist/server/root-layout.d.ts +4 -0
  685. package/dist/server/root-layout.d.ts.map +1 -0
  686. package/dist/server/root-layout.js +5 -0
  687. package/dist/server/root-layout.js.map +1 -0
  688. package/dist/server.d.ts +15 -0
  689. package/dist/server.d.ts.map +1 -0
  690. package/dist/server.js +20 -0
  691. package/dist/server.js.map +1 -0
  692. package/dist/ssr/__tests__/ssr-handler.test.d.ts +2 -0
  693. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +1 -0
  694. package/dist/ssr/__tests__/ssr-handler.test.js +132 -0
  695. package/dist/ssr/__tests__/ssr-handler.test.js.map +1 -0
  696. package/dist/ssr/index.d.ts +98 -0
  697. package/dist/ssr/index.d.ts.map +1 -0
  698. package/dist/ssr/index.js +158 -0
  699. package/dist/ssr/index.js.map +1 -0
  700. package/dist/static-handler.d.ts +50 -0
  701. package/dist/static-handler.d.ts.map +1 -0
  702. package/dist/static-handler.gen.d.ts +5 -0
  703. package/dist/static-handler.gen.d.ts.map +1 -0
  704. package/dist/static-handler.gen.js +5 -0
  705. package/dist/static-handler.gen.js.map +1 -0
  706. package/dist/static-handler.js +29 -0
  707. package/dist/static-handler.js.map +1 -0
  708. package/dist/theme/ThemeProvider.d.ts +20 -0
  709. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  710. package/dist/theme/ThemeProvider.js +240 -0
  711. package/dist/theme/ThemeProvider.js.map +1 -0
  712. package/dist/theme/ThemeScript.d.ts +48 -0
  713. package/dist/theme/ThemeScript.d.ts.map +1 -0
  714. package/dist/theme/ThemeScript.js +13 -0
  715. package/dist/theme/ThemeScript.js.map +1 -0
  716. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  717. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  718. package/dist/theme/__tests__/theme.test.js +103 -0
  719. package/dist/theme/__tests__/theme.test.js.map +1 -0
  720. package/dist/theme/constants.d.ts +29 -0
  721. package/dist/theme/constants.d.ts.map +1 -0
  722. package/dist/theme/constants.js +48 -0
  723. package/dist/theme/constants.js.map +1 -0
  724. package/dist/theme/index.d.ts +31 -0
  725. package/dist/theme/index.d.ts.map +1 -0
  726. package/dist/theme/index.js +36 -0
  727. package/dist/theme/index.js.map +1 -0
  728. package/dist/theme/theme-context.d.ts +40 -0
  729. package/dist/theme/theme-context.d.ts.map +1 -0
  730. package/dist/theme/theme-context.js +60 -0
  731. package/dist/theme/theme-context.js.map +1 -0
  732. package/dist/theme/theme-script.d.ts +27 -0
  733. package/dist/theme/theme-script.d.ts.map +1 -0
  734. package/dist/theme/theme-script.js +147 -0
  735. package/dist/theme/theme-script.js.map +1 -0
  736. package/dist/theme/types.d.ts +163 -0
  737. package/dist/theme/types.d.ts.map +1 -0
  738. package/dist/theme/types.js +11 -0
  739. package/dist/theme/types.js.map +1 -0
  740. package/dist/theme/use-theme.d.ts +12 -0
  741. package/dist/theme/use-theme.d.ts.map +1 -0
  742. package/dist/theme/use-theme.js +40 -0
  743. package/dist/theme/use-theme.js.map +1 -0
  744. package/dist/types.d.ts +1479 -0
  745. package/dist/types.d.ts.map +1 -0
  746. package/dist/types.js +10 -0
  747. package/dist/types.js.map +1 -0
  748. package/dist/urls.d.ts +441 -0
  749. package/dist/urls.d.ts.map +1 -0
  750. package/dist/urls.gen.d.ts +8 -0
  751. package/dist/urls.gen.d.ts.map +1 -0
  752. package/dist/urls.gen.js +8 -0
  753. package/dist/urls.gen.js.map +1 -0
  754. package/dist/urls.js +443 -0
  755. package/dist/urls.js.map +1 -0
  756. package/dist/use-loader.d.ts +127 -0
  757. package/dist/use-loader.d.ts.map +1 -0
  758. package/dist/use-loader.js +237 -0
  759. package/dist/use-loader.js.map +1 -0
  760. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
  761. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
  762. package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
  763. package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
  764. package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
  765. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
  766. package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
  767. package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
  768. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
  769. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
  770. package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
  771. package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
  772. package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
  773. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
  774. package/dist/vite/__tests__/expose-router-id.test.js +39 -0
  775. package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
  776. package/dist/vite/ast-handler-extract.d.ts +49 -0
  777. package/dist/vite/ast-handler-extract.d.ts.map +1 -0
  778. package/dist/vite/ast-handler-extract.js +249 -0
  779. package/dist/vite/ast-handler-extract.js.map +1 -0
  780. package/dist/vite/expose-action-id.d.ts +19 -0
  781. package/dist/vite/expose-action-id.d.ts.map +1 -0
  782. package/dist/vite/expose-action-id.js +250 -0
  783. package/dist/vite/expose-action-id.js.map +1 -0
  784. package/dist/vite/expose-id-utils.d.ts +69 -0
  785. package/dist/vite/expose-id-utils.d.ts.map +1 -0
  786. package/dist/vite/expose-id-utils.js +289 -0
  787. package/dist/vite/expose-id-utils.js.map +1 -0
  788. package/dist/vite/expose-internal-ids.d.ts +22 -0
  789. package/dist/vite/expose-internal-ids.d.ts.map +1 -0
  790. package/dist/vite/expose-internal-ids.js +886 -0
  791. package/dist/vite/expose-internal-ids.js.map +1 -0
  792. package/dist/vite/index.d.ts +149 -0
  793. package/dist/vite/index.d.ts.map +1 -0
  794. package/dist/vite/index.js +1 -1
  795. package/dist/vite/index.js.bak +5448 -0
  796. package/dist/vite/index.js.map +1 -0
  797. package/dist/vite/index.named-routes.gen.ts +103 -0
  798. package/dist/vite/package-resolution.d.ts +43 -0
  799. package/dist/vite/package-resolution.d.ts.map +1 -0
  800. package/dist/vite/package-resolution.js +112 -0
  801. package/dist/vite/package-resolution.js.map +1 -0
  802. package/dist/vite/virtual-entries.d.ts +25 -0
  803. package/dist/vite/virtual-entries.d.ts.map +1 -0
  804. package/dist/vite/virtual-entries.js +110 -0
  805. package/dist/vite/virtual-entries.js.map +1 -0
  806. package/package.json +14 -15
  807. package/skills/hooks/SKILL.md +95 -18
  808. package/skills/loader/SKILL.md +14 -0
  809. package/src/client.tsx +1 -0
  810. package/src/loader-store.ts +293 -32
  811. package/src/use-loader.tsx +211 -33
@@ -15,6 +15,23 @@ import { OutletContext, type OutletContextValue } from "./outlet-context.js";
15
15
  import { loaderStore, type LoaderEntry } from "./loader-store.js";
16
16
  import type { LoaderDefinition, LoadOptions } from "./types.js";
17
17
 
18
+ /**
19
+ * A shareable GET — a `load()` call that reads data (GET or defaulted method)
20
+ * with no request body. Params are allowed. This is the gate for keyed sharing:
21
+ * when a hook is given an explicit `key`, every shareable GET writes to the
22
+ * keyed bucket so co-keyed readers (including parameterized views) refresh
23
+ * together. Non-GET methods and body-bearing calls are mutations and stay local
24
+ * to the call site.
25
+ */
26
+ function isShareableGet(options: LoadOptions | undefined): boolean {
27
+ if (!options) return true;
28
+ if (options.method && options.method !== "GET") return false;
29
+ if ("body" in options && (options as { body?: unknown }).body !== undefined) {
30
+ return false;
31
+ }
32
+ return true;
33
+ }
34
+
18
35
  /**
19
36
  * Plain route-context refetch — a `load()` call with no options or a
20
37
  * trivially-defaulted GET (no params, no body). Results from these are
@@ -25,18 +42,24 @@ import type { LoaderDefinition, LoadOptions } from "./types.js";
25
42
  * Calls with explicit `params`, an explicit non-GET method, or a `body`
26
43
  * stay local to the call site — that preserves the today-semantics of
27
44
  * `useFetchLoader(SearchLoader).load({ params: { q } })` style code where
28
- * each component owns its own fetched view.
45
+ * each component owns its own fetched view. (An explicit `key` opts a
46
+ * parameterized GET back into sharing; see `isShareableGet`.)
29
47
  */
30
48
  function isPlainRefetch(options: LoadOptions | undefined): boolean {
31
- if (!options) return true;
32
- if (options.method && options.method !== "GET") return false;
33
- if (options.params && Object.keys(options.params).length > 0) return false;
34
- if ("body" in options && (options as { body?: unknown }).body !== undefined) {
35
- return false;
36
- }
49
+ if (!isShareableGet(options)) return false;
50
+ if (options?.params && Object.keys(options.params).length > 0) return false;
37
51
  return true;
38
52
  }
39
53
 
54
+ // Per-hook unique suffix for grouped reads that have no explicit `key`. Such a
55
+ // read must NOT share the bare `loader.$$id` bucket, or a cross-loader group
56
+ // refresh would leak into unrelated unkeyed readers of the same loader (which
57
+ // the contract keeps local). Sharing within a group is opt-in via an explicit
58
+ // `key`; without one, each grouped read gets its own private bucket. The value
59
+ // is only ever used as a client-side store bucket key (never rendered), so the
60
+ // counter has no SSR/hydration consistency requirement.
61
+ let privateGroupBucketSeq = 0;
62
+
40
63
  /**
41
64
  * Extract a specific loader's data from a content ReactNode.
42
65
  *
@@ -144,6 +167,37 @@ export interface UseLoaderOptions {
144
167
  * @default true
145
168
  */
146
169
  throwOnError?: boolean;
170
+ /**
171
+ * Client refresh key. Partitions the shared refresh store so that only hooks
172
+ * using the same `key` refresh together when one of them calls `load()`.
173
+ *
174
+ * Without a `key` (default), a plain `load()` on a route-registered loader
175
+ * broadcasts to every reader of that loader, and any parameterized / unregistered
176
+ * load stays local to the calling hook. With a `key`:
177
+ * - readers of the same loader that share a `key` form one refresh group —
178
+ * a `load()` from any of them updates the whole group, including
179
+ * parameterized GETs;
180
+ * - readers with different keys are independent;
181
+ * - it works even when the loader is NOT registered on the route (keyed
182
+ * `useFetchLoader`), letting unrelated components opt into sharing.
183
+ *
184
+ * This is a client-side refresh identity only. It is unrelated to the server
185
+ * `cache({ key })` option and to `revalidate()`; it never changes the request
186
+ * sent to the server.
187
+ */
188
+ key?: string;
189
+ /**
190
+ * Cross-loader refresh group. Tag reads of DIFFERENT loaders with the same
191
+ * `refreshGroup` name, then call `useRefreshLoaders(name)()` to refresh the
192
+ * whole group at once. Each member is refreshed with a plain GET against the
193
+ * current route URL — no params, no body, no mutation methods — because a
194
+ * group spans heterogeneous loaders with different param/return shapes.
195
+ *
196
+ * For parameterized sharing of a SINGLE loader, use `key` instead; group
197
+ * members should be registered or non-parameterized-keyed reads (a plain-GET
198
+ * group refresh would drop any per-call params).
199
+ */
200
+ refreshGroup?: string;
147
201
  }
148
202
 
149
203
  /**
@@ -196,37 +250,106 @@ function useLoaderInternal<T>(
196
250
  // trip Suspense fallbacks during a refetch (matches the per-hook
197
251
  // startTransition the old code wrapped setFetchedData in).
198
252
  const loaderId = loader.$$id;
253
+ // Client refresh key. The shared store is partitioned by bucket key so that
254
+ // only hooks with the same `key` refresh together. Default (no key) keeps the
255
+ // historical behavior: one bucket per loader id.
256
+ const key = options?.key;
257
+ const refreshGroup = options?.refreshGroup;
258
+ // A grouped reader with no explicit key gets a private per-hook bucket so a
259
+ // cross-loader group refresh cannot leak into the bare `loader.$$id` bucket
260
+ // shared by unrelated unkeyed readers. Sharing within a group is opt-in via
261
+ // an explicit `key`.
262
+ const privateBucketIdRef = useRef<string | null>(null);
263
+ if (
264
+ refreshGroup !== undefined &&
265
+ key === undefined &&
266
+ privateBucketIdRef.current === null
267
+ ) {
268
+ privateBucketIdRef.current = `__rg${privateGroupBucketSeq++}`;
269
+ }
270
+ const effectiveKey =
271
+ key ??
272
+ (refreshGroup !== undefined ? privateBucketIdRef.current! : undefined);
273
+ const bucketKey =
274
+ effectiveKey === undefined ? loaderId : `${loaderId}::${effectiveKey}`;
275
+
276
+ // Plain-GET refresh thunk registered with the store for cross-loader group
277
+ // refresh (useRefreshLoaders). Always shares into this hook's bucket, never
278
+ // touches lastSharedRequestIdRef (so a group refresh never render-throws —
279
+ // errors surface via `error` and reject the refreshGroup() promise instead),
280
+ // and sends no params/body. Stable across navigations (depends only on
281
+ // loaderId + bucketKey), so the store keeps one current thunk per bucket.
282
+ const groupRefetch = useCallback(async (): Promise<void> => {
283
+ if (!loaderId) return;
284
+ const requestId = loaderStore.reserveRequestId(bucketKey);
285
+ loaderStore.beginRequest(bucketKey, requestId);
286
+ try {
287
+ const url = new URL(window.location.href);
288
+ url.searchParams.set("_rsc_loader", loaderId);
289
+ const response = fetch(url.toString(), {
290
+ method: "GET",
291
+ headers: { Accept: "text/x-component" },
292
+ });
293
+ const { createFromFetch } = await import("./deps/browser.js");
294
+ const payload = await createFromFetch<LoaderRscPayload<T>>(response);
295
+ if (payload.loaderError) {
296
+ throw new Error(payload.loaderError.message);
297
+ }
298
+ loaderStore.finishData(bucketKey, requestId, payload.loaderResult);
299
+ } catch (e) {
300
+ const err = e instanceof Error ? e : new Error(String(e));
301
+ loaderStore.finishError(bucketKey, requestId, err);
302
+ throw err;
303
+ } finally {
304
+ loaderStore.setLoading(bucketKey, requestId, false);
305
+ }
306
+ }, [loaderId, bucketKey]);
307
+
199
308
  const [sharedState, setSharedState] = useState<{
200
- loaderId: string;
309
+ bucketKey: string;
201
310
  snapshot: LoaderEntry;
202
311
  }>(() => ({
203
- loaderId,
204
- snapshot: loaderStore.getSnapshot(loaderId),
312
+ bucketKey,
313
+ snapshot: loaderStore.getSnapshot(bucketKey),
205
314
  }));
206
315
  const sharedSnapshot =
207
- sharedState.loaderId === loaderId
316
+ sharedState.bucketKey === bucketKey
208
317
  ? sharedState.snapshot
209
- : loaderStore.getSnapshot(loaderId);
318
+ : loaderStore.getSnapshot(bucketKey);
210
319
  useEffect(() => {
211
320
  // Sync any value the store committed between this hook's lazy
212
321
  // initializer and effect-time (e.g. a sibling that mounted earlier
213
322
  // already triggered a load()).
214
- const initial = loaderStore.getSnapshot(loaderId);
323
+ const initial = loaderStore.getSnapshot(bucketKey);
215
324
  if (initial !== sharedSnapshot) {
216
325
  startTransition(() => {
217
- setSharedState({ loaderId, snapshot: initial });
326
+ setSharedState({ bucketKey, snapshot: initial });
218
327
  });
219
328
  }
220
- return loaderStore.subscribe(loaderId, () => {
221
- const next = loaderStore.getSnapshot(loaderId);
222
- startTransition(() => {
223
- setSharedState({ loaderId, snapshot: next });
224
- });
225
- });
329
+ // ephemeral: a reader with no route context has no route-context reset
330
+ // trigger, so its keyed bucket is reference-counted by the store. A
331
+ // route-registered reader makes the bucket sticky (reset via clearFamily).
332
+ return loaderStore.subscribe(
333
+ bucketKey,
334
+ () => {
335
+ const next = loaderStore.getSnapshot(bucketKey);
336
+ startTransition(() => {
337
+ setSharedState({ bucketKey, snapshot: next });
338
+ });
339
+ },
340
+ {
341
+ loaderId,
342
+ ephemeral: !hasContextData,
343
+ group: refreshGroup,
344
+ refetch: refreshGroup !== undefined ? groupRefetch : undefined,
345
+ },
346
+ );
226
347
  // eslint-disable-next-line react-hooks/exhaustive-deps -- intentional:
227
348
  // sharedSnapshot is captured for the one-shot init sync; we don't want
228
- // to re-subscribe on every snapshot change.
229
- }, [loaderId]);
349
+ // to re-subscribe on every snapshot change. bucketKey, hasContextData,
350
+ // refreshGroup, and groupRefetch are the only inputs that require a fresh
351
+ // subscription (groupRefetch is stable per bucketKey).
352
+ }, [bucketKey, hasContextData, refreshGroup, groupRefetch]);
230
353
 
231
354
  // Local state holds the result of:
232
355
  // - parameterized / mutation `load()` calls (load({ params }), POST,
@@ -266,7 +389,9 @@ function useLoaderInternal<T>(
266
389
  setLocalIsLoading(false);
267
390
  setLocalError(null);
268
391
  lastSharedRequestIdRef.current = null;
269
- loaderStore.clear(loaderId);
392
+ // Reset every sticky bucket of this loader (keyed or not). Ephemeral
393
+ // (unregistered keyed) buckets are left to their refcount lifecycle.
394
+ loaderStore.clearFamily(loaderId);
270
395
  prevContextDataRef.current = contextData;
271
396
  }
272
397
  }, [contextData, loaderId]);
@@ -286,6 +411,8 @@ function useLoaderInternal<T>(
286
411
  // callback stable while always reading the latest values.
287
412
  const loaderIdRef = useRef(loaderId);
288
413
  loaderIdRef.current = loaderId;
414
+ const bucketKeyRef = useRef(bucketKey);
415
+ bucketKeyRef.current = bucketKey;
289
416
  const dataRef = useRef(data);
290
417
  dataRef.current = data;
291
418
  const hasContextDataRef = useRef(hasContextData);
@@ -302,20 +429,33 @@ function useLoaderInternal<T>(
302
429
  );
303
430
  }
304
431
 
305
- // Sharing the result is only correct when the loader is actually
306
- // registered on the route otherwise two unrelated components
307
- // calling load() on the same fetchable loader would suddenly start
308
- // overwriting each other's local view through the global store.
309
- const shared = isPlainRefetch(loadOptions) && hasContextDataRef.current;
432
+ const bucket = bucketKeyRef.current;
433
+ // A dedicated bucket means this read owns a bucket distinct from the bare
434
+ // loader id either an explicit `key` (`$$id::key`) or a refreshGroup's
435
+ // private bucket (`$$id::<private>`).
436
+ const hasDedicatedBucket = bucket !== id;
437
+
438
+ // Deciding shared vs local:
439
+ // - With a dedicated bucket, every shareable GET (params allowed) writes
440
+ // to that bucket — the key/group is an explicit opt-in to sharing, and
441
+ // a direct load() must land in the same bucket a group refresh uses.
442
+ // - On the bare loader-id bucket, sharing is only correct when the
443
+ // loader is registered on the route and the call is a plain refetch —
444
+ // otherwise two unrelated components calling load() on the same
445
+ // fetchable loader would overwrite each other's local view.
446
+ // Mutations (non-GET / body) stay local in both cases.
447
+ const shared = hasDedicatedBucket
448
+ ? isShareableGet(loadOptions)
449
+ : isPlainRefetch(loadOptions) && hasContextDataRef.current;
310
450
  let sharedRequestId = -1;
311
451
  let localRequestId = -1;
312
452
  if (shared) {
313
- sharedRequestId = loaderStore.reserveRequestId(id);
453
+ sharedRequestId = loaderStore.reserveRequestId(bucket);
314
454
  lastSharedRequestIdRef.current = sharedRequestId;
315
455
  // beginRequest flips loading on AND clears any prior error so a
316
456
  // throwOnError: false consumer doesn't keep showing the stale
317
457
  // error during the retry. Gated on requestId === latest.
318
- loaderStore.beginRequest(id, sharedRequestId);
458
+ loaderStore.beginRequest(bucket, sharedRequestId);
319
459
  } else {
320
460
  localRequestId = ++localRequestIdRef.current;
321
461
  setLocalIsLoading(true);
@@ -407,7 +547,7 @@ function useLoaderInternal<T>(
407
547
  const result = payload.loaderResult;
408
548
  if (shared) {
409
549
  // finishData is gated on requestId; a stale response is dropped.
410
- loaderStore.finishData(id, sharedRequestId, result);
550
+ loaderStore.finishData(bucket, sharedRequestId, result);
411
551
  } else if (localRequestId === localRequestIdRef.current) {
412
552
  // Local-branch gate, mirrors the shared-branch requestId check:
413
553
  // if a newer load() was issued from this hook before this one
@@ -421,7 +561,7 @@ function useLoaderInternal<T>(
421
561
  } catch (e) {
422
562
  const err = e instanceof Error ? e : new Error(String(e));
423
563
  if (shared) {
424
- loaderStore.finishError(id, sharedRequestId, err);
564
+ loaderStore.finishError(bucket, sharedRequestId, err);
425
565
  } else if (localRequestId === localRequestIdRef.current) {
426
566
  setLocalError(err);
427
567
  setLocalIsLoading(false);
@@ -435,7 +575,7 @@ function useLoaderInternal<T>(
435
575
  } finally {
436
576
  if (shared) {
437
577
  // setLoading is gated; only the latest request flips the flag off.
438
- loaderStore.setLoading(id, sharedRequestId, false);
578
+ loaderStore.setLoading(bucket, sharedRequestId, false);
439
579
  }
440
580
  }
441
581
  },
@@ -570,3 +710,41 @@ export function useFetchLoader<T>(
570
710
  Rango.FlightSerialize<T>
571
711
  >;
572
712
  }
713
+
714
+ /**
715
+ * Refresh every loader tagged with a shared `refreshGroup` name.
716
+ *
717
+ * Returns a stable async function that refreshes all currently-mounted reads
718
+ * in the group with a plain GET against the current route URL. This is the
719
+ * cross-loader counterpart to the single-loader `key`: use it to refresh a set
720
+ * of DIFFERENT loaders together (e.g. profile + orders after an account
721
+ * switch). Members are tagged via `useLoader(Loader, { refreshGroup })` /
722
+ * `useFetchLoader(Loader, { refreshGroup })`.
723
+ *
724
+ * Group refresh never render-throws: a failing member surfaces its error via
725
+ * that read's `error` state, and the returned promise rejects with an
726
+ * `AggregateError` of the failures so the caller can handle them at the await
727
+ * site. Each loader is refreshed in place — no params, no body, no mutations.
728
+ *
729
+ * @example
730
+ * ```tsx
731
+ * "use client";
732
+ * import { useLoader, useRefreshLoaders } from "rsc-router/client";
733
+ *
734
+ * function Profile() {
735
+ * const { data } = useLoader(ProfileLoader, { key: userId, refreshGroup: "account" });
736
+ * return <span>{data.name}</span>;
737
+ * }
738
+ * function Orders() {
739
+ * const { data } = useLoader(OrdersLoader, { key: userId, refreshGroup: "account" });
740
+ * return <span>{data.count} orders</span>;
741
+ * }
742
+ * function RefreshButton() {
743
+ * const refreshAccount = useRefreshLoaders("account");
744
+ * return <button onClick={() => refreshAccount()}>Refresh</button>;
745
+ * }
746
+ * ```
747
+ */
748
+ export function useRefreshLoaders(group: string): () => Promise<void> {
749
+ return useCallback(() => loaderStore.refreshGroup(group), [group]);
750
+ }