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

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