@rangojs/router 0.0.0-experimental.101 → 0.0.0-experimental.102

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