@rangojs/router 0.0.0-experimental.dfa55db4 → 0.0.0-experimental.dfdb0387

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 +30 -15
  2. package/package.json +1 -1
  3. package/src/browser/navigation-client.ts +34 -6
  4. package/src/browser/partial-update.ts +5 -0
  5. package/src/browser/prefetch/cache.ts +16 -6
  6. package/src/browser/prefetch/fetch.ts +44 -4
  7. package/src/browser/react/Link.tsx +25 -2
  8. package/src/browser/segment-reconciler.ts +26 -0
  9. package/src/router/match-result.ts +82 -4
  10. package/src/router/segment-resolution/fresh.ts +5 -0
  11. package/src/router/segment-resolution/revalidation.ts +7 -1
  12. package/src/rsc/handler.ts +8 -4
  13. package/src/types/segments.ts +1 -0
  14. package/src/use-loader.tsx +4 -1
  15. package/src/vite/plugins/expose-id-utils.ts +12 -0
  16. package/src/vite/plugins/expose-internal-ids.ts +56 -31
  17. package/dist/__internal.d.ts +0 -83
  18. package/dist/__internal.d.ts.map +0 -1
  19. package/dist/__internal.js +0 -19
  20. package/dist/__internal.js.map +0 -1
  21. package/dist/__mocks__/version.d.ts +0 -7
  22. package/dist/__mocks__/version.d.ts.map +0 -1
  23. package/dist/__mocks__/version.js +0 -7
  24. package/dist/__mocks__/version.js.map +0 -1
  25. package/dist/__tests__/client-href.test.d.ts +0 -2
  26. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  27. package/dist/__tests__/client-href.test.js +0 -74
  28. package/dist/__tests__/client-href.test.js.map +0 -1
  29. package/dist/__tests__/component-utils.test.d.ts +0 -2
  30. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  31. package/dist/__tests__/component-utils.test.js +0 -51
  32. package/dist/__tests__/component-utils.test.js.map +0 -1
  33. package/dist/__tests__/event-controller.test.d.ts +0 -2
  34. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  35. package/dist/__tests__/event-controller.test.js +0 -538
  36. package/dist/__tests__/event-controller.test.js.map +0 -1
  37. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  38. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  39. package/dist/__tests__/helpers/route-tree.js +0 -374
  40. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  41. package/dist/__tests__/match-result.test.d.ts +0 -2
  42. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  43. package/dist/__tests__/match-result.test.js +0 -154
  44. package/dist/__tests__/match-result.test.js.map +0 -1
  45. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  46. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  47. package/dist/__tests__/navigation-store.test.js +0 -440
  48. package/dist/__tests__/navigation-store.test.js.map +0 -1
  49. package/dist/__tests__/partial-update.test.d.ts +0 -2
  50. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  51. package/dist/__tests__/partial-update.test.js +0 -1009
  52. package/dist/__tests__/partial-update.test.js.map +0 -1
  53. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  54. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  55. package/dist/__tests__/reverse-types.test.js +0 -656
  56. package/dist/__tests__/reverse-types.test.js.map +0 -1
  57. package/dist/__tests__/route-definition.test.d.ts +0 -2
  58. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  59. package/dist/__tests__/route-definition.test.js +0 -55
  60. package/dist/__tests__/route-definition.test.js.map +0 -1
  61. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  62. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  63. package/dist/__tests__/router-helpers.test.js +0 -377
  64. package/dist/__tests__/router-helpers.test.js.map +0 -1
  65. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  66. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  67. package/dist/__tests__/router-integration-2.test.js +0 -426
  68. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  69. package/dist/__tests__/router-integration.test.d.ts +0 -2
  70. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  71. package/dist/__tests__/router-integration.test.js +0 -1051
  72. package/dist/__tests__/router-integration.test.js.map +0 -1
  73. package/dist/__tests__/search-params.test.d.ts +0 -5
  74. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  75. package/dist/__tests__/search-params.test.js +0 -306
  76. package/dist/__tests__/search-params.test.js.map +0 -1
  77. package/dist/__tests__/segment-system.test.d.ts +0 -2
  78. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  79. package/dist/__tests__/segment-system.test.js +0 -627
  80. package/dist/__tests__/segment-system.test.js.map +0 -1
  81. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  82. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  83. package/dist/__tests__/static-handler-types.test.js +0 -63
  84. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  85. package/dist/__tests__/urls.test.d.ts +0 -2
  86. package/dist/__tests__/urls.test.d.ts.map +0 -1
  87. package/dist/__tests__/urls.test.js +0 -421
  88. package/dist/__tests__/urls.test.js.map +0 -1
  89. package/dist/__tests__/use-mount.test.d.ts +0 -2
  90. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  91. package/dist/__tests__/use-mount.test.js +0 -35
  92. package/dist/__tests__/use-mount.test.js.map +0 -1
  93. package/dist/bin/rango.d.ts +0 -2
  94. package/dist/bin/rango.d.ts.map +0 -1
  95. package/dist/bin/rango.js.map +0 -1
  96. package/dist/browser/event-controller.d.ts +0 -191
  97. package/dist/browser/event-controller.d.ts.map +0 -1
  98. package/dist/browser/event-controller.js +0 -559
  99. package/dist/browser/event-controller.js.map +0 -1
  100. package/dist/browser/index.d.ts +0 -2
  101. package/dist/browser/index.d.ts.map +0 -1
  102. package/dist/browser/index.js +0 -14
  103. package/dist/browser/index.js.map +0 -1
  104. package/dist/browser/link-interceptor.d.ts +0 -38
  105. package/dist/browser/link-interceptor.d.ts.map +0 -1
  106. package/dist/browser/link-interceptor.js +0 -99
  107. package/dist/browser/link-interceptor.js.map +0 -1
  108. package/dist/browser/logging.d.ts +0 -10
  109. package/dist/browser/logging.d.ts.map +0 -1
  110. package/dist/browser/logging.js +0 -29
  111. package/dist/browser/logging.js.map +0 -1
  112. package/dist/browser/lru-cache.d.ts +0 -17
  113. package/dist/browser/lru-cache.d.ts.map +0 -1
  114. package/dist/browser/lru-cache.js +0 -50
  115. package/dist/browser/lru-cache.js.map +0 -1
  116. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  117. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  118. package/dist/browser/merge-segment-loaders.js +0 -102
  119. package/dist/browser/merge-segment-loaders.js.map +0 -1
  120. package/dist/browser/navigation-bridge.d.ts +0 -102
  121. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  122. package/dist/browser/navigation-bridge.js +0 -708
  123. package/dist/browser/navigation-bridge.js.map +0 -1
  124. package/dist/browser/navigation-client.d.ts +0 -25
  125. package/dist/browser/navigation-client.d.ts.map +0 -1
  126. package/dist/browser/navigation-client.js +0 -157
  127. package/dist/browser/navigation-client.js.map +0 -1
  128. package/dist/browser/navigation-store.d.ts +0 -101
  129. package/dist/browser/navigation-store.d.ts.map +0 -1
  130. package/dist/browser/navigation-store.js +0 -625
  131. package/dist/browser/navigation-store.js.map +0 -1
  132. package/dist/browser/partial-update.d.ts +0 -75
  133. package/dist/browser/partial-update.d.ts.map +0 -1
  134. package/dist/browser/partial-update.js +0 -426
  135. package/dist/browser/partial-update.js.map +0 -1
  136. package/dist/browser/react/Link.d.ts +0 -86
  137. package/dist/browser/react/Link.d.ts.map +0 -1
  138. package/dist/browser/react/Link.js +0 -128
  139. package/dist/browser/react/Link.js.map +0 -1
  140. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  141. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  142. package/dist/browser/react/NavigationProvider.js +0 -216
  143. package/dist/browser/react/NavigationProvider.js.map +0 -1
  144. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  145. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  146. package/dist/browser/react/ScrollRestoration.js +0 -57
  147. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  148. package/dist/browser/react/context.d.ts +0 -46
  149. package/dist/browser/react/context.d.ts.map +0 -1
  150. package/dist/browser/react/context.js +0 -10
  151. package/dist/browser/react/context.js.map +0 -1
  152. package/dist/browser/react/index.d.ts +0 -11
  153. package/dist/browser/react/index.d.ts.map +0 -1
  154. package/dist/browser/react/index.js +0 -22
  155. package/dist/browser/react/index.js.map +0 -1
  156. package/dist/browser/react/location-state-shared.d.ts +0 -63
  157. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  158. package/dist/browser/react/location-state-shared.js +0 -81
  159. package/dist/browser/react/location-state-shared.js.map +0 -1
  160. package/dist/browser/react/location-state.d.ts +0 -23
  161. package/dist/browser/react/location-state.d.ts.map +0 -1
  162. package/dist/browser/react/location-state.js +0 -29
  163. package/dist/browser/react/location-state.js.map +0 -1
  164. package/dist/browser/react/mount-context.d.ts +0 -24
  165. package/dist/browser/react/mount-context.d.ts.map +0 -1
  166. package/dist/browser/react/mount-context.js +0 -24
  167. package/dist/browser/react/mount-context.js.map +0 -1
  168. package/dist/browser/react/use-action.d.ts +0 -64
  169. package/dist/browser/react/use-action.d.ts.map +0 -1
  170. package/dist/browser/react/use-action.js +0 -134
  171. package/dist/browser/react/use-action.js.map +0 -1
  172. package/dist/browser/react/use-client-cache.d.ts +0 -41
  173. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  174. package/dist/browser/react/use-client-cache.js +0 -39
  175. package/dist/browser/react/use-client-cache.js.map +0 -1
  176. package/dist/browser/react/use-handle.d.ts +0 -31
  177. package/dist/browser/react/use-handle.d.ts.map +0 -1
  178. package/dist/browser/react/use-handle.js +0 -144
  179. package/dist/browser/react/use-handle.js.map +0 -1
  180. package/dist/browser/react/use-href.d.ts +0 -33
  181. package/dist/browser/react/use-href.d.ts.map +0 -1
  182. package/dist/browser/react/use-href.js +0 -39
  183. package/dist/browser/react/use-href.js.map +0 -1
  184. package/dist/browser/react/use-link-status.d.ts +0 -37
  185. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  186. package/dist/browser/react/use-link-status.js +0 -99
  187. package/dist/browser/react/use-link-status.js.map +0 -1
  188. package/dist/browser/react/use-mount.d.ts +0 -25
  189. package/dist/browser/react/use-mount.d.ts.map +0 -1
  190. package/dist/browser/react/use-mount.js +0 -30
  191. package/dist/browser/react/use-mount.js.map +0 -1
  192. package/dist/browser/react/use-navigation.d.ts +0 -27
  193. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  194. package/dist/browser/react/use-navigation.js +0 -87
  195. package/dist/browser/react/use-navigation.js.map +0 -1
  196. package/dist/browser/react/use-segments.d.ts +0 -38
  197. package/dist/browser/react/use-segments.d.ts.map +0 -1
  198. package/dist/browser/react/use-segments.js +0 -130
  199. package/dist/browser/react/use-segments.js.map +0 -1
  200. package/dist/browser/request-controller.d.ts +0 -26
  201. package/dist/browser/request-controller.d.ts.map +0 -1
  202. package/dist/browser/request-controller.js +0 -147
  203. package/dist/browser/request-controller.js.map +0 -1
  204. package/dist/browser/rsc-router.d.ts +0 -129
  205. package/dist/browser/rsc-router.d.ts.map +0 -1
  206. package/dist/browser/rsc-router.js +0 -195
  207. package/dist/browser/rsc-router.js.map +0 -1
  208. package/dist/browser/scroll-restoration.d.ts +0 -93
  209. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  210. package/dist/browser/scroll-restoration.js +0 -321
  211. package/dist/browser/scroll-restoration.js.map +0 -1
  212. package/dist/browser/segment-structure-assert.d.ts +0 -17
  213. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  214. package/dist/browser/segment-structure-assert.js +0 -59
  215. package/dist/browser/segment-structure-assert.js.map +0 -1
  216. package/dist/browser/server-action-bridge.d.ts +0 -26
  217. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  218. package/dist/browser/server-action-bridge.js +0 -668
  219. package/dist/browser/server-action-bridge.js.map +0 -1
  220. package/dist/browser/shallow.d.ts +0 -12
  221. package/dist/browser/shallow.d.ts.map +0 -1
  222. package/dist/browser/shallow.js +0 -34
  223. package/dist/browser/shallow.js.map +0 -1
  224. package/dist/browser/types.d.ts +0 -369
  225. package/dist/browser/types.d.ts.map +0 -1
  226. package/dist/browser/types.js +0 -2
  227. package/dist/browser/types.js.map +0 -1
  228. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  229. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  230. package/dist/build/__tests__/generate-cli.test.js +0 -237
  231. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  232. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  233. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  234. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  235. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  236. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  237. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  238. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  239. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  240. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  241. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  242. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  243. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  244. package/dist/build/generate-manifest.d.ts +0 -81
  245. package/dist/build/generate-manifest.d.ts.map +0 -1
  246. package/dist/build/generate-manifest.js +0 -276
  247. package/dist/build/generate-manifest.js.map +0 -1
  248. package/dist/build/generate-route-types.d.ts +0 -115
  249. package/dist/build/generate-route-types.d.ts.map +0 -1
  250. package/dist/build/generate-route-types.js +0 -740
  251. package/dist/build/generate-route-types.js.map +0 -1
  252. package/dist/build/index.d.ts +0 -21
  253. package/dist/build/index.d.ts.map +0 -1
  254. package/dist/build/index.js +0 -21
  255. package/dist/build/index.js.map +0 -1
  256. package/dist/build/route-trie.d.ts +0 -71
  257. package/dist/build/route-trie.d.ts.map +0 -1
  258. package/dist/build/route-trie.js +0 -175
  259. package/dist/build/route-trie.js.map +0 -1
  260. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  261. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  262. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  263. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  264. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  265. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  266. package/dist/cache/__tests__/document-cache.test.js +0 -345
  267. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  268. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  269. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  270. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  271. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  272. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  273. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  274. package/dist/cache/__tests__/memory-store.test.js +0 -367
  275. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  276. package/dist/cache/cache-scope.d.ts +0 -102
  277. package/dist/cache/cache-scope.d.ts.map +0 -1
  278. package/dist/cache/cache-scope.js +0 -440
  279. package/dist/cache/cache-scope.js.map +0 -1
  280. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  281. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  282. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  283. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  284. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  285. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  286. package/dist/cache/cf/cf-cache-store.js +0 -242
  287. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  288. package/dist/cache/cf/index.d.ts +0 -14
  289. package/dist/cache/cf/index.d.ts.map +0 -1
  290. package/dist/cache/cf/index.js +0 -17
  291. package/dist/cache/cf/index.js.map +0 -1
  292. package/dist/cache/document-cache.d.ts +0 -64
  293. package/dist/cache/document-cache.d.ts.map +0 -1
  294. package/dist/cache/document-cache.js +0 -228
  295. package/dist/cache/document-cache.js.map +0 -1
  296. package/dist/cache/index.d.ts +0 -19
  297. package/dist/cache/index.d.ts.map +0 -1
  298. package/dist/cache/index.js +0 -21
  299. package/dist/cache/index.js.map +0 -1
  300. package/dist/cache/memory-segment-store.d.ts +0 -110
  301. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  302. package/dist/cache/memory-segment-store.js +0 -117
  303. package/dist/cache/memory-segment-store.js.map +0 -1
  304. package/dist/cache/memory-store.d.ts +0 -41
  305. package/dist/cache/memory-store.d.ts.map +0 -1
  306. package/dist/cache/memory-store.js +0 -191
  307. package/dist/cache/memory-store.js.map +0 -1
  308. package/dist/cache/types.d.ts +0 -317
  309. package/dist/cache/types.d.ts.map +0 -1
  310. package/dist/cache/types.js +0 -12
  311. package/dist/cache/types.js.map +0 -1
  312. package/dist/client.d.ts +0 -248
  313. package/dist/client.d.ts.map +0 -1
  314. package/dist/client.js +0 -367
  315. package/dist/client.js.map +0 -1
  316. package/dist/client.rsc.d.ts +0 -26
  317. package/dist/client.rsc.d.ts.map +0 -1
  318. package/dist/client.rsc.js +0 -46
  319. package/dist/client.rsc.js.map +0 -1
  320. package/dist/component-utils.d.ts +0 -36
  321. package/dist/component-utils.d.ts.map +0 -1
  322. package/dist/component-utils.js +0 -61
  323. package/dist/component-utils.js.map +0 -1
  324. package/dist/components/DefaultDocument.d.ts +0 -13
  325. package/dist/components/DefaultDocument.d.ts.map +0 -1
  326. package/dist/components/DefaultDocument.js +0 -15
  327. package/dist/components/DefaultDocument.js.map +0 -1
  328. package/dist/debug.d.ts +0 -58
  329. package/dist/debug.d.ts.map +0 -1
  330. package/dist/debug.js +0 -157
  331. package/dist/debug.js.map +0 -1
  332. package/dist/default-error-boundary.d.ts +0 -11
  333. package/dist/default-error-boundary.d.ts.map +0 -1
  334. package/dist/default-error-boundary.js +0 -45
  335. package/dist/default-error-boundary.js.map +0 -1
  336. package/dist/deps/browser.d.ts +0 -2
  337. package/dist/deps/browser.d.ts.map +0 -1
  338. package/dist/deps/browser.js +0 -3
  339. package/dist/deps/browser.js.map +0 -1
  340. package/dist/deps/html-stream-client.d.ts +0 -2
  341. package/dist/deps/html-stream-client.d.ts.map +0 -1
  342. package/dist/deps/html-stream-client.js +0 -3
  343. package/dist/deps/html-stream-client.js.map +0 -1
  344. package/dist/deps/html-stream-server.d.ts +0 -2
  345. package/dist/deps/html-stream-server.d.ts.map +0 -1
  346. package/dist/deps/html-stream-server.js +0 -3
  347. package/dist/deps/html-stream-server.js.map +0 -1
  348. package/dist/deps/rsc.d.ts +0 -2
  349. package/dist/deps/rsc.d.ts.map +0 -1
  350. package/dist/deps/rsc.js +0 -4
  351. package/dist/deps/rsc.js.map +0 -1
  352. package/dist/deps/ssr.d.ts +0 -2
  353. package/dist/deps/ssr.d.ts.map +0 -1
  354. package/dist/deps/ssr.js +0 -3
  355. package/dist/deps/ssr.js.map +0 -1
  356. package/dist/errors.d.ts +0 -174
  357. package/dist/errors.d.ts.map +0 -1
  358. package/dist/errors.js +0 -241
  359. package/dist/errors.js.map +0 -1
  360. package/dist/handle.d.ts +0 -78
  361. package/dist/handle.d.ts.map +0 -1
  362. package/dist/handle.js +0 -82
  363. package/dist/handle.js.map +0 -1
  364. package/dist/handles/MetaTags.d.ts +0 -14
  365. package/dist/handles/MetaTags.d.ts.map +0 -1
  366. package/dist/handles/MetaTags.js +0 -136
  367. package/dist/handles/MetaTags.js.map +0 -1
  368. package/dist/handles/index.d.ts +0 -6
  369. package/dist/handles/index.d.ts.map +0 -1
  370. package/dist/handles/index.js +0 -6
  371. package/dist/handles/index.js.map +0 -1
  372. package/dist/handles/meta.d.ts +0 -39
  373. package/dist/handles/meta.d.ts.map +0 -1
  374. package/dist/handles/meta.js +0 -202
  375. package/dist/handles/meta.js.map +0 -1
  376. package/dist/host/__tests__/errors.test.d.ts +0 -2
  377. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  378. package/dist/host/__tests__/errors.test.js +0 -76
  379. package/dist/host/__tests__/errors.test.js.map +0 -1
  380. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  381. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  382. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  383. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  384. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  385. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  386. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  387. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  388. package/dist/host/__tests__/router.test.d.ts +0 -2
  389. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  390. package/dist/host/__tests__/router.test.js +0 -241
  391. package/dist/host/__tests__/router.test.js.map +0 -1
  392. package/dist/host/__tests__/testing.test.d.ts +0 -2
  393. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  394. package/dist/host/__tests__/testing.test.js +0 -64
  395. package/dist/host/__tests__/testing.test.js.map +0 -1
  396. package/dist/host/__tests__/utils.test.d.ts +0 -2
  397. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  398. package/dist/host/__tests__/utils.test.js +0 -29
  399. package/dist/host/__tests__/utils.test.js.map +0 -1
  400. package/dist/host/cookie-handler.d.ts +0 -34
  401. package/dist/host/cookie-handler.d.ts.map +0 -1
  402. package/dist/host/cookie-handler.js +0 -124
  403. package/dist/host/cookie-handler.js.map +0 -1
  404. package/dist/host/errors.d.ts +0 -56
  405. package/dist/host/errors.d.ts.map +0 -1
  406. package/dist/host/errors.js +0 -79
  407. package/dist/host/errors.js.map +0 -1
  408. package/dist/host/index.d.ts +0 -29
  409. package/dist/host/index.d.ts.map +0 -1
  410. package/dist/host/index.js +0 -32
  411. package/dist/host/index.js.map +0 -1
  412. package/dist/host/pattern-matcher.d.ts +0 -36
  413. package/dist/host/pattern-matcher.d.ts.map +0 -1
  414. package/dist/host/pattern-matcher.js +0 -172
  415. package/dist/host/pattern-matcher.js.map +0 -1
  416. package/dist/host/router.d.ts +0 -26
  417. package/dist/host/router.d.ts.map +0 -1
  418. package/dist/host/router.js +0 -218
  419. package/dist/host/router.js.map +0 -1
  420. package/dist/host/testing.d.ts +0 -36
  421. package/dist/host/testing.d.ts.map +0 -1
  422. package/dist/host/testing.js +0 -55
  423. package/dist/host/testing.js.map +0 -1
  424. package/dist/host/types.d.ts +0 -115
  425. package/dist/host/types.d.ts.map +0 -1
  426. package/dist/host/types.js +0 -7
  427. package/dist/host/types.js.map +0 -1
  428. package/dist/host/utils.d.ts +0 -21
  429. package/dist/host/utils.d.ts.map +0 -1
  430. package/dist/host/utils.js +0 -23
  431. package/dist/host/utils.js.map +0 -1
  432. package/dist/href-client.d.ts +0 -131
  433. package/dist/href-client.d.ts.map +0 -1
  434. package/dist/href-client.js +0 -64
  435. package/dist/href-client.js.map +0 -1
  436. package/dist/href-context.d.ts +0 -29
  437. package/dist/href-context.d.ts.map +0 -1
  438. package/dist/href-context.js +0 -21
  439. package/dist/href-context.js.map +0 -1
  440. package/dist/index.d.ts +0 -73
  441. package/dist/index.d.ts.map +0 -1
  442. package/dist/index.js +0 -91
  443. package/dist/index.js.map +0 -1
  444. package/dist/index.rsc.d.ts +0 -32
  445. package/dist/index.rsc.d.ts.map +0 -1
  446. package/dist/index.rsc.js +0 -40
  447. package/dist/index.rsc.js.map +0 -1
  448. package/dist/internal-debug.d.ts +0 -2
  449. package/dist/internal-debug.d.ts.map +0 -1
  450. package/dist/internal-debug.js +0 -5
  451. package/dist/internal-debug.js.map +0 -1
  452. package/dist/loader.d.ts +0 -14
  453. package/dist/loader.d.ts.map +0 -1
  454. package/dist/loader.js +0 -20
  455. package/dist/loader.js.map +0 -1
  456. package/dist/loader.rsc.d.ts +0 -19
  457. package/dist/loader.rsc.d.ts.map +0 -1
  458. package/dist/loader.rsc.js +0 -99
  459. package/dist/loader.rsc.js.map +0 -1
  460. package/dist/network-error-thrower.d.ts +0 -17
  461. package/dist/network-error-thrower.d.ts.map +0 -1
  462. package/dist/network-error-thrower.js +0 -14
  463. package/dist/network-error-thrower.js.map +0 -1
  464. package/dist/outlet-context.d.ts +0 -13
  465. package/dist/outlet-context.d.ts.map +0 -1
  466. package/dist/outlet-context.js +0 -3
  467. package/dist/outlet-context.js.map +0 -1
  468. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  469. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  470. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  471. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  472. package/dist/prerender/param-hash.d.ts +0 -16
  473. package/dist/prerender/param-hash.d.ts.map +0 -1
  474. package/dist/prerender/param-hash.js +0 -36
  475. package/dist/prerender/param-hash.js.map +0 -1
  476. package/dist/prerender/store.d.ts +0 -38
  477. package/dist/prerender/store.d.ts.map +0 -1
  478. package/dist/prerender/store.js +0 -61
  479. package/dist/prerender/store.js.map +0 -1
  480. package/dist/prerender.d.ts +0 -66
  481. package/dist/prerender.d.ts.map +0 -1
  482. package/dist/prerender.js +0 -57
  483. package/dist/prerender.js.map +0 -1
  484. package/dist/reverse.d.ts +0 -196
  485. package/dist/reverse.d.ts.map +0 -1
  486. package/dist/reverse.js +0 -78
  487. package/dist/reverse.js.map +0 -1
  488. package/dist/root-error-boundary.d.ts +0 -33
  489. package/dist/root-error-boundary.d.ts.map +0 -1
  490. package/dist/root-error-boundary.js +0 -165
  491. package/dist/root-error-boundary.js.map +0 -1
  492. package/dist/route-content-wrapper.d.ts +0 -46
  493. package/dist/route-content-wrapper.d.ts.map +0 -1
  494. package/dist/route-content-wrapper.js +0 -77
  495. package/dist/route-content-wrapper.js.map +0 -1
  496. package/dist/route-definition.d.ts +0 -421
  497. package/dist/route-definition.d.ts.map +0 -1
  498. package/dist/route-definition.js +0 -868
  499. package/dist/route-definition.js.map +0 -1
  500. package/dist/route-map-builder.d.ts +0 -155
  501. package/dist/route-map-builder.d.ts.map +0 -1
  502. package/dist/route-map-builder.js +0 -237
  503. package/dist/route-map-builder.js.map +0 -1
  504. package/dist/route-types.d.ts +0 -165
  505. package/dist/route-types.d.ts.map +0 -1
  506. package/dist/route-types.js +0 -7
  507. package/dist/route-types.js.map +0 -1
  508. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  509. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  510. package/dist/router/__tests__/handler-context.test.js +0 -65
  511. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  512. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  513. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  514. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  515. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  516. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  517. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  518. package/dist/router/__tests__/match-context.test.js +0 -92
  519. package/dist/router/__tests__/match-context.test.js.map +0 -1
  520. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  521. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  522. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  523. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  524. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  525. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  526. package/dist/router/__tests__/match-result.test.js +0 -457
  527. package/dist/router/__tests__/match-result.test.js.map +0 -1
  528. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  529. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  530. package/dist/router/__tests__/on-error.test.js +0 -678
  531. package/dist/router/__tests__/on-error.test.js.map +0 -1
  532. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  533. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  534. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  535. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  536. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  537. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  538. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  539. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  540. package/dist/router/error-handling.d.ts +0 -77
  541. package/dist/router/error-handling.d.ts.map +0 -1
  542. package/dist/router/error-handling.js +0 -202
  543. package/dist/router/error-handling.js.map +0 -1
  544. package/dist/router/handler-context.d.ts +0 -20
  545. package/dist/router/handler-context.d.ts.map +0 -1
  546. package/dist/router/handler-context.js +0 -198
  547. package/dist/router/handler-context.js.map +0 -1
  548. package/dist/router/intercept-resolution.d.ts +0 -66
  549. package/dist/router/intercept-resolution.d.ts.map +0 -1
  550. package/dist/router/intercept-resolution.js +0 -246
  551. package/dist/router/intercept-resolution.js.map +0 -1
  552. package/dist/router/loader-resolution.d.ts +0 -64
  553. package/dist/router/loader-resolution.d.ts.map +0 -1
  554. package/dist/router/loader-resolution.js +0 -284
  555. package/dist/router/loader-resolution.js.map +0 -1
  556. package/dist/router/logging.d.ts +0 -15
  557. package/dist/router/logging.d.ts.map +0 -1
  558. package/dist/router/logging.js +0 -99
  559. package/dist/router/logging.js.map +0 -1
  560. package/dist/router/manifest.d.ts +0 -22
  561. package/dist/router/manifest.d.ts.map +0 -1
  562. package/dist/router/manifest.js +0 -181
  563. package/dist/router/manifest.js.map +0 -1
  564. package/dist/router/match-api.d.ts +0 -35
  565. package/dist/router/match-api.d.ts.map +0 -1
  566. package/dist/router/match-api.js +0 -406
  567. package/dist/router/match-api.js.map +0 -1
  568. package/dist/router/match-context.d.ts +0 -206
  569. package/dist/router/match-context.d.ts.map +0 -1
  570. package/dist/router/match-context.js +0 -17
  571. package/dist/router/match-context.js.map +0 -1
  572. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  573. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  574. package/dist/router/match-middleware/background-revalidation.js +0 -75
  575. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  576. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  577. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  578. package/dist/router/match-middleware/cache-lookup.js +0 -257
  579. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  580. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  581. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  582. package/dist/router/match-middleware/cache-store.js +0 -108
  583. package/dist/router/match-middleware/cache-store.js.map +0 -1
  584. package/dist/router/match-middleware/index.d.ts +0 -81
  585. package/dist/router/match-middleware/index.d.ts.map +0 -1
  586. package/dist/router/match-middleware/index.js +0 -80
  587. package/dist/router/match-middleware/index.js.map +0 -1
  588. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  589. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  590. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  591. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  592. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  593. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  594. package/dist/router/match-middleware/segment-resolution.js +0 -53
  595. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  596. package/dist/router/match-pipelines.d.ts +0 -147
  597. package/dist/router/match-pipelines.d.ts.map +0 -1
  598. package/dist/router/match-pipelines.js +0 -82
  599. package/dist/router/match-pipelines.js.map +0 -1
  600. package/dist/router/match-result.d.ts +0 -126
  601. package/dist/router/match-result.d.ts.map +0 -1
  602. package/dist/router/match-result.js +0 -93
  603. package/dist/router/match-result.js.map +0 -1
  604. package/dist/router/metrics.d.ts +0 -20
  605. package/dist/router/metrics.d.ts.map +0 -1
  606. package/dist/router/metrics.js +0 -47
  607. package/dist/router/metrics.js.map +0 -1
  608. package/dist/router/middleware.d.ts +0 -249
  609. package/dist/router/middleware.d.ts.map +0 -1
  610. package/dist/router/middleware.js +0 -434
  611. package/dist/router/middleware.js.map +0 -1
  612. package/dist/router/middleware.test.d.ts +0 -2
  613. package/dist/router/middleware.test.d.ts.map +0 -1
  614. package/dist/router/middleware.test.js +0 -816
  615. package/dist/router/middleware.test.js.map +0 -1
  616. package/dist/router/pattern-matching.d.ts +0 -149
  617. package/dist/router/pattern-matching.d.ts.map +0 -1
  618. package/dist/router/pattern-matching.js +0 -349
  619. package/dist/router/pattern-matching.js.map +0 -1
  620. package/dist/router/revalidation.d.ts +0 -44
  621. package/dist/router/revalidation.d.ts.map +0 -1
  622. package/dist/router/revalidation.js +0 -147
  623. package/dist/router/revalidation.js.map +0 -1
  624. package/dist/router/router-context.d.ts +0 -135
  625. package/dist/router/router-context.d.ts.map +0 -1
  626. package/dist/router/router-context.js +0 -36
  627. package/dist/router/router-context.js.map +0 -1
  628. package/dist/router/segment-resolution.d.ts +0 -127
  629. package/dist/router/segment-resolution.d.ts.map +0 -1
  630. package/dist/router/segment-resolution.js +0 -919
  631. package/dist/router/segment-resolution.js.map +0 -1
  632. package/dist/router/trie-matching.d.ts +0 -40
  633. package/dist/router/trie-matching.d.ts.map +0 -1
  634. package/dist/router/trie-matching.js +0 -127
  635. package/dist/router/trie-matching.js.map +0 -1
  636. package/dist/router/types.d.ts +0 -136
  637. package/dist/router/types.d.ts.map +0 -1
  638. package/dist/router/types.js +0 -7
  639. package/dist/router/types.js.map +0 -1
  640. package/dist/router.d.ts +0 -753
  641. package/dist/router.d.ts.map +0 -1
  642. package/dist/router.gen.d.ts +0 -6
  643. package/dist/router.gen.d.ts.map +0 -1
  644. package/dist/router.gen.js +0 -6
  645. package/dist/router.gen.js.map +0 -1
  646. package/dist/router.js +0 -1304
  647. package/dist/router.js.map +0 -1
  648. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  649. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  650. package/dist/rsc/__tests__/helpers.test.js +0 -140
  651. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  652. package/dist/rsc/handler.d.ts +0 -45
  653. package/dist/rsc/handler.d.ts.map +0 -1
  654. package/dist/rsc/handler.js +0 -1172
  655. package/dist/rsc/handler.js.map +0 -1
  656. package/dist/rsc/helpers.d.ts +0 -16
  657. package/dist/rsc/helpers.d.ts.map +0 -1
  658. package/dist/rsc/helpers.js +0 -55
  659. package/dist/rsc/helpers.js.map +0 -1
  660. package/dist/rsc/index.d.ts +0 -22
  661. package/dist/rsc/index.d.ts.map +0 -1
  662. package/dist/rsc/index.js +0 -23
  663. package/dist/rsc/index.js.map +0 -1
  664. package/dist/rsc/nonce.d.ts +0 -9
  665. package/dist/rsc/nonce.d.ts.map +0 -1
  666. package/dist/rsc/nonce.js +0 -18
  667. package/dist/rsc/nonce.js.map +0 -1
  668. package/dist/rsc/types.d.ts +0 -206
  669. package/dist/rsc/types.d.ts.map +0 -1
  670. package/dist/rsc/types.js +0 -8
  671. package/dist/rsc/types.js.map +0 -1
  672. package/dist/search-params.d.ts +0 -103
  673. package/dist/search-params.d.ts.map +0 -1
  674. package/dist/search-params.js +0 -74
  675. package/dist/search-params.js.map +0 -1
  676. package/dist/segment-system.d.ts +0 -75
  677. package/dist/segment-system.d.ts.map +0 -1
  678. package/dist/segment-system.js +0 -336
  679. package/dist/segment-system.js.map +0 -1
  680. package/dist/server/context.d.ts +0 -245
  681. package/dist/server/context.d.ts.map +0 -1
  682. package/dist/server/context.js +0 -197
  683. package/dist/server/context.js.map +0 -1
  684. package/dist/server/fetchable-loader-store.d.ts +0 -18
  685. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  686. package/dist/server/fetchable-loader-store.js +0 -18
  687. package/dist/server/fetchable-loader-store.js.map +0 -1
  688. package/dist/server/handle-store.d.ts +0 -85
  689. package/dist/server/handle-store.d.ts.map +0 -1
  690. package/dist/server/handle-store.js +0 -142
  691. package/dist/server/handle-store.js.map +0 -1
  692. package/dist/server/loader-registry.d.ts +0 -55
  693. package/dist/server/loader-registry.d.ts.map +0 -1
  694. package/dist/server/loader-registry.js +0 -132
  695. package/dist/server/loader-registry.js.map +0 -1
  696. package/dist/server/request-context.d.ts +0 -226
  697. package/dist/server/request-context.d.ts.map +0 -1
  698. package/dist/server/request-context.js +0 -290
  699. package/dist/server/request-context.js.map +0 -1
  700. package/dist/server/root-layout.d.ts +0 -4
  701. package/dist/server/root-layout.d.ts.map +0 -1
  702. package/dist/server/root-layout.js +0 -5
  703. package/dist/server/root-layout.js.map +0 -1
  704. package/dist/server.d.ts +0 -15
  705. package/dist/server.d.ts.map +0 -1
  706. package/dist/server.js +0 -20
  707. package/dist/server.js.map +0 -1
  708. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  709. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  710. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  711. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  712. package/dist/ssr/index.d.ts +0 -98
  713. package/dist/ssr/index.d.ts.map +0 -1
  714. package/dist/ssr/index.js +0 -158
  715. package/dist/ssr/index.js.map +0 -1
  716. package/dist/static-handler.d.ts +0 -50
  717. package/dist/static-handler.d.ts.map +0 -1
  718. package/dist/static-handler.gen.d.ts +0 -5
  719. package/dist/static-handler.gen.d.ts.map +0 -1
  720. package/dist/static-handler.gen.js +0 -5
  721. package/dist/static-handler.gen.js.map +0 -1
  722. package/dist/static-handler.js +0 -29
  723. package/dist/static-handler.js.map +0 -1
  724. package/dist/theme/ThemeProvider.d.ts +0 -20
  725. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  726. package/dist/theme/ThemeProvider.js +0 -240
  727. package/dist/theme/ThemeProvider.js.map +0 -1
  728. package/dist/theme/ThemeScript.d.ts +0 -48
  729. package/dist/theme/ThemeScript.d.ts.map +0 -1
  730. package/dist/theme/ThemeScript.js +0 -13
  731. package/dist/theme/ThemeScript.js.map +0 -1
  732. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  733. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  734. package/dist/theme/__tests__/theme.test.js +0 -103
  735. package/dist/theme/__tests__/theme.test.js.map +0 -1
  736. package/dist/theme/constants.d.ts +0 -29
  737. package/dist/theme/constants.d.ts.map +0 -1
  738. package/dist/theme/constants.js +0 -48
  739. package/dist/theme/constants.js.map +0 -1
  740. package/dist/theme/index.d.ts +0 -31
  741. package/dist/theme/index.d.ts.map +0 -1
  742. package/dist/theme/index.js +0 -36
  743. package/dist/theme/index.js.map +0 -1
  744. package/dist/theme/theme-context.d.ts +0 -40
  745. package/dist/theme/theme-context.d.ts.map +0 -1
  746. package/dist/theme/theme-context.js +0 -60
  747. package/dist/theme/theme-context.js.map +0 -1
  748. package/dist/theme/theme-script.d.ts +0 -27
  749. package/dist/theme/theme-script.d.ts.map +0 -1
  750. package/dist/theme/theme-script.js +0 -147
  751. package/dist/theme/theme-script.js.map +0 -1
  752. package/dist/theme/types.d.ts +0 -163
  753. package/dist/theme/types.d.ts.map +0 -1
  754. package/dist/theme/types.js +0 -11
  755. package/dist/theme/types.js.map +0 -1
  756. package/dist/theme/use-theme.d.ts +0 -12
  757. package/dist/theme/use-theme.d.ts.map +0 -1
  758. package/dist/theme/use-theme.js +0 -40
  759. package/dist/theme/use-theme.js.map +0 -1
  760. package/dist/types.d.ts +0 -1479
  761. package/dist/types.d.ts.map +0 -1
  762. package/dist/types.js +0 -10
  763. package/dist/types.js.map +0 -1
  764. package/dist/urls.d.ts +0 -441
  765. package/dist/urls.d.ts.map +0 -1
  766. package/dist/urls.gen.d.ts +0 -8
  767. package/dist/urls.gen.d.ts.map +0 -1
  768. package/dist/urls.gen.js +0 -8
  769. package/dist/urls.gen.js.map +0 -1
  770. package/dist/urls.js +0 -443
  771. package/dist/urls.js.map +0 -1
  772. package/dist/use-loader.d.ts +0 -127
  773. package/dist/use-loader.d.ts.map +0 -1
  774. package/dist/use-loader.js +0 -237
  775. package/dist/use-loader.js.map +0 -1
  776. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  777. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  778. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  779. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  780. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  781. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  782. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  783. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  784. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  785. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  786. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  787. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  788. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  789. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  790. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  791. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  792. package/dist/vite/ast-handler-extract.d.ts +0 -49
  793. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  794. package/dist/vite/ast-handler-extract.js +0 -249
  795. package/dist/vite/ast-handler-extract.js.map +0 -1
  796. package/dist/vite/expose-action-id.d.ts +0 -19
  797. package/dist/vite/expose-action-id.d.ts.map +0 -1
  798. package/dist/vite/expose-action-id.js +0 -250
  799. package/dist/vite/expose-action-id.js.map +0 -1
  800. package/dist/vite/expose-id-utils.d.ts +0 -69
  801. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  802. package/dist/vite/expose-id-utils.js +0 -289
  803. package/dist/vite/expose-id-utils.js.map +0 -1
  804. package/dist/vite/expose-internal-ids.d.ts +0 -22
  805. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  806. package/dist/vite/expose-internal-ids.js +0 -886
  807. package/dist/vite/expose-internal-ids.js.map +0 -1
  808. package/dist/vite/index.d.ts +0 -149
  809. package/dist/vite/index.d.ts.map +0 -1
  810. package/dist/vite/index.js.bak +0 -5448
  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,678 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { wrapLoaderWithErrorHandling } from "../loader-resolution";
3
- import { invokeOnError } from "../error-handling";
4
- describe("OnError Types", () => {
5
- describe("OnErrorContext", () => {
6
- it("should have all required properties", () => {
7
- const context = {
8
- error: new Error("Test error"),
9
- phase: "routing",
10
- request: new Request("https://example.com/test"),
11
- url: new URL("https://example.com/test"),
12
- pathname: "/test",
13
- method: "GET",
14
- };
15
- expect(context.error).toBeInstanceOf(Error);
16
- expect(context.phase).toBe("routing");
17
- expect(context.request).toBeInstanceOf(Request);
18
- expect(context.url).toBeInstanceOf(URL);
19
- expect(context.pathname).toBe("/test");
20
- expect(context.method).toBe("GET");
21
- });
22
- it("should support optional properties", () => {
23
- const context = {
24
- error: new Error("Test error"),
25
- phase: "loader",
26
- request: new Request("https://example.com/products/123"),
27
- url: new URL("https://example.com/products/123"),
28
- pathname: "/products/123",
29
- method: "GET",
30
- routeKey: "products.detail",
31
- params: { id: "123" },
32
- segmentId: "M1L0R0",
33
- segmentType: "loader",
34
- loaderName: "ProductLoader",
35
- duration: 150.5,
36
- isPartial: true,
37
- handledByBoundary: true,
38
- stack: "Error: Test error\n at ...",
39
- metadata: { custom: "data" },
40
- };
41
- expect(context.routeKey).toBe("products.detail");
42
- expect(context.params).toEqual({ id: "123" });
43
- expect(context.segmentId).toBe("M1L0R0");
44
- expect(context.segmentType).toBe("loader");
45
- expect(context.loaderName).toBe("ProductLoader");
46
- expect(context.duration).toBe(150.5);
47
- expect(context.isPartial).toBe(true);
48
- expect(context.handledByBoundary).toBe(true);
49
- expect(context.stack).toBeDefined();
50
- expect(context.metadata).toEqual({ custom: "data" });
51
- });
52
- it("should support action-specific properties", () => {
53
- const context = {
54
- error: new Error("Action failed"),
55
- phase: "action",
56
- request: new Request("https://example.com/api", { method: "POST" }),
57
- url: new URL("https://example.com/api"),
58
- pathname: "/api",
59
- method: "POST",
60
- actionId: "src/actions.ts#addToCart",
61
- };
62
- expect(context.phase).toBe("action");
63
- expect(context.actionId).toBe("src/actions.ts#addToCart");
64
- expect(context.method).toBe("POST");
65
- });
66
- it("should support middleware-specific properties", () => {
67
- const context = {
68
- error: new Error("Auth failed"),
69
- phase: "middleware",
70
- request: new Request("https://example.com/admin"),
71
- url: new URL("https://example.com/admin"),
72
- pathname: "/admin",
73
- method: "GET",
74
- middlewareId: "auth",
75
- segmentType: "middleware",
76
- };
77
- expect(context.phase).toBe("middleware");
78
- expect(context.middlewareId).toBe("auth");
79
- expect(context.segmentType).toBe("middleware");
80
- });
81
- it("should support typed env", () => {
82
- const context = {
83
- error: new Error("DB error"),
84
- phase: "loader",
85
- request: new Request("https://example.com"),
86
- url: new URL("https://example.com"),
87
- pathname: "/",
88
- method: "GET",
89
- env: {
90
- DB: { query: () => { } },
91
- USER_ID: "user-123",
92
- },
93
- };
94
- expect(context.env?.DB).toBeDefined();
95
- expect(context.env?.USER_ID).toBe("user-123");
96
- });
97
- });
98
- describe("ErrorPhase", () => {
99
- it("should include all valid phases", () => {
100
- const phases = [
101
- "routing",
102
- "manifest",
103
- "middleware",
104
- "loader",
105
- "handler",
106
- "rendering",
107
- "action",
108
- "revalidation",
109
- "unknown",
110
- ];
111
- expect(phases).toHaveLength(9);
112
- phases.forEach((phase) => {
113
- expect(typeof phase).toBe("string");
114
- });
115
- });
116
- });
117
- describe("OnErrorCallback", () => {
118
- it("should accept sync callback", () => {
119
- const errors = [];
120
- const callback = (context) => {
121
- errors.push(context);
122
- };
123
- const context = {
124
- error: new Error("Test"),
125
- phase: "routing",
126
- request: new Request("https://example.com"),
127
- url: new URL("https://example.com"),
128
- pathname: "/",
129
- method: "GET",
130
- };
131
- callback(context);
132
- expect(errors).toHaveLength(1);
133
- });
134
- it("should accept async callback", async () => {
135
- const errors = [];
136
- const callback = async (context) => {
137
- await Promise.resolve();
138
- errors.push(context);
139
- };
140
- const context = {
141
- error: new Error("Test"),
142
- phase: "action",
143
- request: new Request("https://example.com"),
144
- url: new URL("https://example.com"),
145
- pathname: "/",
146
- method: "POST",
147
- };
148
- await callback(context);
149
- expect(errors).toHaveLength(1);
150
- });
151
- it("should work with typed env", () => {
152
- const callback = (context) => {
153
- // Type-safe access to env
154
- const secret = context.env?.secret;
155
- expect(typeof secret).toBe("string");
156
- };
157
- callback({
158
- error: new Error("Test"),
159
- phase: "routing",
160
- request: new Request("https://example.com"),
161
- url: new URL("https://example.com"),
162
- pathname: "/",
163
- method: "GET",
164
- env: { secret: "test-secret" },
165
- });
166
- });
167
- });
168
- });
169
- describe("OnError Callback Integration", () => {
170
- it("should capture error details from context", () => {
171
- const capturedErrors = [];
172
- const onError = (context) => {
173
- capturedErrors.push({
174
- message: context.error.message,
175
- phase: context.phase,
176
- route: context.routeKey,
177
- duration: context.duration,
178
- });
179
- };
180
- // Simulate errors from different phases
181
- onError({
182
- error: new Error("Route not found"),
183
- phase: "routing",
184
- request: new Request("https://example.com/unknown"),
185
- url: new URL("https://example.com/unknown"),
186
- pathname: "/unknown",
187
- method: "GET",
188
- });
189
- onError({
190
- error: new Error("Loader failed"),
191
- phase: "loader",
192
- request: new Request("https://example.com/products"),
193
- url: new URL("https://example.com/products"),
194
- pathname: "/products",
195
- method: "GET",
196
- routeKey: "products.list",
197
- loaderName: "ProductsLoader",
198
- duration: 100,
199
- });
200
- onError({
201
- error: new Error("Action failed"),
202
- phase: "action",
203
- request: new Request("https://example.com/cart", { method: "POST" }),
204
- url: new URL("https://example.com/cart"),
205
- pathname: "/cart",
206
- method: "POST",
207
- actionId: "addToCart",
208
- duration: 50,
209
- });
210
- expect(capturedErrors).toHaveLength(3);
211
- expect(capturedErrors[0]).toEqual({
212
- message: "Route not found",
213
- phase: "routing",
214
- route: undefined,
215
- duration: undefined,
216
- });
217
- expect(capturedErrors[1]).toEqual({
218
- message: "Loader failed",
219
- phase: "loader",
220
- route: "products.list",
221
- duration: 100,
222
- });
223
- expect(capturedErrors[2]).toEqual({
224
- message: "Action failed",
225
- phase: "action",
226
- route: undefined,
227
- duration: 50,
228
- });
229
- });
230
- it("should handle errors thrown in callback gracefully", () => {
231
- const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
232
- const badCallback = () => {
233
- throw new Error("Callback error");
234
- };
235
- // The callback throws, but it shouldn't propagate
236
- // In real implementation, this is caught by invokeOnError
237
- expect(() => {
238
- try {
239
- badCallback({
240
- error: new Error("Original error"),
241
- phase: "routing",
242
- request: new Request("https://example.com"),
243
- url: new URL("https://example.com"),
244
- pathname: "/",
245
- method: "GET",
246
- });
247
- }
248
- catch (e) {
249
- // In real code, invokeOnError catches this
250
- console.error("[Router.onError] Callback error:", e);
251
- }
252
- }).not.toThrow();
253
- consoleErrorSpy.mockRestore();
254
- });
255
- it("should handle async callback rejection gracefully", async () => {
256
- const consoleErrorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
257
- const badAsyncCallback = async () => {
258
- await Promise.reject(new Error("Async callback error"));
259
- };
260
- const context = {
261
- error: new Error("Original error"),
262
- phase: "action",
263
- request: new Request("https://example.com"),
264
- url: new URL("https://example.com"),
265
- pathname: "/",
266
- method: "POST",
267
- };
268
- // In real implementation, the promise rejection is caught
269
- const result = badAsyncCallback(context);
270
- if (result instanceof Promise) {
271
- await result.catch((e) => {
272
- console.error("[Router.onError] Callback error:", e);
273
- });
274
- }
275
- consoleErrorSpy.mockRestore();
276
- });
277
- });
278
- describe("wrapLoaderWithErrorHandling", () => {
279
- const mockEntry = { id: "test-entry" };
280
- const mockPathname = "/test";
281
- const createMockErrorInfo = (error, segmentId, segmentType) => ({
282
- message: error instanceof Error ? error.message : String(error),
283
- name: error instanceof Error ? error.name : "Error",
284
- segmentId,
285
- segmentType,
286
- });
287
- describe("successful resolution", () => {
288
- it("should return ok: true with data on success", async () => {
289
- const promise = Promise.resolve({ name: "Test Product" });
290
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.ProductLoader", mockPathname, () => null, createMockErrorInfo);
291
- expect(result).toEqual({
292
- __loaderResult: true,
293
- ok: true,
294
- data: { name: "Test Product" },
295
- });
296
- });
297
- it("should not invoke onError on success", async () => {
298
- const onError = vi.fn();
299
- const promise = Promise.resolve("success");
300
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.TestLoader", mockPathname, () => null, createMockErrorInfo, onError);
301
- expect(onError).not.toHaveBeenCalled();
302
- });
303
- });
304
- describe("error handling without boundary", () => {
305
- it("should return ok: false with error info when no boundary", async () => {
306
- const promise = Promise.reject(new Error("Loader failed"));
307
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.FailingLoader", mockPathname, () => null, // No error boundary
308
- createMockErrorInfo);
309
- expect(result).toEqual({
310
- __loaderResult: true,
311
- ok: false,
312
- error: {
313
- message: "Loader failed",
314
- name: "Error",
315
- segmentId: "M1L0.FailingLoader",
316
- segmentType: "loader",
317
- },
318
- fallback: null,
319
- });
320
- });
321
- it("should invoke onError with handledByBoundary: false", async () => {
322
- const onError = vi.fn();
323
- const testError = new Error("Test error");
324
- const promise = Promise.reject(testError);
325
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.TestLoader", mockPathname, () => null, // No boundary
326
- createMockErrorInfo, onError);
327
- expect(onError).toHaveBeenCalledWith(testError, {
328
- segmentId: "M1L0.TestLoader",
329
- loaderName: "TestLoader",
330
- handledByBoundary: false,
331
- });
332
- });
333
- });
334
- describe("error handling with boundary", () => {
335
- it("should return fallback when error boundary exists", async () => {
336
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
337
- const promise = Promise.reject(new Error("Handled error"));
338
- const fallbackElement = "Error Fallback UI";
339
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.HandledLoader", mockPathname, () => fallbackElement, // Has error boundary
340
- createMockErrorInfo);
341
- expect(result).toEqual({
342
- __loaderResult: true,
343
- ok: false,
344
- error: {
345
- message: "Handled error",
346
- name: "Error",
347
- segmentId: "M1L0.HandledLoader",
348
- segmentType: "loader",
349
- },
350
- fallback: fallbackElement,
351
- });
352
- consoleSpy.mockRestore();
353
- });
354
- it("should invoke onError with handledByBoundary: true", async () => {
355
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
356
- const onError = vi.fn();
357
- const testError = new Error("Boundary handled");
358
- const promise = Promise.reject(testError);
359
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.BoundaryLoader", mockPathname, () => "Fallback", // Has boundary
360
- createMockErrorInfo, onError);
361
- expect(onError).toHaveBeenCalledWith(testError, {
362
- segmentId: "M1L0.BoundaryLoader",
363
- loaderName: "BoundaryLoader",
364
- handledByBoundary: true,
365
- });
366
- consoleSpy.mockRestore();
367
- });
368
- it("should call ErrorBoundaryHandler function with error props", async () => {
369
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
370
- const promise = Promise.reject(new Error("Handler error"));
371
- const boundaryHandler = vi.fn().mockReturnValue("Rendered Fallback");
372
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.HandlerLoader", mockPathname, () => boundaryHandler, createMockErrorInfo);
373
- expect(boundaryHandler).toHaveBeenCalledWith({
374
- error: {
375
- message: "Handler error",
376
- name: "Error",
377
- segmentId: "M1L0.HandlerLoader",
378
- segmentType: "loader",
379
- },
380
- });
381
- if (!result.ok) {
382
- expect(result.fallback).toBe("Rendered Fallback");
383
- }
384
- consoleSpy.mockRestore();
385
- });
386
- });
387
- describe("loaderName extraction", () => {
388
- it("should extract loader name from segmentId with dot notation", async () => {
389
- const onError = vi.fn();
390
- const promise = Promise.reject(new Error("test"));
391
- await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0D0.ProductLoader", mockPathname, () => null, createMockErrorInfo, onError);
392
- expect(onError).toHaveBeenCalledWith(expect.any(Error), expect.objectContaining({ loaderName: "ProductLoader" }));
393
- });
394
- it("should handle segmentId without dots", async () => {
395
- const onError = vi.fn();
396
- const promise = Promise.reject(new Error("test"));
397
- await wrapLoaderWithErrorHandling(promise, mockEntry, "SimpleLoader", mockPathname, () => null, createMockErrorInfo, onError);
398
- expect(onError).toHaveBeenCalledWith(expect.any(Error), expect.objectContaining({ loaderName: "SimpleLoader" }));
399
- });
400
- it("should return 'unknown' for empty segmentId", async () => {
401
- const onError = vi.fn();
402
- const promise = Promise.reject(new Error("test"));
403
- await wrapLoaderWithErrorHandling(promise, mockEntry, "", mockPathname, () => null, createMockErrorInfo, onError);
404
- expect(onError).toHaveBeenCalledWith(expect.any(Error), expect.objectContaining({ loaderName: "unknown" }));
405
- });
406
- });
407
- describe("non-Error objects", () => {
408
- it("should handle string errors", async () => {
409
- const promise = Promise.reject("String error message");
410
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.StringErrorLoader", mockPathname, () => null, createMockErrorInfo);
411
- expect(result.ok).toBe(false);
412
- if (!result.ok) {
413
- expect(result.error?.message).toBe("String error message");
414
- }
415
- });
416
- it("should handle object errors", async () => {
417
- const promise = Promise.reject({ code: "ERR_001", detail: "Failed" });
418
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.ObjectErrorLoader", mockPathname, () => null, (error) => ({
419
- message: String(error),
420
- name: "Error",
421
- segmentId: "test",
422
- segmentType: "loader",
423
- }));
424
- expect(result.ok).toBe(false);
425
- });
426
- it("should handle null/undefined errors", async () => {
427
- const promise = Promise.reject(null);
428
- const result = await wrapLoaderWithErrorHandling(promise, mockEntry, "M1L0.NullErrorLoader", mockPathname, () => null, (error) => ({
429
- message: String(error),
430
- name: "Error",
431
- segmentId: "test",
432
- segmentType: "loader",
433
- }));
434
- expect(result.ok).toBe(false);
435
- if (!result.ok) {
436
- expect(result.error?.message).toBe("null");
437
- }
438
- });
439
- });
440
- });
441
- describe("Error Context Edge Cases", () => {
442
- it("should handle errors with circular references in metadata", () => {
443
- const circular = { name: "test" };
444
- circular.self = circular;
445
- const context = {
446
- error: new Error("Circular test"),
447
- phase: "loader",
448
- request: new Request("https://example.com"),
449
- url: new URL("https://example.com"),
450
- pathname: "/",
451
- method: "GET",
452
- metadata: { circular }, // This shouldn't crash serialization
453
- };
454
- expect(context.metadata?.circular).toBe(circular);
455
- });
456
- it("should handle errors without stack traces", () => {
457
- const errorWithoutStack = new Error("No stack");
458
- delete errorWithoutStack.stack;
459
- const context = {
460
- error: errorWithoutStack,
461
- phase: "routing",
462
- request: new Request("https://example.com"),
463
- url: new URL("https://example.com"),
464
- pathname: "/",
465
- method: "GET",
466
- stack: errorWithoutStack.stack,
467
- };
468
- expect(context.stack).toBeUndefined();
469
- });
470
- it("should handle very long error messages", () => {
471
- const longMessage = "x".repeat(10000);
472
- const context = {
473
- error: new Error(longMessage),
474
- phase: "handler",
475
- request: new Request("https://example.com"),
476
- url: new URL("https://example.com"),
477
- pathname: "/",
478
- method: "GET",
479
- };
480
- expect(context.error.message.length).toBe(10000);
481
- });
482
- it("should preserve error cause chain", () => {
483
- const rootCause = new Error("Root cause");
484
- const wrappedError = new Error("Wrapped error", { cause: rootCause });
485
- const context = {
486
- error: wrappedError,
487
- phase: "loader",
488
- request: new Request("https://example.com"),
489
- url: new URL("https://example.com"),
490
- pathname: "/",
491
- method: "GET",
492
- };
493
- expect(context.error.cause).toBe(rootCause);
494
- });
495
- });
496
- describe("invokeOnError Shared Utility", () => {
497
- const createMockContext = () => ({
498
- request: new Request("https://example.com/test"),
499
- url: new URL("https://example.com/test"),
500
- });
501
- describe("callback invocation", () => {
502
- it("should not call callback if undefined", () => {
503
- const context = createMockContext();
504
- expect(() => {
505
- invokeOnError(undefined, new Error("test"), "routing", context);
506
- }).not.toThrow();
507
- });
508
- it("should invoke callback with full context", () => {
509
- const callback = vi.fn();
510
- const error = new Error("Test error");
511
- const context = {
512
- request: new Request("https://example.com/products/123"),
513
- url: new URL("https://example.com/products/123"),
514
- routeKey: "products.detail",
515
- params: { id: "123" },
516
- segmentId: "M1R0",
517
- segmentType: "route",
518
- env: { DB: "test" },
519
- isPartial: true,
520
- handledByBoundary: false,
521
- };
522
- invokeOnError(callback, error, "handler", context);
523
- expect(callback).toHaveBeenCalledTimes(1);
524
- const receivedContext = callback.mock.calls[0][0];
525
- expect(receivedContext.error).toBe(error);
526
- expect(receivedContext.phase).toBe("handler");
527
- expect(receivedContext.pathname).toBe("/products/123");
528
- expect(receivedContext.method).toBe("GET");
529
- expect(receivedContext.routeKey).toBe("products.detail");
530
- expect(receivedContext.params).toEqual({ id: "123" });
531
- expect(receivedContext.segmentId).toBe("M1R0");
532
- expect(receivedContext.segmentType).toBe("route");
533
- expect(receivedContext.env).toEqual({ DB: "test" });
534
- expect(receivedContext.isPartial).toBe(true);
535
- expect(receivedContext.handledByBoundary).toBe(false);
536
- expect(receivedContext.stack).toBeDefined();
537
- });
538
- it("should convert non-Error objects to Error", () => {
539
- const callback = vi.fn();
540
- const context = createMockContext();
541
- invokeOnError(callback, "string error", "routing", context);
542
- const receivedContext = callback.mock.calls[0][0];
543
- expect(receivedContext.error).toBeInstanceOf(Error);
544
- expect(receivedContext.error.message).toBe("string error");
545
- });
546
- it("should calculate duration from requestStartTime", () => {
547
- const callback = vi.fn();
548
- const context = {
549
- ...createMockContext(),
550
- requestStartTime: performance.now() - 100, // 100ms ago
551
- };
552
- invokeOnError(callback, new Error("test"), "loader", context);
553
- const receivedContext = callback.mock.calls[0][0];
554
- expect(receivedContext.duration).toBeGreaterThanOrEqual(100);
555
- expect(receivedContext.duration).toBeLessThan(200);
556
- });
557
- it("should not set duration if requestStartTime is not provided", () => {
558
- const callback = vi.fn();
559
- const context = createMockContext();
560
- invokeOnError(callback, new Error("test"), "loader", context);
561
- const receivedContext = callback.mock.calls[0][0];
562
- expect(receivedContext.duration).toBeUndefined();
563
- });
564
- });
565
- describe("error handling in callback", () => {
566
- it("should catch sync callback errors and log them", () => {
567
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
568
- const callback = () => {
569
- throw new Error("Callback sync error");
570
- };
571
- const context = createMockContext();
572
- expect(() => {
573
- invokeOnError(callback, new Error("original"), "routing", context);
574
- }).not.toThrow();
575
- expect(consoleSpy).toHaveBeenCalledWith("[Router.onError] Callback error:", expect.any(Error));
576
- consoleSpy.mockRestore();
577
- });
578
- it("should catch async callback rejections and log them", async () => {
579
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
580
- const callback = async () => {
581
- throw new Error("Callback async error");
582
- };
583
- const context = createMockContext();
584
- invokeOnError(callback, new Error("original"), "routing", context);
585
- // Wait for the async rejection to be caught
586
- await new Promise((resolve) => setTimeout(resolve, 10));
587
- expect(consoleSpy).toHaveBeenCalledWith("[Router.onError] Callback error:", expect.any(Error));
588
- consoleSpy.mockRestore();
589
- });
590
- it("should use custom log prefix", () => {
591
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
592
- const callback = () => {
593
- throw new Error("Callback error");
594
- };
595
- const context = createMockContext();
596
- invokeOnError(callback, new Error("original"), "rendering", context, "RSC");
597
- expect(consoleSpy).toHaveBeenCalledWith("[RSC.onError] Callback error:", expect.any(Error));
598
- consoleSpy.mockRestore();
599
- });
600
- });
601
- describe("all phases", () => {
602
- const phases = [
603
- "routing",
604
- "manifest",
605
- "middleware",
606
- "loader",
607
- "handler",
608
- "rendering",
609
- "action",
610
- "revalidation",
611
- "unknown",
612
- ];
613
- phases.forEach((phase) => {
614
- it(`should accept phase: ${phase}`, () => {
615
- const callback = vi.fn();
616
- const context = createMockContext();
617
- invokeOnError(callback, new Error("test"), phase, context);
618
- expect(callback).toHaveBeenCalledWith(expect.objectContaining({ phase }));
619
- });
620
- });
621
- });
622
- describe("optional context fields", () => {
623
- it("should pass through all optional fields", () => {
624
- const callback = vi.fn();
625
- const context = {
626
- request: new Request("https://example.com/api", { method: "POST" }),
627
- url: new URL("https://example.com/api"),
628
- routeKey: "api.action",
629
- params: { id: "1" },
630
- segmentId: "M1A0",
631
- segmentType: "middleware",
632
- loaderName: "TestLoader",
633
- middlewareId: "auth",
634
- actionId: "createItem",
635
- env: { secret: "123" },
636
- isPartial: false,
637
- handledByBoundary: true,
638
- metadata: { custom: "data" },
639
- requestStartTime: performance.now() - 50,
640
- };
641
- invokeOnError(callback, new Error("test"), "action", context);
642
- const received = callback.mock.calls[0][0];
643
- expect(received.method).toBe("POST");
644
- expect(received.loaderName).toBe("TestLoader");
645
- expect(received.middlewareId).toBe("auth");
646
- expect(received.actionId).toBe("createItem");
647
- expect(received.metadata).toEqual({ custom: "data" });
648
- });
649
- it("should handle minimal context", () => {
650
- const callback = vi.fn();
651
- const context = {
652
- request: new Request("https://example.com"),
653
- url: new URL("https://example.com"),
654
- };
655
- invokeOnError(callback, new Error("test"), "unknown", context);
656
- const received = callback.mock.calls[0][0];
657
- expect(received.routeKey).toBeUndefined();
658
- expect(received.params).toBeUndefined();
659
- expect(received.segmentId).toBeUndefined();
660
- expect(received.duration).toBeUndefined();
661
- });
662
- });
663
- });
664
- describe("LoaderErrorCallback Type", () => {
665
- it("should accept valid callback signature", () => {
666
- const callback = (error, context) => {
667
- expect(typeof context.segmentId).toBe("string");
668
- expect(typeof context.loaderName).toBe("string");
669
- expect(typeof context.handledByBoundary).toBe("boolean");
670
- };
671
- callback(new Error("test"), {
672
- segmentId: "M1L0.TestLoader",
673
- loaderName: "TestLoader",
674
- handledByBoundary: false,
675
- });
676
- });
677
- });
678
- //# sourceMappingURL=on-error.test.js.map