@rangojs/router 0.4.2 → 0.5.0

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