@depup/tanstack__react-router 1.166.4-depup.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 (363) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/dist/cjs/Asset.cjs +177 -0
  4. package/dist/cjs/Asset.cjs.map +1 -0
  5. package/dist/cjs/Asset.d.cts +5 -0
  6. package/dist/cjs/CatchBoundary.cjs +114 -0
  7. package/dist/cjs/CatchBoundary.cjs.map +1 -0
  8. package/dist/cjs/CatchBoundary.d.cts +12 -0
  9. package/dist/cjs/ClientOnly.cjs +21 -0
  10. package/dist/cjs/ClientOnly.cjs.map +1 -0
  11. package/dist/cjs/ClientOnly.d.cts +49 -0
  12. package/dist/cjs/HeadContent.cjs +15 -0
  13. package/dist/cjs/HeadContent.cjs.map +1 -0
  14. package/dist/cjs/HeadContent.d.cts +6 -0
  15. package/dist/cjs/HeadContent.dev.cjs +41 -0
  16. package/dist/cjs/HeadContent.dev.cjs.map +1 -0
  17. package/dist/cjs/HeadContent.dev.d.cts +10 -0
  18. package/dist/cjs/Match.cjs +255 -0
  19. package/dist/cjs/Match.cjs.map +1 -0
  20. package/dist/cjs/Match.d.cts +14 -0
  21. package/dist/cjs/Matches.cjs +138 -0
  22. package/dist/cjs/Matches.cjs.map +1 -0
  23. package/dist/cjs/Matches.d.cts +68 -0
  24. package/dist/cjs/RouterProvider.cjs +32 -0
  25. package/dist/cjs/RouterProvider.cjs.map +1 -0
  26. package/dist/cjs/RouterProvider.d.cts +23 -0
  27. package/dist/cjs/SafeFragment.cjs +8 -0
  28. package/dist/cjs/SafeFragment.cjs.map +1 -0
  29. package/dist/cjs/SafeFragment.d.cts +1 -0
  30. package/dist/cjs/ScriptOnce.cjs +22 -0
  31. package/dist/cjs/ScriptOnce.cjs.map +1 -0
  32. package/dist/cjs/ScriptOnce.d.cts +6 -0
  33. package/dist/cjs/Scripts.cjs +56 -0
  34. package/dist/cjs/Scripts.cjs.map +1 -0
  35. package/dist/cjs/Scripts.d.cts +5 -0
  36. package/dist/cjs/ScrollRestoration.cjs +38 -0
  37. package/dist/cjs/ScrollRestoration.cjs.map +1 -0
  38. package/dist/cjs/ScrollRestoration.d.cts +14 -0
  39. package/dist/cjs/Transitioner.cjs +119 -0
  40. package/dist/cjs/Transitioner.cjs.map +1 -0
  41. package/dist/cjs/Transitioner.d.cts +1 -0
  42. package/dist/cjs/awaited.cjs +51 -0
  43. package/dist/cjs/awaited.cjs.map +1 -0
  44. package/dist/cjs/awaited.d.cts +14 -0
  45. package/dist/cjs/fileRoute.cjs +109 -0
  46. package/dist/cjs/fileRoute.cjs.map +1 -0
  47. package/dist/cjs/fileRoute.d.cts +87 -0
  48. package/dist/cjs/headContentUtils.cjs +185 -0
  49. package/dist/cjs/headContentUtils.cjs.map +1 -0
  50. package/dist/cjs/headContentUtils.d.cts +7 -0
  51. package/dist/cjs/history.d.cts +8 -0
  52. package/dist/cjs/index.cjs +241 -0
  53. package/dist/cjs/index.cjs.map +1 -0
  54. package/dist/cjs/index.d.cts +51 -0
  55. package/dist/cjs/index.dev.cjs +241 -0
  56. package/dist/cjs/index.dev.cjs.map +1 -0
  57. package/dist/cjs/index.dev.d.cts +2 -0
  58. package/dist/cjs/lazyRouteComponent.cjs +70 -0
  59. package/dist/cjs/lazyRouteComponent.cjs.map +1 -0
  60. package/dist/cjs/lazyRouteComponent.d.cts +11 -0
  61. package/dist/cjs/link.cjs +573 -0
  62. package/dist/cjs/link.cjs.map +1 -0
  63. package/dist/cjs/link.d.cts +98 -0
  64. package/dist/cjs/matchContext.cjs +27 -0
  65. package/dist/cjs/matchContext.cjs.map +1 -0
  66. package/dist/cjs/matchContext.d.cts +3 -0
  67. package/dist/cjs/not-found.cjs +38 -0
  68. package/dist/cjs/not-found.cjs.map +1 -0
  69. package/dist/cjs/not-found.d.cts +9 -0
  70. package/dist/cjs/renderRouteNotFound.cjs +22 -0
  71. package/dist/cjs/renderRouteNotFound.cjs.map +1 -0
  72. package/dist/cjs/renderRouteNotFound.d.cts +10 -0
  73. package/dist/cjs/route.cjs +198 -0
  74. package/dist/cjs/route.cjs.map +1 -0
  75. package/dist/cjs/route.d.cts +142 -0
  76. package/dist/cjs/router.cjs +22 -0
  77. package/dist/cjs/router.cjs.map +1 -0
  78. package/dist/cjs/router.d.cts +83 -0
  79. package/dist/cjs/routerContext.cjs +23 -0
  80. package/dist/cjs/routerContext.cjs.map +1 -0
  81. package/dist/cjs/routerContext.d.cts +3 -0
  82. package/dist/cjs/scroll-restoration.cjs +39 -0
  83. package/dist/cjs/scroll-restoration.cjs.map +1 -0
  84. package/dist/cjs/scroll-restoration.d.cts +1 -0
  85. package/dist/cjs/ssr/RouterClient.cjs +25 -0
  86. package/dist/cjs/ssr/RouterClient.cjs.map +1 -0
  87. package/dist/cjs/ssr/RouterClient.d.cts +4 -0
  88. package/dist/cjs/ssr/RouterServer.cjs +9 -0
  89. package/dist/cjs/ssr/RouterServer.cjs.map +1 -0
  90. package/dist/cjs/ssr/RouterServer.d.cts +4 -0
  91. package/dist/cjs/ssr/client.cjs +12 -0
  92. package/dist/cjs/ssr/client.cjs.map +1 -0
  93. package/dist/cjs/ssr/client.d.cts +2 -0
  94. package/dist/cjs/ssr/defaultRenderHandler.cjs +15 -0
  95. package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -0
  96. package/dist/cjs/ssr/defaultRenderHandler.d.cts +1 -0
  97. package/dist/cjs/ssr/defaultStreamHandler.cjs +16 -0
  98. package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -0
  99. package/dist/cjs/ssr/defaultStreamHandler.d.cts +1 -0
  100. package/dist/cjs/ssr/renderRouterToStream.cjs +73 -0
  101. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -0
  102. package/dist/cjs/ssr/renderRouterToStream.d.cts +8 -0
  103. package/dist/cjs/ssr/renderRouterToString.cjs +31 -0
  104. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -0
  105. package/dist/cjs/ssr/renderRouterToString.d.cts +7 -0
  106. package/dist/cjs/ssr/serializer.d.cts +6 -0
  107. package/dist/cjs/ssr/server.cjs +20 -0
  108. package/dist/cjs/ssr/server.cjs.map +1 -0
  109. package/dist/cjs/ssr/server.d.cts +6 -0
  110. package/dist/cjs/structuralSharing.d.cts +8 -0
  111. package/dist/cjs/typePrimitives.d.cts +16 -0
  112. package/dist/cjs/useBlocker.cjs +171 -0
  113. package/dist/cjs/useBlocker.cjs.map +1 -0
  114. package/dist/cjs/useBlocker.d.cts +66 -0
  115. package/dist/cjs/useCanGoBack.cjs +8 -0
  116. package/dist/cjs/useCanGoBack.cjs.map +1 -0
  117. package/dist/cjs/useCanGoBack.d.cts +1 -0
  118. package/dist/cjs/useLoaderData.cjs +15 -0
  119. package/dist/cjs/useLoaderData.cjs.map +1 -0
  120. package/dist/cjs/useLoaderData.d.cts +19 -0
  121. package/dist/cjs/useLoaderDeps.cjs +14 -0
  122. package/dist/cjs/useLoaderDeps.cjs.map +1 -0
  123. package/dist/cjs/useLoaderDeps.d.cts +19 -0
  124. package/dist/cjs/useLocation.cjs +10 -0
  125. package/dist/cjs/useLocation.cjs.map +1 -0
  126. package/dist/cjs/useLocation.d.cts +18 -0
  127. package/dist/cjs/useMatch.cjs +47 -0
  128. package/dist/cjs/useMatch.cjs.map +1 -0
  129. package/dist/cjs/useMatch.d.cts +14 -0
  130. package/dist/cjs/useNavigate.cjs +49 -0
  131. package/dist/cjs/useNavigate.cjs.map +1 -0
  132. package/dist/cjs/useNavigate.d.cts +28 -0
  133. package/dist/cjs/useParams.cjs +17 -0
  134. package/dist/cjs/useParams.cjs.map +1 -0
  135. package/dist/cjs/useParams.d.cts +21 -0
  136. package/dist/cjs/useRouteContext.cjs +11 -0
  137. package/dist/cjs/useRouteContext.cjs.map +1 -0
  138. package/dist/cjs/useRouteContext.d.cts +3 -0
  139. package/dist/cjs/useRouter.cjs +32 -0
  140. package/dist/cjs/useRouter.cjs.map +1 -0
  141. package/dist/cjs/useRouter.d.cts +14 -0
  142. package/dist/cjs/useRouterState.cjs +38 -0
  143. package/dist/cjs/useRouterState.cjs.map +1 -0
  144. package/dist/cjs/useRouterState.d.cts +20 -0
  145. package/dist/cjs/useSearch.cjs +16 -0
  146. package/dist/cjs/useSearch.cjs.map +1 -0
  147. package/dist/cjs/useSearch.d.cts +21 -0
  148. package/dist/cjs/utils.cjs +62 -0
  149. package/dist/cjs/utils.cjs.map +1 -0
  150. package/dist/cjs/utils.d.cts +54 -0
  151. package/dist/esm/Asset.d.ts +5 -0
  152. package/dist/esm/Asset.js +160 -0
  153. package/dist/esm/Asset.js.map +1 -0
  154. package/dist/esm/CatchBoundary.d.ts +12 -0
  155. package/dist/esm/CatchBoundary.js +97 -0
  156. package/dist/esm/CatchBoundary.js.map +1 -0
  157. package/dist/esm/ClientOnly.d.ts +49 -0
  158. package/dist/esm/ClientOnly.js +21 -0
  159. package/dist/esm/ClientOnly.js.map +1 -0
  160. package/dist/esm/HeadContent.d.ts +6 -0
  161. package/dist/esm/HeadContent.dev.d.ts +10 -0
  162. package/dist/esm/HeadContent.dev.js +25 -0
  163. package/dist/esm/HeadContent.dev.js.map +1 -0
  164. package/dist/esm/HeadContent.js +15 -0
  165. package/dist/esm/HeadContent.js.map +1 -0
  166. package/dist/esm/Match.d.ts +14 -0
  167. package/dist/esm/Match.js +238 -0
  168. package/dist/esm/Match.js.map +1 -0
  169. package/dist/esm/Matches.d.ts +68 -0
  170. package/dist/esm/Matches.js +121 -0
  171. package/dist/esm/Matches.js.map +1 -0
  172. package/dist/esm/RouterProvider.d.ts +23 -0
  173. package/dist/esm/RouterProvider.js +32 -0
  174. package/dist/esm/RouterProvider.js.map +1 -0
  175. package/dist/esm/SafeFragment.d.ts +1 -0
  176. package/dist/esm/SafeFragment.js +8 -0
  177. package/dist/esm/SafeFragment.js.map +1 -0
  178. package/dist/esm/ScriptOnce.d.ts +6 -0
  179. package/dist/esm/ScriptOnce.js +22 -0
  180. package/dist/esm/ScriptOnce.js.map +1 -0
  181. package/dist/esm/Scripts.d.ts +5 -0
  182. package/dist/esm/Scripts.js +56 -0
  183. package/dist/esm/Scripts.js.map +1 -0
  184. package/dist/esm/ScrollRestoration.d.ts +14 -0
  185. package/dist/esm/ScrollRestoration.js +38 -0
  186. package/dist/esm/ScrollRestoration.js.map +1 -0
  187. package/dist/esm/Transitioner.d.ts +1 -0
  188. package/dist/esm/Transitioner.js +102 -0
  189. package/dist/esm/Transitioner.js.map +1 -0
  190. package/dist/esm/awaited.d.ts +14 -0
  191. package/dist/esm/awaited.js +34 -0
  192. package/dist/esm/awaited.js.map +1 -0
  193. package/dist/esm/fileRoute.d.ts +87 -0
  194. package/dist/esm/fileRoute.js +109 -0
  195. package/dist/esm/fileRoute.js.map +1 -0
  196. package/dist/esm/headContentUtils.d.ts +7 -0
  197. package/dist/esm/headContentUtils.js +168 -0
  198. package/dist/esm/headContentUtils.js.map +1 -0
  199. package/dist/esm/history.d.ts +8 -0
  200. package/dist/esm/index.d.ts +51 -0
  201. package/dist/esm/index.dev.d.ts +2 -0
  202. package/dist/esm/index.dev.js +133 -0
  203. package/dist/esm/index.dev.js.map +1 -0
  204. package/dist/esm/index.js +133 -0
  205. package/dist/esm/index.js.map +1 -0
  206. package/dist/esm/lazyRouteComponent.d.ts +11 -0
  207. package/dist/esm/lazyRouteComponent.js +53 -0
  208. package/dist/esm/lazyRouteComponent.js.map +1 -0
  209. package/dist/esm/link.d.ts +98 -0
  210. package/dist/esm/link.js +556 -0
  211. package/dist/esm/link.js.map +1 -0
  212. package/dist/esm/matchContext.d.ts +3 -0
  213. package/dist/esm/matchContext.js +10 -0
  214. package/dist/esm/matchContext.js.map +1 -0
  215. package/dist/esm/not-found.d.ts +9 -0
  216. package/dist/esm/not-found.js +38 -0
  217. package/dist/esm/not-found.js.map +1 -0
  218. package/dist/esm/renderRouteNotFound.d.ts +10 -0
  219. package/dist/esm/renderRouteNotFound.js +22 -0
  220. package/dist/esm/renderRouteNotFound.js.map +1 -0
  221. package/dist/esm/route.d.ts +142 -0
  222. package/dist/esm/route.js +198 -0
  223. package/dist/esm/route.js.map +1 -0
  224. package/dist/esm/router.d.ts +83 -0
  225. package/dist/esm/router.js +22 -0
  226. package/dist/esm/router.js.map +1 -0
  227. package/dist/esm/routerContext.d.ts +3 -0
  228. package/dist/esm/routerContext.js +6 -0
  229. package/dist/esm/routerContext.js.map +1 -0
  230. package/dist/esm/scroll-restoration.d.ts +1 -0
  231. package/dist/esm/scroll-restoration.js +39 -0
  232. package/dist/esm/scroll-restoration.js.map +1 -0
  233. package/dist/esm/ssr/RouterClient.d.ts +4 -0
  234. package/dist/esm/ssr/RouterClient.js +25 -0
  235. package/dist/esm/ssr/RouterClient.js.map +1 -0
  236. package/dist/esm/ssr/RouterServer.d.ts +4 -0
  237. package/dist/esm/ssr/RouterServer.js +9 -0
  238. package/dist/esm/ssr/RouterServer.js.map +1 -0
  239. package/dist/esm/ssr/client.d.ts +2 -0
  240. package/dist/esm/ssr/client.js +6 -0
  241. package/dist/esm/ssr/client.js.map +1 -0
  242. package/dist/esm/ssr/defaultRenderHandler.d.ts +1 -0
  243. package/dist/esm/ssr/defaultRenderHandler.js +15 -0
  244. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -0
  245. package/dist/esm/ssr/defaultStreamHandler.d.ts +1 -0
  246. package/dist/esm/ssr/defaultStreamHandler.js +16 -0
  247. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -0
  248. package/dist/esm/ssr/renderRouterToStream.d.ts +8 -0
  249. package/dist/esm/ssr/renderRouterToStream.js +73 -0
  250. package/dist/esm/ssr/renderRouterToStream.js.map +1 -0
  251. package/dist/esm/ssr/renderRouterToString.d.ts +7 -0
  252. package/dist/esm/ssr/renderRouterToString.js +31 -0
  253. package/dist/esm/ssr/renderRouterToString.js.map +1 -0
  254. package/dist/esm/ssr/serializer.d.ts +6 -0
  255. package/dist/esm/ssr/server.d.ts +6 -0
  256. package/dist/esm/ssr/server.js +14 -0
  257. package/dist/esm/ssr/server.js.map +1 -0
  258. package/dist/esm/structuralSharing.d.ts +8 -0
  259. package/dist/esm/typePrimitives.d.ts +16 -0
  260. package/dist/esm/useBlocker.d.ts +66 -0
  261. package/dist/esm/useBlocker.js +154 -0
  262. package/dist/esm/useBlocker.js.map +1 -0
  263. package/dist/esm/useCanGoBack.d.ts +1 -0
  264. package/dist/esm/useCanGoBack.js +8 -0
  265. package/dist/esm/useCanGoBack.js.map +1 -0
  266. package/dist/esm/useLoaderData.d.ts +19 -0
  267. package/dist/esm/useLoaderData.js +15 -0
  268. package/dist/esm/useLoaderData.js.map +1 -0
  269. package/dist/esm/useLoaderDeps.d.ts +19 -0
  270. package/dist/esm/useLoaderDeps.js +14 -0
  271. package/dist/esm/useLoaderDeps.js.map +1 -0
  272. package/dist/esm/useLocation.d.ts +18 -0
  273. package/dist/esm/useLocation.js +10 -0
  274. package/dist/esm/useLocation.js.map +1 -0
  275. package/dist/esm/useMatch.d.ts +14 -0
  276. package/dist/esm/useMatch.js +30 -0
  277. package/dist/esm/useMatch.js.map +1 -0
  278. package/dist/esm/useNavigate.d.ts +28 -0
  279. package/dist/esm/useNavigate.js +32 -0
  280. package/dist/esm/useNavigate.js.map +1 -0
  281. package/dist/esm/useParams.d.ts +21 -0
  282. package/dist/esm/useParams.js +17 -0
  283. package/dist/esm/useParams.js.map +1 -0
  284. package/dist/esm/useRouteContext.d.ts +3 -0
  285. package/dist/esm/useRouteContext.js +11 -0
  286. package/dist/esm/useRouteContext.js.map +1 -0
  287. package/dist/esm/useRouter.d.ts +14 -0
  288. package/dist/esm/useRouter.js +15 -0
  289. package/dist/esm/useRouter.js.map +1 -0
  290. package/dist/esm/useRouterState.d.ts +20 -0
  291. package/dist/esm/useRouterState.js +38 -0
  292. package/dist/esm/useRouterState.js.map +1 -0
  293. package/dist/esm/useSearch.d.ts +21 -0
  294. package/dist/esm/useSearch.js +16 -0
  295. package/dist/esm/useSearch.js.map +1 -0
  296. package/dist/esm/utils.d.ts +54 -0
  297. package/dist/esm/utils.js +45 -0
  298. package/dist/esm/utils.js.map +1 -0
  299. package/dist/llms/index.d.ts +3 -0
  300. package/dist/llms/index.js +43 -0
  301. package/dist/llms/rules/api.d.ts +2 -0
  302. package/dist/llms/rules/api.js +4612 -0
  303. package/dist/llms/rules/guide.d.ts +2 -0
  304. package/dist/llms/rules/guide.js +10690 -0
  305. package/dist/llms/rules/installation.d.ts +2 -0
  306. package/dist/llms/rules/installation.js +1285 -0
  307. package/dist/llms/rules/routing.d.ts +2 -0
  308. package/dist/llms/rules/routing.js +1984 -0
  309. package/dist/llms/rules/setup-and-architecture.d.ts +2 -0
  310. package/dist/llms/rules/setup-and-architecture.js +920 -0
  311. package/package.json +142 -0
  312. package/src/Asset.tsx +219 -0
  313. package/src/CatchBoundary.tsx +120 -0
  314. package/src/ClientOnly.tsx +68 -0
  315. package/src/HeadContent.dev.tsx +46 -0
  316. package/src/HeadContent.tsx +22 -0
  317. package/src/Match.tsx +360 -0
  318. package/src/Matches.tsx +313 -0
  319. package/src/RouterProvider.tsx +92 -0
  320. package/src/SafeFragment.tsx +5 -0
  321. package/src/ScriptOnce.tsx +21 -0
  322. package/src/Scripts.tsx +80 -0
  323. package/src/ScrollRestoration.tsx +69 -0
  324. package/src/Transitioner.tsx +134 -0
  325. package/src/awaited.tsx +55 -0
  326. package/src/fileRoute.ts +313 -0
  327. package/src/headContentUtils.tsx +217 -0
  328. package/src/history.ts +9 -0
  329. package/src/index.dev.tsx +6 -0
  330. package/src/index.tsx +341 -0
  331. package/src/lazyRouteComponent.tsx +96 -0
  332. package/src/link.tsx +984 -0
  333. package/src/matchContext.tsx +8 -0
  334. package/src/not-found.tsx +43 -0
  335. package/src/renderRouteNotFound.tsx +35 -0
  336. package/src/route.tsx +740 -0
  337. package/src/router.ts +127 -0
  338. package/src/routerContext.tsx +4 -0
  339. package/src/scroll-restoration.tsx +45 -0
  340. package/src/ssr/RouterClient.tsx +22 -0
  341. package/src/ssr/RouterServer.tsx +9 -0
  342. package/src/ssr/client.ts +2 -0
  343. package/src/ssr/defaultRenderHandler.tsx +12 -0
  344. package/src/ssr/defaultStreamHandler.tsx +13 -0
  345. package/src/ssr/renderRouterToStream.tsx +90 -0
  346. package/src/ssr/renderRouterToString.tsx +36 -0
  347. package/src/ssr/serializer.ts +7 -0
  348. package/src/ssr/server.ts +6 -0
  349. package/src/structuralSharing.ts +47 -0
  350. package/src/typePrimitives.ts +84 -0
  351. package/src/useBlocker.tsx +320 -0
  352. package/src/useCanGoBack.ts +5 -0
  353. package/src/useLoaderData.tsx +91 -0
  354. package/src/useLoaderDeps.tsx +69 -0
  355. package/src/useLocation.tsx +52 -0
  356. package/src/useMatch.tsx +123 -0
  357. package/src/useNavigate.tsx +78 -0
  358. package/src/useParams.tsx +107 -0
  359. package/src/useRouteContext.ts +30 -0
  360. package/src/useRouter.tsx +25 -0
  361. package/src/useRouterState.tsx +86 -0
  362. package/src/useSearch.tsx +105 -0
  363. package/src/utils.ts +125 -0
package/src/route.tsx ADDED
@@ -0,0 +1,740 @@
1
+ import {
2
+ BaseRootRoute,
3
+ BaseRoute,
4
+ BaseRouteApi,
5
+ notFound,
6
+ } from '@tanstack/router-core'
7
+ import React from 'react'
8
+ import { useLoaderData } from './useLoaderData'
9
+ import { useLoaderDeps } from './useLoaderDeps'
10
+ import { useParams } from './useParams'
11
+ import { useSearch } from './useSearch'
12
+ import { useNavigate } from './useNavigate'
13
+ import { useMatch } from './useMatch'
14
+ import { useRouteContext } from './useRouteContext'
15
+ import { useRouter } from './useRouter'
16
+ import { Link } from './link'
17
+ import type {
18
+ AnyContext,
19
+ AnyRoute,
20
+ AnyRouter,
21
+ ConstrainLiteral,
22
+ ErrorComponentProps,
23
+ NotFoundError,
24
+ NotFoundRouteProps,
25
+ Register,
26
+ RegisteredRouter,
27
+ ResolveFullPath,
28
+ ResolveId,
29
+ ResolveParams,
30
+ RootRoute as RootRouteCore,
31
+ RootRouteId,
32
+ RootRouteOptions,
33
+ RouteConstraints,
34
+ Route as RouteCore,
35
+ RouteIds,
36
+ RouteMask,
37
+ RouteOptions,
38
+ RouteTypesById,
39
+ RouterCore,
40
+ ToMaskOptions,
41
+ UseNavigateResult,
42
+ } from '@tanstack/router-core'
43
+ import type { UseLoaderDataRoute } from './useLoaderData'
44
+ import type { UseMatchRoute } from './useMatch'
45
+ import type { UseLoaderDepsRoute } from './useLoaderDeps'
46
+ import type { UseParamsRoute } from './useParams'
47
+ import type { UseSearchRoute } from './useSearch'
48
+ import type { UseRouteContextRoute } from './useRouteContext'
49
+ import type { LinkComponentRoute } from './link'
50
+
51
+ declare module '@tanstack/router-core' {
52
+ export interface UpdatableRouteOptionsExtensions {
53
+ component?: RouteComponent
54
+ errorComponent?: false | null | undefined | ErrorRouteComponent
55
+ notFoundComponent?: NotFoundRouteComponent
56
+ pendingComponent?: RouteComponent
57
+ }
58
+
59
+ export interface RootRouteOptionsExtensions {
60
+ shellComponent?: ({
61
+ children,
62
+ }: {
63
+ children: React.ReactNode
64
+ }) => React.ReactNode
65
+ }
66
+
67
+ export interface RouteExtensions<
68
+ in out TId extends string,
69
+ in out TFullPath extends string,
70
+ > {
71
+ useMatch: UseMatchRoute<TId>
72
+ useRouteContext: UseRouteContextRoute<TId>
73
+ useSearch: UseSearchRoute<TId>
74
+ useParams: UseParamsRoute<TId>
75
+ useLoaderDeps: UseLoaderDepsRoute<TId>
76
+ useLoaderData: UseLoaderDataRoute<TId>
77
+ useNavigate: () => UseNavigateResult<TFullPath>
78
+ Link: LinkComponentRoute<TFullPath>
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Returns a route-specific API that exposes type-safe hooks pre-bound
84
+ * to a single route ID. Useful for consuming a route's APIs from files
85
+ * where the route object isn't directly imported (e.g. code-split files).
86
+ *
87
+ * @param id Route ID string literal for the target route.
88
+ * @returns A `RouteApi` instance bound to the given route ID.
89
+ * @link https://tanstack.com/router/latest/docs/framework/react/api/router/getRouteApiFunction
90
+ */
91
+ export function getRouteApi<
92
+ const TId,
93
+ TRouter extends AnyRouter = RegisteredRouter,
94
+ >(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {
95
+ return new RouteApi<TId, TRouter>({ id })
96
+ }
97
+
98
+ export class RouteApi<
99
+ TId,
100
+ TRouter extends AnyRouter = RegisteredRouter,
101
+ > extends BaseRouteApi<TId, TRouter> {
102
+ /**
103
+ * @deprecated Use the `getRouteApi` function instead.
104
+ */
105
+ constructor({ id }: { id: TId }) {
106
+ super({ id })
107
+ }
108
+
109
+ useMatch: UseMatchRoute<TId> = (opts) => {
110
+ return useMatch({
111
+ select: opts?.select,
112
+ from: this.id,
113
+ structuralSharing: opts?.structuralSharing,
114
+ } as any) as any
115
+ }
116
+
117
+ useRouteContext: UseRouteContextRoute<TId> = (opts) => {
118
+ return useRouteContext({ ...(opts as any), from: this.id as any })
119
+ }
120
+
121
+ useSearch: UseSearchRoute<TId> = (opts) => {
122
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
123
+ return useSearch({
124
+ select: opts?.select,
125
+ structuralSharing: opts?.structuralSharing,
126
+ from: this.id,
127
+ } as any) as any
128
+ }
129
+
130
+ useParams: UseParamsRoute<TId> = (opts) => {
131
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
132
+ return useParams({
133
+ select: opts?.select,
134
+ structuralSharing: opts?.structuralSharing,
135
+ from: this.id,
136
+ } as any) as any
137
+ }
138
+
139
+ useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {
140
+ return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)
141
+ }
142
+
143
+ useLoaderData: UseLoaderDataRoute<TId> = (opts) => {
144
+ return useLoaderData({ ...opts, from: this.id, strict: false } as any)
145
+ }
146
+
147
+ useNavigate = (): UseNavigateResult<
148
+ RouteTypesById<TRouter, TId>['fullPath']
149
+ > => {
150
+ const router = useRouter()
151
+ return useNavigate({ from: router.routesById[this.id as string].fullPath })
152
+ }
153
+
154
+ notFound = (opts?: NotFoundError) => {
155
+ return notFound({ routeId: this.id as string, ...opts })
156
+ }
157
+
158
+ Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> =
159
+ React.forwardRef((props, ref: React.ForwardedRef<HTMLAnchorElement>) => {
160
+ const router = useRouter()
161
+ const fullPath = router.routesById[this.id as string].fullPath
162
+ return <Link ref={ref} from={fullPath as never} {...props} />
163
+ }) as unknown as LinkComponentRoute<
164
+ RouteTypesById<TRouter, TId>['fullPath']
165
+ >
166
+ }
167
+
168
+ export class Route<
169
+ in out TRegister = unknown,
170
+ in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,
171
+ in out TPath extends RouteConstraints['TPath'] = '/',
172
+ in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<
173
+ TParentRoute,
174
+ TPath
175
+ >,
176
+ in out TCustomId extends RouteConstraints['TCustomId'] = string,
177
+ in out TId extends RouteConstraints['TId'] = ResolveId<
178
+ TParentRoute,
179
+ TCustomId,
180
+ TPath
181
+ >,
182
+ in out TSearchValidator = undefined,
183
+ in out TParams = ResolveParams<TPath>,
184
+ in out TRouterContext = AnyContext,
185
+ in out TRouteContextFn = AnyContext,
186
+ in out TBeforeLoadFn = AnyContext,
187
+ in out TLoaderDeps extends Record<string, any> = {},
188
+ in out TLoaderFn = undefined,
189
+ in out TChildren = unknown,
190
+ in out TFileRouteTypes = unknown,
191
+ in out TSSR = unknown,
192
+ in out TServerMiddlewares = unknown,
193
+ in out THandlers = undefined,
194
+ >
195
+ extends BaseRoute<
196
+ TRegister,
197
+ TParentRoute,
198
+ TPath,
199
+ TFullPath,
200
+ TCustomId,
201
+ TId,
202
+ TSearchValidator,
203
+ TParams,
204
+ TRouterContext,
205
+ TRouteContextFn,
206
+ TBeforeLoadFn,
207
+ TLoaderDeps,
208
+ TLoaderFn,
209
+ TChildren,
210
+ TFileRouteTypes,
211
+ TSSR,
212
+ TServerMiddlewares,
213
+ THandlers
214
+ >
215
+ implements
216
+ RouteCore<
217
+ TRegister,
218
+ TParentRoute,
219
+ TPath,
220
+ TFullPath,
221
+ TCustomId,
222
+ TId,
223
+ TSearchValidator,
224
+ TParams,
225
+ TRouterContext,
226
+ TRouteContextFn,
227
+ TBeforeLoadFn,
228
+ TLoaderDeps,
229
+ TLoaderFn,
230
+ TChildren,
231
+ TFileRouteTypes,
232
+ TSSR,
233
+ TServerMiddlewares,
234
+ THandlers
235
+ >
236
+ {
237
+ /**
238
+ * @deprecated Use the `createRoute` function instead.
239
+ */
240
+ constructor(
241
+ options?: RouteOptions<
242
+ TRegister,
243
+ TParentRoute,
244
+ TId,
245
+ TCustomId,
246
+ TFullPath,
247
+ TPath,
248
+ TSearchValidator,
249
+ TParams,
250
+ TLoaderDeps,
251
+ TLoaderFn,
252
+ TRouterContext,
253
+ TRouteContextFn,
254
+ TBeforeLoadFn,
255
+ TSSR,
256
+ TServerMiddlewares,
257
+ THandlers
258
+ >,
259
+ ) {
260
+ super(options)
261
+ ;(this as any).$$typeof = Symbol.for('react.memo')
262
+ }
263
+
264
+ useMatch: UseMatchRoute<TId> = (opts) => {
265
+ return useMatch({
266
+ select: opts?.select,
267
+ from: this.id,
268
+ structuralSharing: opts?.structuralSharing,
269
+ } as any) as any
270
+ }
271
+
272
+ useRouteContext: UseRouteContextRoute<TId> = (opts?) => {
273
+ return useRouteContext({ ...(opts as any), from: this.id })
274
+ }
275
+
276
+ useSearch: UseSearchRoute<TId> = (opts) => {
277
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
278
+ return useSearch({
279
+ select: opts?.select,
280
+ structuralSharing: opts?.structuralSharing,
281
+ from: this.id,
282
+ } as any) as any
283
+ }
284
+
285
+ useParams: UseParamsRoute<TId> = (opts) => {
286
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
287
+ return useParams({
288
+ select: opts?.select,
289
+ structuralSharing: opts?.structuralSharing,
290
+ from: this.id,
291
+ } as any) as any
292
+ }
293
+
294
+ useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {
295
+ return useLoaderDeps({ ...opts, from: this.id } as any)
296
+ }
297
+
298
+ useLoaderData: UseLoaderDataRoute<TId> = (opts) => {
299
+ return useLoaderData({ ...opts, from: this.id } as any)
300
+ }
301
+
302
+ useNavigate = (): UseNavigateResult<TFullPath> => {
303
+ return useNavigate({ from: this.fullPath })
304
+ }
305
+
306
+ Link: LinkComponentRoute<TFullPath> = React.forwardRef(
307
+ (props, ref: React.ForwardedRef<HTMLAnchorElement>) => {
308
+ return <Link ref={ref} from={this.fullPath as never} {...props} />
309
+ },
310
+ ) as unknown as LinkComponentRoute<TFullPath>
311
+ }
312
+
313
+ /**
314
+ * Creates a non-root Route instance for code-based routing.
315
+ *
316
+ * Use this to define a route that will be composed into a route tree
317
+ * (typically via a parent route's `addChildren`). If you're using file-based
318
+ * routing, prefer `createFileRoute`.
319
+ *
320
+ * @param options Route options (path, component, loader, context, etc.).
321
+ * @returns A Route instance to be attached to the route tree.
322
+ * @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouteFunction
323
+ */
324
+ export function createRoute<
325
+ TRegister = unknown,
326
+ TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,
327
+ TPath extends RouteConstraints['TPath'] = '/',
328
+ TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<
329
+ TParentRoute,
330
+ TPath
331
+ >,
332
+ TCustomId extends RouteConstraints['TCustomId'] = string,
333
+ TId extends RouteConstraints['TId'] = ResolveId<
334
+ TParentRoute,
335
+ TCustomId,
336
+ TPath
337
+ >,
338
+ TSearchValidator = undefined,
339
+ TParams = ResolveParams<TPath>,
340
+ TRouteContextFn = AnyContext,
341
+ TBeforeLoadFn = AnyContext,
342
+ TLoaderDeps extends Record<string, any> = {},
343
+ TLoaderFn = undefined,
344
+ TChildren = unknown,
345
+ TSSR = unknown,
346
+ const TServerMiddlewares = unknown,
347
+ >(
348
+ options: RouteOptions<
349
+ TRegister,
350
+ TParentRoute,
351
+ TId,
352
+ TCustomId,
353
+ TFullPath,
354
+ TPath,
355
+ TSearchValidator,
356
+ TParams,
357
+ TLoaderDeps,
358
+ TLoaderFn,
359
+ AnyContext,
360
+ TRouteContextFn,
361
+ TBeforeLoadFn,
362
+ TSSR,
363
+ TServerMiddlewares
364
+ >,
365
+ ): Route<
366
+ TRegister,
367
+ TParentRoute,
368
+ TPath,
369
+ TFullPath,
370
+ TCustomId,
371
+ TId,
372
+ TSearchValidator,
373
+ TParams,
374
+ AnyContext,
375
+ TRouteContextFn,
376
+ TBeforeLoadFn,
377
+ TLoaderDeps,
378
+ TLoaderFn,
379
+ TChildren,
380
+ TSSR,
381
+ TServerMiddlewares
382
+ > {
383
+ return new Route<
384
+ TRegister,
385
+ TParentRoute,
386
+ TPath,
387
+ TFullPath,
388
+ TCustomId,
389
+ TId,
390
+ TSearchValidator,
391
+ TParams,
392
+ AnyContext,
393
+ TRouteContextFn,
394
+ TBeforeLoadFn,
395
+ TLoaderDeps,
396
+ TLoaderFn,
397
+ TChildren,
398
+ TSSR,
399
+ TServerMiddlewares
400
+ >(
401
+ // TODO: Help us TypeChris, you're our only hope!
402
+ options as any,
403
+ )
404
+ }
405
+
406
+ export type AnyRootRoute = RootRoute<
407
+ any,
408
+ any,
409
+ any,
410
+ any,
411
+ any,
412
+ any,
413
+ any,
414
+ any,
415
+ any,
416
+ any,
417
+ any
418
+ >
419
+
420
+ /**
421
+ * Creates a root route factory that requires a router context type.
422
+ *
423
+ * Use when your root route expects `context` to be provided to `createRouter`.
424
+ * The returned function behaves like `createRootRoute` but enforces a context type.
425
+ *
426
+ * @returns A factory function to configure and return a root route.
427
+ * @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteWithContextFunction
428
+ */
429
+ export function createRootRouteWithContext<TRouterContext extends {}>() {
430
+ return <
431
+ TRegister = Register,
432
+ TRouteContextFn = AnyContext,
433
+ TBeforeLoadFn = AnyContext,
434
+ TSearchValidator = undefined,
435
+ TLoaderDeps extends Record<string, any> = {},
436
+ TLoaderFn = undefined,
437
+ TSSR = unknown,
438
+ TServerMiddlewares = unknown,
439
+ >(
440
+ options?: RootRouteOptions<
441
+ TRegister,
442
+ TSearchValidator,
443
+ TRouterContext,
444
+ TRouteContextFn,
445
+ TBeforeLoadFn,
446
+ TLoaderDeps,
447
+ TLoaderFn,
448
+ TSSR,
449
+ TServerMiddlewares
450
+ >,
451
+ ) => {
452
+ return createRootRoute<
453
+ TRegister,
454
+ TSearchValidator,
455
+ TRouterContext,
456
+ TRouteContextFn,
457
+ TBeforeLoadFn,
458
+ TLoaderDeps,
459
+ TLoaderFn,
460
+ TSSR,
461
+ TServerMiddlewares
462
+ >(options)
463
+ }
464
+ }
465
+
466
+ /**
467
+ * @deprecated Use the `createRootRouteWithContext` function instead.
468
+ */
469
+ export const rootRouteWithContext = createRootRouteWithContext
470
+
471
+ export class RootRoute<
472
+ in out TRegister = unknown,
473
+ in out TSearchValidator = undefined,
474
+ in out TRouterContext = {},
475
+ in out TRouteContextFn = AnyContext,
476
+ in out TBeforeLoadFn = AnyContext,
477
+ in out TLoaderDeps extends Record<string, any> = {},
478
+ in out TLoaderFn = undefined,
479
+ in out TChildren = unknown,
480
+ in out TFileRouteTypes = unknown,
481
+ in out TSSR = unknown,
482
+ in out TServerMiddlewares = unknown,
483
+ in out THandlers = undefined,
484
+ >
485
+ extends BaseRootRoute<
486
+ TRegister,
487
+ TSearchValidator,
488
+ TRouterContext,
489
+ TRouteContextFn,
490
+ TBeforeLoadFn,
491
+ TLoaderDeps,
492
+ TLoaderFn,
493
+ TChildren,
494
+ TFileRouteTypes,
495
+ TSSR,
496
+ TServerMiddlewares,
497
+ THandlers
498
+ >
499
+ implements
500
+ RootRouteCore<
501
+ TRegister,
502
+ TSearchValidator,
503
+ TRouterContext,
504
+ TRouteContextFn,
505
+ TBeforeLoadFn,
506
+ TLoaderDeps,
507
+ TLoaderFn,
508
+ TChildren,
509
+ TFileRouteTypes,
510
+ TSSR,
511
+ TServerMiddlewares,
512
+ THandlers
513
+ >
514
+ {
515
+ /**
516
+ * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
517
+ */
518
+ constructor(
519
+ options?: RootRouteOptions<
520
+ TRegister,
521
+ TSearchValidator,
522
+ TRouterContext,
523
+ TRouteContextFn,
524
+ TBeforeLoadFn,
525
+ TLoaderDeps,
526
+ TLoaderFn,
527
+ TSSR,
528
+ TServerMiddlewares,
529
+ THandlers
530
+ >,
531
+ ) {
532
+ super(options)
533
+ ;(this as any).$$typeof = Symbol.for('react.memo')
534
+ }
535
+
536
+ useMatch: UseMatchRoute<RootRouteId> = (opts) => {
537
+ return useMatch({
538
+ select: opts?.select,
539
+ from: this.id,
540
+ structuralSharing: opts?.structuralSharing,
541
+ } as any) as any
542
+ }
543
+
544
+ useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {
545
+ return useRouteContext({ ...(opts as any), from: this.id })
546
+ }
547
+
548
+ useSearch: UseSearchRoute<RootRouteId> = (opts) => {
549
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
550
+ return useSearch({
551
+ select: opts?.select,
552
+ structuralSharing: opts?.structuralSharing,
553
+ from: this.id,
554
+ } as any) as any
555
+ }
556
+
557
+ useParams: UseParamsRoute<RootRouteId> = (opts) => {
558
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
559
+ return useParams({
560
+ select: opts?.select,
561
+ structuralSharing: opts?.structuralSharing,
562
+ from: this.id,
563
+ } as any) as any
564
+ }
565
+
566
+ useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {
567
+ return useLoaderDeps({ ...opts, from: this.id } as any)
568
+ }
569
+
570
+ useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {
571
+ return useLoaderData({ ...opts, from: this.id } as any)
572
+ }
573
+
574
+ useNavigate = (): UseNavigateResult<'/'> => {
575
+ return useNavigate({ from: this.fullPath })
576
+ }
577
+
578
+ Link: LinkComponentRoute<'/'> = React.forwardRef(
579
+ (props, ref: React.ForwardedRef<HTMLAnchorElement>) => {
580
+ return <Link ref={ref} from={this.fullPath} {...props} />
581
+ },
582
+ ) as unknown as LinkComponentRoute<'/'>
583
+ }
584
+
585
+ /**
586
+ * Creates a root Route instance used to build your route tree.
587
+ *
588
+ * Typically paired with `createRouter({ routeTree })`. If you need to require
589
+ * a typed router context, use `createRootRouteWithContext` instead.
590
+ *
591
+ * @param options Root route options (component, error, pending, etc.).
592
+ * @returns A root route instance.
593
+ * @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteFunction
594
+ */
595
+ export function createRootRoute<
596
+ TRegister = Register,
597
+ TSearchValidator = undefined,
598
+ TRouterContext = {},
599
+ TRouteContextFn = AnyContext,
600
+ TBeforeLoadFn = AnyContext,
601
+ TLoaderDeps extends Record<string, any> = {},
602
+ TLoaderFn = undefined,
603
+ TSSR = unknown,
604
+ const TServerMiddlewares = unknown,
605
+ THandlers = undefined,
606
+ >(
607
+ options?: RootRouteOptions<
608
+ TRegister,
609
+ TSearchValidator,
610
+ TRouterContext,
611
+ TRouteContextFn,
612
+ TBeforeLoadFn,
613
+ TLoaderDeps,
614
+ TLoaderFn,
615
+ TSSR,
616
+ TServerMiddlewares,
617
+ THandlers
618
+ >,
619
+ ): RootRoute<
620
+ TRegister,
621
+ TSearchValidator,
622
+ TRouterContext,
623
+ TRouteContextFn,
624
+ TBeforeLoadFn,
625
+ TLoaderDeps,
626
+ TLoaderFn,
627
+ unknown,
628
+ unknown,
629
+ TSSR,
630
+ TServerMiddlewares,
631
+ THandlers
632
+ > {
633
+ return new RootRoute<
634
+ TRegister,
635
+ TSearchValidator,
636
+ TRouterContext,
637
+ TRouteContextFn,
638
+ TBeforeLoadFn,
639
+ TLoaderDeps,
640
+ TLoaderFn,
641
+ unknown,
642
+ unknown,
643
+ TSSR,
644
+ TServerMiddlewares,
645
+ THandlers
646
+ >(options)
647
+ }
648
+
649
+ export function createRouteMask<
650
+ TRouteTree extends AnyRoute,
651
+ TFrom extends string,
652
+ TTo extends string,
653
+ >(
654
+ opts: {
655
+ routeTree: TRouteTree
656
+ } & ToMaskOptions<RouterCore<TRouteTree, 'never', boolean>, TFrom, TTo>,
657
+ ): RouteMask<TRouteTree> {
658
+ return opts as any
659
+ }
660
+
661
+ export interface DefaultRouteTypes<TProps> {
662
+ component:
663
+ | ((props: TProps) => any)
664
+ | React.LazyExoticComponent<(props: TProps) => any>
665
+ }
666
+ export interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}
667
+
668
+ export type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {
669
+ preload?: () => Promise<void>
670
+ }
671
+
672
+ export type RouteComponent = AsyncRouteComponent<{}>
673
+
674
+ export type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>
675
+
676
+ export type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']
677
+
678
+ export class NotFoundRoute<
679
+ TRegister,
680
+ TParentRoute extends AnyRootRoute,
681
+ TRouterContext = AnyContext,
682
+ TRouteContextFn = AnyContext,
683
+ TBeforeLoadFn = AnyContext,
684
+ TSearchValidator = undefined,
685
+ TLoaderDeps extends Record<string, any> = {},
686
+ TLoaderFn = undefined,
687
+ TChildren = unknown,
688
+ TSSR = unknown,
689
+ TServerMiddlewares = unknown,
690
+ > extends Route<
691
+ TRegister,
692
+ TParentRoute,
693
+ '/404',
694
+ '/404',
695
+ '404',
696
+ '404',
697
+ TSearchValidator,
698
+ {},
699
+ TRouterContext,
700
+ TRouteContextFn,
701
+ TBeforeLoadFn,
702
+ TLoaderDeps,
703
+ TLoaderFn,
704
+ TChildren,
705
+ TSSR,
706
+ TServerMiddlewares
707
+ > {
708
+ constructor(
709
+ options: Omit<
710
+ RouteOptions<
711
+ TRegister,
712
+ TParentRoute,
713
+ string,
714
+ string,
715
+ string,
716
+ string,
717
+ TSearchValidator,
718
+ {},
719
+ TLoaderDeps,
720
+ TLoaderFn,
721
+ TRouterContext,
722
+ TRouteContextFn,
723
+ TBeforeLoadFn,
724
+ TSSR,
725
+ TServerMiddlewares
726
+ >,
727
+ | 'caseSensitive'
728
+ | 'parseParams'
729
+ | 'stringifyParams'
730
+ | 'path'
731
+ | 'id'
732
+ | 'params'
733
+ >,
734
+ ) {
735
+ super({
736
+ ...(options as any),
737
+ id: '404',
738
+ })
739
+ }
740
+ }