@tanstack/solid-router 1.163.3 → 1.166.4
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.
- package/dist/cjs/Match.cjs +0 -11
- package/dist/cjs/Match.cjs.map +1 -1
- package/dist/cjs/fileRoute.cjs +2 -4
- package/dist/cjs/fileRoute.cjs.map +1 -1
- package/dist/cjs/route.cjs +8 -9
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/esm/Match.js +0 -11
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/fileRoute.js +2 -4
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/route.js +8 -9
- package/dist/esm/route.js.map +1 -1
- package/dist/source/Match.jsx +0 -8
- package/dist/source/Match.jsx.map +1 -1
- package/dist/source/fileRoute.js +2 -4
- package/dist/source/fileRoute.js.map +1 -1
- package/dist/source/route.jsx +4 -14
- package/dist/source/route.jsx.map +1 -1
- package/package.json +2 -2
- package/src/Match.tsx +0 -16
- package/src/fileRoute.ts +2 -4
- package/src/route.tsx +4 -14
package/dist/cjs/Match.cjs
CHANGED
|
@@ -304,17 +304,6 @@ const MatchInner = (props) => {
|
|
|
304
304
|
return match().status === "error";
|
|
305
305
|
},
|
|
306
306
|
children: (_) => {
|
|
307
|
-
if (isServer.isServer ?? router.isServer) {
|
|
308
|
-
const RouteErrorComponent = (route().options.errorComponent ?? router.options.defaultErrorComponent) || CatchBoundary.ErrorComponent;
|
|
309
|
-
return Solid.createComponent(RouteErrorComponent, {
|
|
310
|
-
get error() {
|
|
311
|
-
return match().error;
|
|
312
|
-
},
|
|
313
|
-
info: {
|
|
314
|
-
componentStack: ""
|
|
315
|
-
}
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
307
|
throw match().error;
|
|
319
308
|
}
|
|
320
309
|
}), Solid.createComponent(Solid__namespace.Match, {
|
package/dist/cjs/Match.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Match.cjs","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n // Return null to avoid errors - the component will handle this gracefully\n if (!match) {\n return null\n }\n\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n // If match doesn't exist yet, return null (component is being unmounted or not ready)\n if (!matchState()) return null\n\n const route: () => AnyRoute = () => router.routesById[matchState()!.routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr =\n matchState()!.ssr === false || matchState()!.ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <matchContext.Provider value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch\n (isServer ?? router.isServer) || resolvedNoSsr ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(false, `Error in route match: ${matchState()!.routeId}`)\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState()!.routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={<Dynamic component={resolvePendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </matchContext.Provider>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </ShellComponent>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n if (!match) {\n return null\n }\n\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: match.id,\n status: match.status,\n error: match.error,\n _forcePending: match._forcePending,\n _displayPending: match._displayPending,\n },\n }\n },\n })\n\n if (!matchState()) return null\n\n const route = () => router.routesById[matchState()!.routeId]!\n\n const match = () => matchState()!.match\n\n const componentKey = () => matchState()!.key ?? matchState()!.match.id\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const keyedOut = () => (\n <Solid.Show when={componentKey()} keyed>\n {(_key) => out()}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(match().id)?._nonReactive.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?._nonReactive.minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ?? router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(match().id)\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise<void>()\n\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n\n setTimeout(() => {\n minPendingPromise.resolve()\n // We've handled the minPendingPromise, so we can delete it\n routerMatch._nonReactive.minPendingPromise = undefined\n }, pendingMinMs)\n }\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n const FallbackComponent =\n route().options.pendingComponent ??\n router.options.defaultPendingComponent\n\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={matchState()!.routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), match().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n invariant(isRedirect(match().error), 'Expected a redirect error')\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent =\n (route().options.errorComponent ??\n router.options.defaultErrorComponent) ||\n ErrorComponent\n\n return (\n <RouteErrorComponent\n error={match().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw match().error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n\n // During navigation transitions, parent match can be temporarily removed\n // Return false to avoid errors - the component will handle this gracefully\n if (!parentMatch) {\n return false\n }\n\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n const childMatchStatus = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.status\n },\n })\n\n // Only show not-found if we're not in a redirected state\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n return (\n <Solid.Show\n when={!shouldShowNotFound() && childMatchId()}\n fallback={\n <Solid.Show when={shouldShowNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Show>\n }\n >\n {(matchIdAccessor) => {\n // Use a memo to avoid stale accessor errors while keeping reactivity\n const currentMatchId = Solid.createMemo(() => matchIdAccessor())\n\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={currentMatchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={currentMatchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","routeId","ssr","_displayPending","route","routesById","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Solid","Suspense","ResolvedCatchBoundary","CatchBoundary","SafeFragment","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","_$memo","isServer","undefined","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","MatchInner","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","keyedOut","keyed","_key","_","displayPendingResult","createResource","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","invariant","_routeId","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","childMatchStatus","shouldShowNotFound","matchIdAccessor","currentMatchId","createMemo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,MAAMA,QAAQA,CAACC,UAA+B;AACnD,QAAMC,SAASC,UAAAA,UAAAA;AACf,QAAMC,aAAaC,eAAAA,eAAe;AAAA,IAChCC,QAASC,CAAAA,MAAM;AACb,YAAMC,QAAQD,EAAEE,QAAQC,KAAMC,OAAMA,EAAEC,OAAOX,MAAMY,OAAO;AAI1D,UAAI,CAACL,OAAO;AACV,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,QACLM,SAASN,MAAMM;AAAAA,QACfC,KAAKP,MAAMO;AAAAA,QACXC,iBAAiBR,MAAMQ;AAAAA,MAAAA;AAAAA,IAE3B;AAAA,EAAA,CACD;AAGD,MAAI,CAACZ,WAAAA,EAAc,QAAO;AAE1B,QAAMa,QAAwBA,MAAMf,OAAOgB,WAAWd,WAAAA,EAAcU,OAAO;AAE3E,QAAMK,0BAA0BA,MAC9BF,MAAAA,EAAQG,QAAQC,oBAAoBnB,OAAOkB,QAAQE;AAErD,QAAMC,sBAAsBA,MAC1BN,MAAAA,EAAQG,QAAQI,kBAAkBtB,OAAOkB,QAAQK;AAEnD,QAAMC,eAAeA,MACnBT,MAAAA,EAAQG,QAAQO,WAAWzB,OAAOkB,QAAQQ;AAE5C,QAAMC,yBAAyBA,MAC7BZ,MAAAA,EAAQa;AAAAA;AAAAA,IAEHb,QAAQG,QAAQW,qBACjB7B,OAAOkB,QAAQY,eAAeZ,QAAQa;AAAAA,MACtChB,MAAAA,EAAQG,QAAQW;AAEtB,QAAMG,gBACJ9B,aAAcW,QAAQ,SAASX,WAAAA,EAAcW,QAAQ;AAEvD,QAAMoB,2BAA2BA,MAAMC,iBAAMC;AAE7C,QAAMC,wBAAwBA,MAC5Bf,oBAAAA,IAAwBgB,cAAAA,gBAAgBC,aAAAA;AAE1C,QAAMC,2BAA2BA,MAC/BZ,uBAAAA,IAA2Ba,SAAAA,gBAAgBF,aAAAA;AAE7C,QAAMG,WAAWtC,eAAAA,eAAe;AAAA,IAC9BC,QAASC,OAAMA,EAAEqC;AAAAA,EAAAA,CAClB;AAED,QAAMC,gBAAgBxC,eAAAA,eAAe;AAAA,IACnCC,QAASC,CAAAA,MAAM;AACb,YAAMuC,QAAQvC,EAAEE,QAAQsC,UAAWpC,OAAMA,EAAEC,OAAOX,MAAMY,OAAO;AAC/D,aAAON,EAAEE,QAAQqC,QAAQ,CAAC,GAAGhC;AAAAA,IAC/B;AAAA,EAAA,CACD;AAED,QAAMkC,iBAAiB/B,QAAQa,SACzBb,QAAQG,QAA6B6B,kBAAkBT,aAAAA,eACzDA,aAAAA;AAEJ,SAAAU,MAAAA,gBACGF,gBAAc;AAAA,IAAA,IAAAG,WAAA;AAAA,aAAA,CAAAD,MAAAA,gBACZE,aAAAA,aAAaC,UAAQ;AAAA,QAACC,OAAOA,MAAMrD,MAAMY;AAAAA,QAAO,IAAAsC,WAAA;AAAA,iBAAAD,MAAAA,gBAC9CK,MAAAA,SAAO;AAAA,YAAA,IACNtB,YAAS;AAAA,qBAAEE,yBAAAA;AAAAA,YAA0B;AAAA,YAAA,IACrCqB,WAAQ;AAAA;AAAA;AAAA,gBAENC,MAAAA,KAAA,MAAA,CAAA,GAACC,SAAAA,YAAYxD,OAAOwD,aAAaxB,cAAa,EAAA,IAAGyB,SAAST,MAAAA,gBACvDK,MAAAA,SAAO;AAAA,kBAAA,IAACtB,YAAS;AAAA,2BAAEd,wBAAAA;AAAAA,kBAAyB;AAAA,gBAAA,CAAA;AAAA;AAAA,YAC9C;AAAA,YAAA,IAAAgC,WAAA;AAAA,qBAAAD,MAAAA,gBAGFK,MAAAA,SAAO;AAAA,gBAAA,IACNtB,YAAS;AAAA,yBAAEK,sBAAAA;AAAAA,gBAAuB;AAAA,gBAClCsB,aAAaA,MAAMjB,SAAAA;AAAAA,gBAAU,IAC7BnB,iBAAc;AAAA,yBAAED,yBAAyBsC,cAAAA;AAAAA,gBAAc;AAAA,gBACvDlC,SAASA,CAACmC,UAAiB;AAEzB,sBAAIC,WAAAA,WAAWD,KAAK,EAAG,OAAMA;AAC7BE,0BAAQ,OAAO,yBAAyB5D,WAAAA,EAAcU,OAAO,EAAE;AAC/DY,+BAAAA,IAAiBoC,KAAK;AAAA,gBACxB;AAAA,gBAAC,IAAAX,WAAA;AAAA,yBAAAD,MAAAA,gBAEAK,MAAAA,SAAO;AAAA,oBAAA,IACNtB,YAAS;AAAA,6BAAEQ,yBAAAA;AAAAA,oBAA0B;AAAA,oBACrCe,UAAUA,CAACM,UAAe;AAGxB,0BACE,CAACjC,uBAAAA,KACAiC,MAAMhD,WAAWgD,MAAMhD,YAAYV,WAAAA,EAAcU,WACjD,CAACgD,MAAMhD,WAAW,CAACG,MAAAA,EAAQa,OAE5B,OAAMgC;AAER,6BAAAZ,MAAAA,gBACGK,MAAAA,SAAOU,iBAAA;AAAA,wBAAA,IAAChC,YAAS;AAAA,iCAAEJ,uBAAAA;AAAAA,wBAAwB;AAAA,sBAAA,GAAMiC,KAAK,CAAA;AAAA,oBAE3D;AAAA,oBAAC,IAAAX,WAAA;AAAA,6BAAAD,MAAAA,gBAEAd,iBAAM8B,QAAM;AAAA,wBAAA,IAAAf,WAAA;AAAA,iCAAA,CAAAD,MAAAA,gBACVd,iBAAMpC,OAAK;AAAA,4BAACmE,MAAMjC;AAAAA,4BAAa,IAAAiB,WAAA;AAAA,qCAAAD,MAAAA,gBAC7Bd,iBAAMgC,MAAI;AAAA,gCAAA,IACTD,OAAI;AAAA,yCAAE,EAAET,SAAAA,YAAYxD,OAAOwD;AAAAA,gCAAS;AAAA,gCAAA,IACpCF,WAAQ;AAAA,yCAAAN,MAAAA,gBAAGK,MAAAA,SAAO;AAAA,oCAAA,IAACtB,YAAS;AAAA,6CAAEd,wBAAAA;AAAAA,oCAAyB;AAAA,kCAAA,CAAA;AAAA,gCAAA;AAAA,gCAAA,IAAAgC,WAAA;AAAA,yCAAAD,MAAAA,gBAEtDmB,YAAU;AAAA,oCAAA,IAACxD,UAAO;AAAA,6CAAEZ,MAAMY;AAAAA,oCAAO;AAAA,kCAAA,CAAA;AAAA,gCAAA;AAAA,8BAAA,CAAA;AAAA,4BAAA;AAAA,0BAAA,CAAA,GAAAqC,MAAAA,gBAGrCd,iBAAMpC,OAAK;AAAA,4BAACmE,MAAM,CAACjC;AAAAA,4BAAa,IAAAiB,WAAA;AAAA,qCAAAD,MAAAA,gBAC9BmB,YAAU;AAAA,gCAAA,IAACxD,UAAO;AAAA,yCAAEZ,MAAMY;AAAAA,gCAAO;AAAA,8BAAA,CAAA;AAAA,4BAAA;AAAA,0BAAA,CAAA,CAAA;AAAA,wBAAA;AAAA,sBAAA,CAAA;AAAA,oBAAA;AAAA,kBAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA,GAAA4C,MAAAA,KAAA,MAQ7CA,MAAAA,WAAAZ,cAAAA,MAAoByB,WAAAA,WAAW,MAAA,CAAApB,MAAAA,gBAE3BqB,YAAU,CAAA,CAAA,GAAArB,MAAAA,gBACVsB,kBAAAA,0BAED,IAAI,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAGd;AASA,SAASD,aAAa;AACpB,QAAMrE,SAASC,UAAAA,UAAAA;AAEf,QAAMsE,WAAWpE,eAAAA,eAAe;AAAA,IAC9BC,QAASC,CAAAA,MAAM;AACb,aAAOA,EAAEmE,kBAAkBC,MAAMC;AAAAA,IACnC;AAAA,EAAA,CACD;AACDxC,mBAAMyC,aACJzC,iBAAM0C,GAAG,CAACL,QAAQ,GAAG,MAAM;AACzBvE,WAAO6E,KAAK;AAAA,MACVC,MAAM;AAAA,MACN,GAAGC,WAAAA,sBAAsB/E,OAAOyE,KAAK;AAAA,IAAA,CACtC;AAAA,EACH,CAAC,CACH;AACA,SAAO;AACT;AAEO,MAAMN,aAAaA,CAACpE,UAAoC;AAC7D,QAAMC,SAASC,UAAAA,UAAAA;AAEf,QAAMC,aAAaC,eAAAA,eAAe;AAAA,IAChCC,QAASC,CAAAA,MAAM;AACb,YAAMC,SAAQD,EAAEE,QAAQC,KAAMC,OAAMA,EAAEC,OAAOX,MAAMY,OAAO;AAG1D,UAAI,CAACL,QAAO;AACV,eAAO;AAAA,MACT;AAEA,YAAMM,UAAUN,OAAMM;AAEtB,YAAMoE,YACHhF,OAAOgB,WAAWJ,OAAO,EAAeM,QAAQ+D,eACjDjF,OAAOkB,QAAQgE;AACjB,YAAMD,cAAcD,YAAY;AAAA,QAC9BpE;AAAAA,QACAuE,YAAY7E,OAAM6E;AAAAA,QAClBC,QAAQ9E,OAAM+E;AAAAA,QACdC,QAAQhF,OAAMiF;AAAAA,MAAAA,CACf;AACD,YAAMC,MAAMP,cAAcQ,KAAKC,UAAUT,WAAW,IAAIxB;AAExD,aAAO;AAAA,QACL+B;AAAAA,QACA5E;AAAAA,QACAN,OAAO;AAAA,UACLI,IAAIJ,OAAMI;AAAAA,UACViF,QAAQrF,OAAMqF;AAAAA,UACd/B,OAAOtD,OAAMsD;AAAAA,UACbgC,eAAetF,OAAMsF;AAAAA,UACrB9E,iBAAiBR,OAAMQ;AAAAA,QAAAA;AAAAA,MACzB;AAAA,IAEJ;AAAA,EAAA,CACD;AAED,MAAI,CAACZ,WAAAA,EAAc,QAAO;AAE1B,QAAMa,QAAQA,MAAMf,OAAOgB,WAAWd,WAAAA,EAAcU,OAAO;AAE3D,QAAMN,QAAQA,MAAMJ,WAAAA,EAAcI;AAElC,QAAMuF,eAAeA,MAAM3F,WAAAA,EAAcsF,OAAOtF,WAAAA,EAAcI,MAAMI;AAEpE,QAAMoF,MAAMA,MAAM;AAChB,UAAMC,OAAOhF,QAAQG,QAAQa,aAAa/B,OAAOkB,QAAQ8E;AACzD,QAAID,MAAM;AACR,aAAA/C,MAAAA,gBAAQ+C,MAAI,EAAA;AAAA,IACd;AACA,WAAA/C,MAAAA,gBAAQiD,QAAM,EAAA;AAAA,EAChB;AAEA,QAAMC,WAAWA,MAAAlD,sBACdd,iBAAMgC,MAAI;AAAA,IAAA,IAACD,OAAI;AAAA,aAAE4B,aAAAA;AAAAA,IAAc;AAAA,IAAEM,OAAK;AAAA,IAAAlD,UACnCmD,UAASN,IAAAA;AAAAA,EAAI,CAAC;AAIpB,SAAA9C,MAAAA,gBACGd,iBAAM8B,QAAM;AAAA,IAAA,IAAAf,WAAA;AAAA,aAAA,CAAAD,MAAAA,gBACVd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,QAAQQ;AAAAA,QAAe;AAAA,QAAAmC,UACtCoD,CAAAA,MAAM;AACN,gBAAM,CAACC,oBAAoB,IAAIpE,iBAAMqE,eACnC,MACEvG,OAAOwG,SAASlG,MAAAA,EAAQI,EAAE,GAAG+F,aAAaC,qBAC9C;AAEA,iBAAAnD,MAAAA,KAAU+C,oBAAoB;AAAA,QAChC;AAAA,MAAA,CAAC,GAAAtD,MAAAA,gBAEFd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,QAAQsF;AAAAA,QAAa;AAAA,QAAA3C,UACpCoD,CAAAA,MAAM;AACN,gBAAM,CAACM,gBAAgB,IAAIzE,iBAAMqE,eAC/B,MAAMvG,OAAOwG,SAASlG,MAAAA,EAAQI,EAAE,GAAG+F,aAAaG,iBAClD;AAEA,iBAAArD,MAAAA,KAAUoD,gBAAgB;AAAA,QAC5B;AAAA,MAAA,CAAC,GAAA3D,MAAAA,gBAEFd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,MAAAA,EAAQqF,WAAW;AAAA,QAAS;AAAA,QAAA1C,UAC3CoD,CAAAA,MAAM;AACN,gBAAMQ,eACJ9F,QAAQG,QAAQ2F,gBAAgB7G,OAAOkB,QAAQ4F;AAEjD,cAAID,cAAc;AAChB,kBAAME,cAAc/G,OAAOwG,SAASlG,MAAAA,EAAQI,EAAE;AAC9C,gBAAIqG,eAAe,CAACA,YAAYN,aAAaG,mBAAmB;AAE9D,kBAAI,EAAEpD,SAAAA,YAAYxD,OAAOwD,WAAW;AAClC,sBAAMoD,oBAAoBI,WAAAA,wBAAAA;AAE1BD,4BAAYN,aAAaG,oBAAoBA;AAE7CK,2BAAW,MAAM;AACfL,oCAAkBM,QAAAA;AAElBH,8BAAYN,aAAaG,oBAAoBnD;AAAAA,gBAC/C,GAAGoD,YAAY;AAAA,cACjB;AAAA,YACF;AAAA,UACF;AAEA,gBAAM,CAACM,YAAY,IAAIjF,iBAAMqE,eAAe,YAAY;AACtD,kBAAM,IAAIa,QAASC,CAAAA,MAAMJ,WAAWI,GAAG,CAAC,CAAC;AACzC,mBAAOrH,OAAOwG,SAASlG,MAAAA,EAAQI,EAAE,GAAG+F,aAAaa;AAAAA,UACnD,CAAC;AAED,gBAAMC,oBACJxG,QAAQG,QAAQC,oBAChBnB,OAAOkB,QAAQE;AAEjB,iBAAA,CAEKmG,qBAAqBV,eAAe,IAAC7D,MAAAA,gBACnCK,MAAAA,SAAO;AAAA,YAACtB,WAAWwF;AAAAA,UAAAA,CAAiB,IACnC,MAAIhE,WACP4D,YAAY,CAAA;AAAA,QAGnB;AAAA,MAAA,CAAC,GAAAnE,MAAAA,gBAEFd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,MAAAA,EAAQqF,WAAW;AAAA,QAAU;AAAA,QAAA1C,UAC5CoD,CAAAA,MAAM;AACNmB,oBAAU3D,WAAAA,WAAWvD,MAAAA,EAAQsD,KAAK,GAAG,2BAA2B;AAGhE,iBAAAZ,MAAAA,gBACGd,iBAAMgC,MAAI;AAAA,YAAA,IAACD,OAAI;AAAA,qBAAE/D,aAAcU;AAAAA,YAAO;AAAA,YAAEuF,OAAK;AAAA,YAAAlD,UAC1CwE,cACAC,oBAAAA,oBAAoB1H,QAAQe,SAAST,MAAAA,EAAQsD,KAAK;AAAA,UAAA,CAAC;AAAA,QAI3D;AAAA,MAAA,CAAC,GAAAZ,MAAAA,gBAEFd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,MAAAA,EAAQqF,WAAW;AAAA,QAAY;AAAA,QAAA1C,UAC9CoD,CAAAA,MAAM;AACNmB,oBAAUG,WAAAA,WAAWrH,MAAAA,EAAQsD,KAAK,GAAG,2BAA2B;AAEhE,gBAAM,CAACuD,YAAY,IAAIjF,iBAAMqE,eAAe,YAAY;AACtD,kBAAM,IAAIa,QAASC,CAAAA,MAAMJ,WAAWI,GAAG,CAAC,CAAC;AACzC,mBAAOrH,OAAOwG,SAASlG,MAAAA,EAAQI,EAAE,GAAG+F,aAAaa;AAAAA,UACnD,CAAC;AAED,iBAAA/D,MAAAA,KAAU4D,YAAY;AAAA,QACxB;AAAA,MAAA,CAAC,GAAAnE,MAAAA,gBAEFd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,MAAAA,EAAQqF,WAAW;AAAA,QAAO;AAAA,QAAA1C,UACzCoD,CAAAA,MAAM;AACN,cAAI7C,SAAAA,YAAYxD,OAAOwD,UAAU;AAC/B,kBAAMoE,uBACH7G,QAAQG,QAAQI,kBACftB,OAAOkB,QAAQK,0BACjBoC,cAAAA;AAEF,mBAAAX,MAAAA,gBACG4E,qBAAmB;AAAA,cAAA,IAClBhE,QAAK;AAAA,uBAAEtD,QAAQsD;AAAAA,cAAK;AAAA,cACpBiE,MAAM;AAAA,gBACJC,gBAAgB;AAAA,cAAA;AAAA,YAClB,CAAC;AAAA,UAGP;AAEA,gBAAMxH,QAAQsD;AAAAA,QAChB;AAAA,MAAA,CAAC,GAAAZ,MAAAA,gBAEFd,iBAAMpC,OAAK;AAAA,QAAA,IAACmE,OAAI;AAAA,iBAAE3D,MAAAA,EAAQqF,WAAW;AAAA,QAAS;AAAA,QAAA,IAAA1C,WAAA;AAAA,iBAC5CiD,SAAAA;AAAAA,QAAU;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAInB;AAEO,MAAMD,SAASA,MAAM;AAC1B,QAAMjG,SAASC,UAAAA,UAAAA;AACf,QAAMU,UAAUuB,iBAAM6F,WAAW7E,yBAAY;AAC7C,QAAMtC,UAAUT,eAAAA,eAAe;AAAA,IAC7BC,QAASC,CAAAA,MAAMA,EAAEE,QAAQC,KAAMC,OAAMA,EAAEC,OAAOC,QAAAA,CAAS,GAAGC;AAAAA,EAAAA,CAC3D;AAED,QAAMG,QAAQA,MAAMf,OAAOgB,WAAWJ,SAAS;AAE/C,QAAMoH,uBAAuB7H,eAAAA,eAAe;AAAA,IAC1CC,QAASC,CAAAA,MAAM;AACb,YAAME,UAAUF,EAAEE;AAClB,YAAM0H,cAAc1H,QAAQC,KAAMC,OAAMA,EAAEC,OAAOC,SAAS;AAI1D,UAAI,CAACsH,aAAa;AAChB,eAAO;AAAA,MACT;AAEA,aAAOA,YAAYC;AAAAA,IACrB;AAAA,EAAA,CACD;AAED,QAAMC,eAAehI,eAAAA,eAAe;AAAA,IAClCC,QAASC,CAAAA,MAAM;AACb,YAAME,UAAUF,EAAEE;AAClB,YAAMqC,QAAQrC,QAAQsC,UAAWpC,OAAMA,EAAEC,OAAOC,SAAS;AACzD,YAAMyH,IAAI7H,QAAQqC,QAAQ,CAAC,GAAGlC;AAC9B,aAAO0H;AAAAA,IACT;AAAA,EAAA,CACD;AAED,QAAMC,mBAAmBlI,eAAAA,eAAe;AAAA,IACtCC,QAASC,CAAAA,MAAM;AACb,YAAME,UAAUF,EAAEE;AAClB,YAAMqC,QAAQrC,QAAQsC,UAAWpC,OAAMA,EAAEC,OAAOC,SAAS;AACzD,aAAOJ,QAAQqC,QAAQ,CAAC,GAAG+C;AAAAA,IAC7B;AAAA,EAAA,CACD;AAGD,QAAM2C,qBAAqBA,MACzBD,uBAAuB,gBAAgBL,qBAAAA;AAEzC,SAAAhF,MAAAA,gBACGd,iBAAMgC,MAAI;AAAA,IAAA,IACTD,OAAI;AAAA,aAAEV,MAAAA,cAAC+E,mBAAAA,CAAoB,EAAA,KAAIH,aAAAA;AAAAA,IAAc;AAAA,IAAA,IAC7C7E,WAAQ;AAAA,aAAAN,MAAAA,gBACLd,iBAAMgC,MAAI;AAAA,QAAA,IAACD,OAAI;AAAA,iBAAEqE,mBAAAA;AAAAA,QAAoB;AAAA,QAAA,IAAArF,WAAA;AAAA,iBACnCyE,wCAAoB1H,QAAQe,MAAAA,GAAS0C,MAAS;AAAA,QAAC;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,IAAAR,UAIlDsF,CAAAA,oBAAoB;AAEpB,YAAMC,iBAAiBtG,iBAAMuG,WAAW,MAAMF,iBAAiB;AAE/D,aAAAvF,MAAAA,gBACGd,iBAAMgC,MAAI;AAAA,QAAA,IACTD,OAAI;AAAA,iBAAErD,cAAcwD,WAAAA;AAAAA,QAAW;AAAA,QAAA,IAC/Bd,WAAQ;AAAA,iBAAAN,MAAAA,gBAAGlD,OAAK;AAAA,YAAA,IAACa,UAAO;AAAA,qBAAE6H,eAAAA;AAAAA,YAAgB;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,QAAA,IAAAvF,WAAA;AAAA,iBAAAD,MAAAA,gBAEzCd,iBAAMC,UAAQ;AAAA,YAAA,IACbmB,WAAQ;AAAA,qBAAAN,MAAAA,gBACLK,MAAAA,SAAO;AAAA,gBAAA,IAACtB,YAAS;AAAA,yBAAE/B,OAAOkB,QAAQE;AAAAA,gBAAuB;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,YAAA,IAAA6B,WAAA;AAAA,qBAAAD,MAAAA,gBAG3DlD,OAAK;AAAA,gBAAA,IAACa,UAAO;AAAA,yBAAE6H,eAAAA;AAAAA,gBAAgB;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAIxC;AAAA,EAAA,CAAC;AAGP;;;;"}
|
|
1
|
+
{"version":3,"file":"Match.cjs","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n // Return null to avoid errors - the component will handle this gracefully\n if (!match) {\n return null\n }\n\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n // If match doesn't exist yet, return null (component is being unmounted or not ready)\n if (!matchState()) return null\n\n const route: () => AnyRoute = () => router.routesById[matchState()!.routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr =\n matchState()!.ssr === false || matchState()!.ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <matchContext.Provider value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch\n (isServer ?? router.isServer) || resolvedNoSsr ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(false, `Error in route match: ${matchState()!.routeId}`)\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState()!.routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={<Dynamic component={resolvePendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </matchContext.Provider>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </ShellComponent>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n if (!match) {\n return null\n }\n\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: match.id,\n status: match.status,\n error: match.error,\n _forcePending: match._forcePending,\n _displayPending: match._displayPending,\n },\n }\n },\n })\n\n if (!matchState()) return null\n\n const route = () => router.routesById[matchState()!.routeId]!\n\n const match = () => matchState()!.match\n\n const componentKey = () => matchState()!.key ?? matchState()!.match.id\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const keyedOut = () => (\n <Solid.Show when={componentKey()} keyed>\n {(_key) => out()}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(match().id)?._nonReactive.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?._nonReactive.minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ?? router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(match().id)\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise<void>()\n\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n\n setTimeout(() => {\n minPendingPromise.resolve()\n // We've handled the minPendingPromise, so we can delete it\n routerMatch._nonReactive.minPendingPromise = undefined\n }, pendingMinMs)\n }\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n const FallbackComponent =\n route().options.pendingComponent ??\n router.options.defaultPendingComponent\n\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={matchState()!.routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), match().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n invariant(isRedirect(match().error), 'Expected a redirect error')\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n throw match().error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n\n // During navigation transitions, parent match can be temporarily removed\n // Return false to avoid errors - the component will handle this gracefully\n if (!parentMatch) {\n return false\n }\n\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n const childMatchStatus = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.status\n },\n })\n\n // Only show not-found if we're not in a redirected state\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n return (\n <Solid.Show\n when={!shouldShowNotFound() && childMatchId()}\n fallback={\n <Solid.Show when={shouldShowNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Show>\n }\n >\n {(matchIdAccessor) => {\n // Use a memo to avoid stale accessor errors while keeping reactivity\n const currentMatchId = Solid.createMemo(() => matchIdAccessor())\n\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={currentMatchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={currentMatchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","routeId","ssr","_displayPending","route","routesById","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Solid","Suspense","ResolvedCatchBoundary","CatchBoundary","SafeFragment","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","_$memo","isServer","undefined","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","MatchInner","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","keyedOut","keyed","_key","_","displayPendingResult","createResource","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","invariant","_routeId","renderRouteNotFound","isRedirect","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","childMatchStatus","shouldShowNotFound","matchIdAccessor","currentMatchId","createMemo"],"mappings":"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"}
|
package/dist/cjs/fileRoute.cjs
CHANGED
|
@@ -9,6 +9,7 @@ const useSearch = require("./useSearch.cjs");
|
|
|
9
9
|
const useParams = require("./useParams.cjs");
|
|
10
10
|
const useNavigate = require("./useNavigate.cjs");
|
|
11
11
|
const useRouter = require("./useRouter.cjs");
|
|
12
|
+
const useRouteContext = require("./useRouteContext.cjs");
|
|
12
13
|
function createFileRoute(path) {
|
|
13
14
|
if (typeof path === "object") {
|
|
14
15
|
return new FileRoute(path, {
|
|
@@ -54,10 +55,7 @@ class LazyRoute {
|
|
|
54
55
|
});
|
|
55
56
|
};
|
|
56
57
|
this.useRouteContext = (opts2) => {
|
|
57
|
-
return
|
|
58
|
-
from: this.options.id,
|
|
59
|
-
select: (d) => opts2?.select ? opts2.select(d.context) : d.context
|
|
60
|
-
});
|
|
58
|
+
return useRouteContext.useRouteContext({ ...opts2, from: this.options.id });
|
|
61
59
|
};
|
|
62
60
|
this.useSearch = (opts2) => {
|
|
63
61
|
return useSearch.useSearch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileRoute.cjs","sources":["../../src/fileRoute.ts"],"sourcesContent":["import warning from 'tiny-warning'\nimport { createRoute } from './route'\n\nimport { useMatch } from './useMatch'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useLoaderData } from './useLoaderData'\nimport { useSearch } from './useSearch'\nimport { useParams } from './useParams'\nimport { useNavigate } from './useNavigate'\nimport { useRouter } from './useRouter'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseSearchRoute } from './useSearch'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n Constrain,\n ConstrainLiteral,\n FileBaseRouteOptions,\n FileRoutesByPath,\n LazyRouteOptions,\n Register,\n RegisteredRouter,\n ResolveParams,\n Route,\n RouteById,\n RouteConstraints,\n RouteIds,\n RouteLoaderFn,\n UpdatableRouteOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseRouteContextRoute } from './useRouteContext'\n\nexport function createFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n>(\n path?: TFilePath,\n): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {\n if (typeof path === 'object') {\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute(path) as any\n }\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute\n}\n\n/** \n @deprecated It's no longer recommended to use the `FileRoute` class directly.\n Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.\n*/\nexport class FileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n> {\n silent?: boolean\n\n constructor(\n public path?: TFilePath,\n _opts?: { silent: boolean },\n ) {\n this.silent = _opts?.silent\n }\n\n createRoute = <\n TRegister = Register,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n TMiddlewares = unknown,\n THandlers = undefined,\n >(\n options?: FileBaseRouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n AnyContext,\n TSSR,\n TMiddlewares,\n THandlers\n > &\n UpdatableRouteOptions<\n TParentRoute,\n TId,\n TFullPath,\n TParams,\n TSearchValidator,\n TLoaderFn,\n TLoaderDeps,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TFilePath,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n TMiddlewares,\n THandlers\n > => {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.silent,\n 'FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.',\n )\n }\n const route = createRoute(options as any)\n ;(route as any).isRoot = false\n return route as any\n }\n}\n\n/** \n @deprecated It's recommended not to split loaders into separate files.\n Instead, place the loader function in the the main route file, inside the\n `createFileRoute('/path/to/file)(options)` options.\n*/\nexport function FileRouteLoader<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(\n _path: TFilePath,\n): <TLoaderFn>(\n loaderFn: Constrain<\n TLoaderFn,\n RouteLoaderFn<\n Register,\n TRoute['parentRoute'],\n TRoute['types']['id'],\n TRoute['types']['params'],\n TRoute['types']['loaderDeps'],\n TRoute['types']['routerContext'],\n TRoute['types']['routeContextFn'],\n TRoute['types']['beforeLoadFn']\n >\n >,\n) => TLoaderFn {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`,\n )\n }\n return (loaderFn) => loaderFn as any\n}\n\ndeclare module '@tanstack/router-core' {\n export interface LazyRoute<in out TRoute extends AnyRoute> {\n useMatch: UseMatchRoute<TRoute['id']>\n useRouteContext: UseRouteContextRoute<TRoute['id']>\n useSearch: UseSearchRoute<TRoute['id']>\n useParams: UseParamsRoute<TRoute['id']>\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>\n useLoaderData: UseLoaderDataRoute<TRoute['id']>\n useNavigate: () => UseNavigateResult<TRoute['fullPath']>\n }\n}\n\nexport class LazyRoute<TRoute extends AnyRoute> {\n options: {\n id: string\n } & LazyRouteOptions\n\n constructor(\n opts: {\n id: string\n } & LazyRouteOptions,\n ) {\n this.options = opts\n }\n\n useMatch: UseMatchRoute<TRoute['id']> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {\n return useMatch({\n from: this.options.id,\n select: (d: any) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TRoute['id']> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TRoute['id']> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.options.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TRoute['id']> = (opts) => {\n return useLoaderData({ ...opts, from: this.options.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TRoute['fullPath']> => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.options.id].fullPath })\n }\n}\n\nexport function createLazyRoute<\n TRouter extends AnyRouter = RegisteredRouter,\n TId extends string = string,\n TRoute extends AnyRoute = RouteById<TRouter['routeTree'], TId>,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return (opts: LazyRouteOptions) => {\n return new LazyRoute<TRoute>({\n id: id,\n ...opts,\n })\n }\n}\nexport function createLazyFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute> {\n if (typeof id === 'object') {\n return new LazyRoute<TRoute>(id) as any\n }\n\n return (opts: LazyRouteOptions) => new LazyRoute<TRoute>({ id, ...opts })\n}\n"],"names":["route","createRoute","opts","useMatch","useSearch","useParams","useLoaderDeps","useLoaderData","useRouter","useNavigate"],"mappings":";;;;;;;;;;;AAqCO,SAAS,gBAQd,MAC0E;AAC1E,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,IAAI,UAA0D,MAAM;AAAA,MACzE,QAAQ;AAAA,IAAA,CACT,EAAE,YAAY,IAAI;AAAA,EACrB;AACA,SAAO,IAAI,UAA0D,MAAM;AAAA,IACzE,QAAQ;AAAA,EAAA,CACT,EAAE;AACL;AAMO,MAAM,UAOX;AAAA,EAGA,YACS,MACP,OACA;AAFO,SAAA,OAAA;AAMT,SAAA,cAAc,CAaZ,YAgDG;AACH,UAAI,QAAQ,IAAI,aAAa,cAAc;AACzC;AAAA,UACE,KAAK;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ;AACA,YAAMA,UAAQC,MAAAA,YAAY,OAAc;AACtCD,cAAc,SAAS;AACzB,aAAOA;AAAAA,IACT;AA1EE,SAAK,SAAS,OAAO;AAAA,EACvB;AA0EF;AAOO,SAAS,gBAId,OAea;AACb,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC;AAAA,MACE;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACA,SAAO,CAAC,aAAa;AACvB;AAcO,MAAM,UAAmC;AAAA,EAK9C,YACE,MAGA;AAIF,SAAA,WAAwC,CAACE,UAAS;AAChD,aAAOC,kBAAS;AAAA,QACd,QAAQD,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,kBAAsD,CAACA,UAAS;AAC9D,aAAOC,kBAAS;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,QACnB,QAAQ,CAAC,MAAYD,OAAM,SAASA,MAAK,OAAO,EAAE,OAAO,IAAI,EAAE;AAAA,MAAA,CAChE;AAAA,IACH;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAOE,oBAAU;AAAA,QACf,QAAQF,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAOG,oBAAU;AAAA,QACf,QAAQH,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,gBAAkD,CAACA,UAAS;AAC1D,aAAOI,cAAAA,cAAc,EAAE,GAAGJ,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,gBAAkD,CAACA,UAAS;AAC1D,aAAOK,cAAAA,cAAc,EAAE,GAAGL,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,cAAc,MAA6C;AACzD,YAAM,SAASM,UAAAA,UAAA;AACf,aAAOC,YAAAA,YAAY,EAAE,MAAM,OAAO,WAAW,KAAK,QAAQ,EAAE,EAAE,UAAU;AAAA,IAC1E;AA1CE,SAAK,UAAU;AAAA,EACjB;AA0CF;AAEO,SAAS,gBAId,IAA2D;AAC3D,SAAO,CAAC,SAA2B;AACjC,WAAO,IAAI,UAAkB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;AACO,SAAS,oBAGd,IAA8D;AAC9D,MAAI,OAAO,OAAO,UAAU;AAC1B,WAAO,IAAI,UAAkB,EAAE;AAAA,EACjC;AAEA,SAAO,CAAC,SAA2B,IAAI,UAAkB,EAAE,IAAI,GAAG,MAAM;AAC1E;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"fileRoute.cjs","sources":["../../src/fileRoute.ts"],"sourcesContent":["import warning from 'tiny-warning'\nimport { createRoute } from './route'\n\nimport { useMatch } from './useMatch'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useLoaderData } from './useLoaderData'\nimport { useSearch } from './useSearch'\nimport { useParams } from './useParams'\nimport { useNavigate } from './useNavigate'\nimport { useRouter } from './useRouter'\nimport { useRouteContext } from './useRouteContext'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseSearchRoute } from './useSearch'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n Constrain,\n ConstrainLiteral,\n FileBaseRouteOptions,\n FileRoutesByPath,\n LazyRouteOptions,\n Register,\n RegisteredRouter,\n ResolveParams,\n Route,\n RouteById,\n RouteConstraints,\n RouteIds,\n RouteLoaderFn,\n UpdatableRouteOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseRouteContextRoute } from './useRouteContext'\n\nexport function createFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n>(\n path?: TFilePath,\n): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {\n if (typeof path === 'object') {\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute(path) as any\n }\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute\n}\n\n/** \n @deprecated It's no longer recommended to use the `FileRoute` class directly.\n Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.\n*/\nexport class FileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n> {\n silent?: boolean\n\n constructor(\n public path?: TFilePath,\n _opts?: { silent: boolean },\n ) {\n this.silent = _opts?.silent\n }\n\n createRoute = <\n TRegister = Register,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n TMiddlewares = unknown,\n THandlers = undefined,\n >(\n options?: FileBaseRouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n AnyContext,\n TSSR,\n TMiddlewares,\n THandlers\n > &\n UpdatableRouteOptions<\n TParentRoute,\n TId,\n TFullPath,\n TParams,\n TSearchValidator,\n TLoaderFn,\n TLoaderDeps,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TFilePath,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n TMiddlewares,\n THandlers\n > => {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.silent,\n 'FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.',\n )\n }\n const route = createRoute(options as any)\n ;(route as any).isRoot = false\n return route as any\n }\n}\n\n/** \n @deprecated It's recommended not to split loaders into separate files.\n Instead, place the loader function in the the main route file, inside the\n `createFileRoute('/path/to/file)(options)` options.\n*/\nexport function FileRouteLoader<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(\n _path: TFilePath,\n): <TLoaderFn>(\n loaderFn: Constrain<\n TLoaderFn,\n RouteLoaderFn<\n Register,\n TRoute['parentRoute'],\n TRoute['types']['id'],\n TRoute['types']['params'],\n TRoute['types']['loaderDeps'],\n TRoute['types']['routerContext'],\n TRoute['types']['routeContextFn'],\n TRoute['types']['beforeLoadFn']\n >\n >,\n) => TLoaderFn {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`,\n )\n }\n return (loaderFn) => loaderFn as any\n}\n\ndeclare module '@tanstack/router-core' {\n export interface LazyRoute<in out TRoute extends AnyRoute> {\n useMatch: UseMatchRoute<TRoute['id']>\n useRouteContext: UseRouteContextRoute<TRoute['id']>\n useSearch: UseSearchRoute<TRoute['id']>\n useParams: UseParamsRoute<TRoute['id']>\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>\n useLoaderData: UseLoaderDataRoute<TRoute['id']>\n useNavigate: () => UseNavigateResult<TRoute['fullPath']>\n }\n}\n\nexport class LazyRoute<TRoute extends AnyRoute> {\n options: {\n id: string\n } & LazyRouteOptions\n\n constructor(\n opts: {\n id: string\n } & LazyRouteOptions,\n ) {\n this.options = opts\n }\n\n useMatch: UseMatchRoute<TRoute['id']> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.options.id }) as any\n }\n\n useSearch: UseSearchRoute<TRoute['id']> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TRoute['id']> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.options.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TRoute['id']> = (opts) => {\n return useLoaderData({ ...opts, from: this.options.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TRoute['fullPath']> => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.options.id].fullPath })\n }\n}\n\nexport function createLazyRoute<\n TRouter extends AnyRouter = RegisteredRouter,\n TId extends string = string,\n TRoute extends AnyRoute = RouteById<TRouter['routeTree'], TId>,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return (opts: LazyRouteOptions) => {\n return new LazyRoute<TRoute>({\n id: id,\n ...opts,\n })\n }\n}\nexport function createLazyFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute> {\n if (typeof id === 'object') {\n return new LazyRoute<TRoute>(id) as any\n }\n\n return (opts: LazyRouteOptions) => new LazyRoute<TRoute>({ id, ...opts })\n}\n"],"names":["route","createRoute","opts","useMatch","useRouteContext","useSearch","useParams","useLoaderDeps","useLoaderData","useRouter","useNavigate"],"mappings":";;;;;;;;;;;;AAsCO,SAAS,gBAQd,MAC0E;AAC1E,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,IAAI,UAA0D,MAAM;AAAA,MACzE,QAAQ;AAAA,IAAA,CACT,EAAE,YAAY,IAAI;AAAA,EACrB;AACA,SAAO,IAAI,UAA0D,MAAM;AAAA,IACzE,QAAQ;AAAA,EAAA,CACT,EAAE;AACL;AAMO,MAAM,UAOX;AAAA,EAGA,YACS,MACP,OACA;AAFO,SAAA,OAAA;AAMT,SAAA,cAAc,CAaZ,YAgDG;AACH,UAAI,QAAQ,IAAI,aAAa,cAAc;AACzC;AAAA,UACE,KAAK;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ;AACA,YAAMA,UAAQC,MAAAA,YAAY,OAAc;AACtCD,cAAc,SAAS;AACzB,aAAOA;AAAAA,IACT;AA1EE,SAAK,SAAS,OAAO;AAAA,EACvB;AA0EF;AAOO,SAAS,gBAId,OAea;AACb,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC;AAAA,MACE;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACA,SAAO,CAAC,aAAa;AACvB;AAcO,MAAM,UAAmC;AAAA,EAK9C,YACE,MAGA;AAIF,SAAA,WAAwC,CAACE,UAAS;AAChD,aAAOC,kBAAS;AAAA,QACd,QAAQD,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,kBAAsD,CAACA,UAAS;AAC9D,aAAOE,gBAAAA,gBAAgB,EAAE,GAAIF,OAAc,MAAM,KAAK,QAAQ,IAAI;AAAA,IACpE;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAOG,oBAAU;AAAA,QACf,QAAQH,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAOI,oBAAU;AAAA,QACf,QAAQJ,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,gBAAkD,CAACA,UAAS;AAC1D,aAAOK,cAAAA,cAAc,EAAE,GAAGL,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,gBAAkD,CAACA,UAAS;AAC1D,aAAOM,cAAAA,cAAc,EAAE,GAAGN,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,cAAc,MAA6C;AACzD,YAAM,SAASO,UAAAA,UAAA;AACf,aAAOC,YAAAA,YAAY,EAAE,MAAM,OAAO,WAAW,KAAK,QAAQ,EAAE,EAAE,UAAU;AAAA,IAC1E;AAvCE,SAAK,UAAU;AAAA,EACjB;AAuCF;AAEO,SAAS,gBAId,IAA2D;AAC3D,SAAO,CAAC,SAA2B;AACjC,WAAO,IAAI,UAAkB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;AACO,SAAS,oBAGd,IAA8D;AAC9D,MAAI,OAAO,OAAO,UAAU;AAC1B,WAAO,IAAI,UAAkB,EAAE;AAAA,EACjC;AAEA,SAAO,CAAC,SAA2B,IAAI,UAAkB,EAAE,IAAI,GAAG,MAAM;AAC1E;;;;;;;"}
|
package/dist/cjs/route.cjs
CHANGED
|
@@ -9,6 +9,7 @@ const useParams = require("./useParams.cjs");
|
|
|
9
9
|
const useSearch = require("./useSearch.cjs");
|
|
10
10
|
const useNavigate = require("./useNavigate.cjs");
|
|
11
11
|
const useMatch = require("./useMatch.cjs");
|
|
12
|
+
const useRouteContext = require("./useRouteContext.cjs");
|
|
12
13
|
const useRouter = require("./useRouter.cjs");
|
|
13
14
|
function getRouteApi(id) {
|
|
14
15
|
return new RouteApi({
|
|
@@ -32,9 +33,9 @@ class RouteApi extends routerCore.BaseRouteApi {
|
|
|
32
33
|
});
|
|
33
34
|
};
|
|
34
35
|
this.useRouteContext = (opts) => {
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
return useRouteContext.useRouteContext({
|
|
37
|
+
...opts,
|
|
38
|
+
from: this.id
|
|
38
39
|
});
|
|
39
40
|
};
|
|
40
41
|
this.useSearch = (opts) => {
|
|
@@ -97,10 +98,9 @@ class Route extends routerCore.BaseRoute {
|
|
|
97
98
|
});
|
|
98
99
|
};
|
|
99
100
|
this.useRouteContext = (opts) => {
|
|
100
|
-
return
|
|
101
|
+
return useRouteContext.useRouteContext({
|
|
101
102
|
...opts,
|
|
102
|
-
from: this.id
|
|
103
|
-
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
103
|
+
from: this.id
|
|
104
104
|
});
|
|
105
105
|
};
|
|
106
106
|
this.useSearch = (opts) => {
|
|
@@ -164,10 +164,9 @@ class RootRoute extends routerCore.BaseRootRoute {
|
|
|
164
164
|
});
|
|
165
165
|
};
|
|
166
166
|
this.useRouteContext = (opts) => {
|
|
167
|
-
return
|
|
167
|
+
return useRouteContext.useRouteContext({
|
|
168
168
|
...opts,
|
|
169
|
-
from: this.id
|
|
170
|
-
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
169
|
+
from: this.id
|
|
171
170
|
});
|
|
172
171
|
};
|
|
173
172
|
this.useSearch = (opts) => {
|
package/dist/cjs/route.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.cjs","sources":["../../src/route.tsx"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n Register,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent\n errorComponent?: false | null | undefined | ErrorRouteComponent\n notFoundComponent?: NotFoundRouteComponent\n pendingComponent?: RouteComponent\n }\n\n export interface RootRouteOptionsExtensions {\n shellComponent?: ({\n children,\n }: {\n children: Solid.JSX.Element\n }) => Solid.JSX.Element\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useMatch({\n from: this.id as any,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return <Link from={fullPath as never} {...props} />\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TRegister = unknown,\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out TMiddlewares = unknown,\n in out THandlers = undefined,\n>\n extends BaseRoute<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n implements\n RouteCore<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n TMiddlewares,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props) => {\n return <Link from={this.fullPath} {...props} />\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TRegister = unknown,\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n> {\n return new Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRegister = Register,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n >(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) => {\n return createRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >(options)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TRegister = Register,\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out THandlers = undefined,\n>\n extends BaseRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n implements\n RootRouteCore<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props) => {\n return <Link from={this.fullPath} {...(props as any)} />\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport interface DefaultRouteTypes<TProps> {\n component: (props: TProps) => any\n}\nexport interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}\n\nexport type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent = AsyncRouteComponent<{}>\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']\n\nexport class NotFoundRoute<\n TRegister,\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n> extends Route<\n TRegister,\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TSSR,\n THandlers\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TRegister,\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TRegister = Register,\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n): RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n> {\n return new RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n"],"names":["getRouteApi","id","RouteApi","BaseRouteApi","constructor","useMatch","opts","select","from","useRouteContext","d","context","useSearch","useParams","useLoaderDeps","strict","useLoaderData","useNavigate","router","useRouter","routesById","fullPath","notFound","routeId","Link","props","_$createComponent","_$mergeProps","Route","BaseRoute","options","_self$","createRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","RootRoute","BaseRootRoute","_self$2","createRouteMask","NotFoundRoute"],"mappings":";;;;;;;;;;;;AAgFO,SAASA,YAGdC,IAA2D;AAC3D,SAAO,IAAIC,SAAuB;AAAA,IAAED;AAAAA,EAAAA,CAAI;AAC1C;AAEO,MAAMC,iBAGHC,WAAAA,aAA2B;AAAA;AAAA;AAAA;AAAA,EAInCC,YAAY;AAAA,IAAEH;AAAAA,EAAAA,GAAmB;AAC/B,UAAM;AAAA,MAAEA;AAAAA,IAAAA,CAAI;AAGdI,SAAAA,WAAgCC,CAAAA,SAAS;AACvC,aAAOD,kBAAS;AAAA,QACdE,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAQ,SAAAA,kBAA8CH,CAAAA,SAAS;AACrD,aAAOD,kBAAS;AAAA,QACdG,MAAM,KAAKP;AAAAA,QACXM,QAASG,OAAOJ,MAAMC,SAASD,KAAKC,OAAOG,EAAEC,OAAO,IAAID,EAAEC;AAAAA,MAAAA,CAC3D;AAAA,IACH;AAEAC,SAAAA,YAAkCN,CAAAA,SAAS;AACzC,aAAOM,oBAAU;AAAA,QACfL,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAY,SAAAA,YAAkCP,CAAAA,SAAS;AACzC,aAAOO,oBAAU;AAAA,QACfN,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAa,SAAAA,gBAA0CR,CAAAA,SAAS;AACjD,aAAOQ,4BAAc;AAAA,QAAE,GAAGR;AAAAA,QAAME,MAAM,KAAKP;AAAAA,QAAIc,QAAQ;AAAA,MAAA,CAAc;AAAA,IACvE;AAEAC,SAAAA,gBAA0CV,CAAAA,SAAS;AACjD,aAAOU,4BAAc;AAAA,QAAE,GAAGV;AAAAA,QAAME,MAAM,KAAKP;AAAAA,QAAIc,QAAQ;AAAA,MAAA,CAAc;AAAA,IACvE;AAEAE,SAAAA,cAAcA,MAET;AACH,YAAMC,SAASC,UAAAA,UAAAA;AACf,aAAOF,wBAAY;AAAA,QAAET,MAAMU,OAAOE,WAAW,KAAKnB,EAAY,EAAEoB;AAAAA,MAAAA,CAAU;AAAA,IAC5E;AAEAC,SAAAA,WAAWA,CAAChB,SAAyB;AACnC,aAAOgB,oBAAS;AAAA,QAAEC,SAAS,KAAKtB;AAAAA,QAAc,GAAGK;AAAAA,MAAAA,CAAM;AAAA,IACzD;AAEAkB,SAAAA,QACEC,CAAAA,UACG;AACH,YAAMP,SAASC,UAAAA,UAAAA;AACf,YAAME,WAAWH,OAAOE,WAAW,KAAKnB,EAAY,EAAEoB;AACtD,aAAAK,MAAAA,gBAAQF,KAAAA,MAAIG,iBAAA;AAAA,QAACnB,MAAMa;AAAAA,MAAAA,GAAuBI,KAAK,CAAA;AAAA,IACjD;AAAA,EAvDA;AAwDF;AAEO,MAAMG,cA2BHC,WAAAA,UAyCV;AAAA;AAAA;AAAA;AAAA,EAIEzB,YACE0B,SAkBA;AACA,UAAMA,OAAO;AAGfzB,SAAAA,WAAgCC,CAAAA,SAAS;AACvC,aAAOD,kBAAS;AAAA,QACdE,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAQ,SAAAA,kBAA6CA,CAACH,SAAU;AACtD,aAAOD,kBAAS;AAAA,QACd,GAAGC;AAAAA,QACHE,MAAM,KAAKP;AAAAA,QACXM,QAASG,OAAOJ,MAAMC,SAASD,KAAKC,OAAOG,EAAEC,OAAO,IAAID,EAAEC;AAAAA,MAAAA,CAC3D;AAAA,IACH;AAEAC,SAAAA,YAAkCN,CAAAA,SAAS;AACzC,aAAOM,oBAAU;AAAA,QACfL,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAY,SAAAA,YAAkCP,CAAAA,SAAS;AACzC,aAAOO,oBAAU;AAAA,QACfN,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAa,SAAAA,gBAA0CR,CAAAA,SAAS;AACjD,aAAOQ,4BAAc;AAAA,QAAE,GAAGR;AAAAA,QAAME,MAAM,KAAKP;AAAAA,MAAAA,CAAW;AAAA,IACxD;AAEAe,SAAAA,gBAA0CV,CAAAA,SAAS;AACjD,aAAOU,4BAAc;AAAA,QAAE,GAAGV;AAAAA,QAAME,MAAM,KAAKP;AAAAA,MAAAA,CAAW;AAAA,IACxD;AAEAgB,SAAAA,cAAcA,MAAoC;AAChD,aAAOA,wBAAY;AAAA,QAAET,MAAM,KAAKa;AAAAA,MAAAA,CAAU;AAAA,IAC5C;AAEAG,SAAAA,QAAwCC,CAAAA,UAAU;AAAA,YAAAM,SAAA;AAChD,aAAAL,MAAAA,gBAAQF,KAAAA,MAAIG,iBAAA;AAAA,QAAA,IAACnB,OAAI;AAAA,iBAAEuB,OAAKV;AAAAA,QAAQ;AAAA,MAAA,GAAMI,KAAK,CAAA;AAAA,IAC7C;AAAA,EA7CA;AA8CF;AAEO,SAASO,YAwBdF,SAmCA;AACA,SAAO,IAAIF,MAkBTE,OAAO;AACX;AAeO,SAASG,6BAAwD;AACtE,SAAO,CAULH,YAWG;AACH,WAAOI,gBAULJ,OAAO;AAAA,EACX;AACF;AAKO,MAAMK,uBAAuBF;AAE7B,MAAMG,kBAaHC,WAAAA,cA2BV;AAAA;AAAA;AAAA;AAAA,EAIEjC,YACE0B,SAWA;AACA,UAAMA,OAAO;AAGfzB,SAAAA,WAAwCC,CAAAA,SAAS;AAC/C,aAAOD,kBAAS;AAAA,QACdE,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAQ,SAAAA,kBAAsDH,CAAAA,SAAS;AAC7D,aAAOD,kBAAS;AAAA,QACd,GAAGC;AAAAA,QACHE,MAAM,KAAKP;AAAAA,QACXM,QAASG,OAAOJ,MAAMC,SAASD,KAAKC,OAAOG,EAAEC,OAAO,IAAID,EAAEC;AAAAA,MAAAA,CAC3D;AAAA,IACH;AAEAC,SAAAA,YAA0CN,CAAAA,SAAS;AACjD,aAAOM,oBAAU;AAAA,QACfL,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAY,SAAAA,YAA0CP,CAAAA,SAAS;AACjD,aAAOO,oBAAU;AAAA,QACfN,QAAQD,MAAMC;AAAAA,QACdC,MAAM,KAAKP;AAAAA,MAAAA,CACL;AAAA,IACV;AAEAa,SAAAA,gBAAkDR,CAAAA,SAAS;AACzD,aAAOQ,4BAAc;AAAA,QAAE,GAAGR;AAAAA,QAAME,MAAM,KAAKP;AAAAA,MAAAA,CAAW;AAAA,IACxD;AAEAe,SAAAA,gBAAkDV,CAAAA,SAAS;AACzD,aAAOU,4BAAc;AAAA,QAAE,GAAGV;AAAAA,QAAME,MAAM,KAAKP;AAAAA,MAAAA,CAAW;AAAA,IACxD;AAEAgB,SAAAA,cAAcA,MAA8B;AAC1C,aAAOA,wBAAY;AAAA,QAAET,MAAM,KAAKa;AAAAA,MAAAA,CAAU;AAAA,IAC5C;AAEAG,SAAAA,QAAkCC,CAAAA,UAAU;AAAA,YAAAa,UAAA;AAC1C,aAAAZ,MAAAA,gBAAQF,KAAAA,MAAIG,iBAAA;AAAA,QAAA,IAACnB,OAAI;AAAA,iBAAE8B,QAAKjB;AAAAA,QAAQ;AAAA,MAAA,GAAOI,KAAY,CAAA;AAAA,IACrD;AAAA,EA7CA;AA8CF;AAEO,SAASc,gBAKdjC,MAGuB;AACvB,SAAOA;AACT;AAmBO,MAAMkC,sBAYHZ,MAiBR;AAAA,EACAxB,YACE0B,SAyBA;AACA,UAAM;AAAA,MACJ,GAAIA;AAAAA,MACJ7B,IAAI;AAAA,IAAA,CACL;AAAA,EACH;AACF;AAEO,SAASiC,gBAWdJ,SAuBA;AACA,SAAO,IAAIM,UAYTN,OAAO;AACX;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"route.cjs","sources":["../../src/route.tsx"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouteContext } from './useRouteContext'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n Register,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent\n errorComponent?: false | null | undefined | ErrorRouteComponent\n notFoundComponent?: NotFoundRouteComponent\n pendingComponent?: RouteComponent\n }\n\n export interface RootRouteOptionsExtensions {\n shellComponent?: ({\n children,\n }: {\n children: Solid.JSX.Element\n }) => Solid.JSX.Element\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id as any }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return <Link from={fullPath as never} {...props} />\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TRegister = unknown,\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out TMiddlewares = unknown,\n in out THandlers = undefined,\n>\n extends BaseRoute<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n implements\n RouteCore<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n TMiddlewares,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props) => {\n return <Link from={this.fullPath} {...props} />\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TRegister = unknown,\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n> {\n return new Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRegister = Register,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n >(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) => {\n return createRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >(options)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TRegister = Register,\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out THandlers = undefined,\n>\n extends BaseRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n implements\n RootRouteCore<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props) => {\n return <Link from={this.fullPath} {...(props as any)} />\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport interface DefaultRouteTypes<TProps> {\n component: (props: TProps) => any\n}\nexport interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}\n\nexport type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent = AsyncRouteComponent<{}>\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']\n\nexport class NotFoundRoute<\n TRegister,\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n> extends Route<\n TRegister,\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TSSR,\n THandlers\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TRegister,\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TRegister = Register,\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n): RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n> {\n return new RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n"],"names":["getRouteApi","id","RouteApi","BaseRouteApi","constructor","useMatch","opts","select","from","useRouteContext","useSearch","useParams","useLoaderDeps","strict","useLoaderData","useNavigate","router","useRouter","routesById","fullPath","notFound","routeId","Link","props","_$createComponent","_$mergeProps","Route","BaseRoute","options","_self$","createRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","RootRoute","BaseRootRoute","_self$2","createRouteMask","NotFoundRoute"],"mappings":"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"}
|
package/dist/esm/Match.js
CHANGED
|
@@ -285,17 +285,6 @@ const MatchInner = (props) => {
|
|
|
285
285
|
return match().status === "error";
|
|
286
286
|
},
|
|
287
287
|
children: (_) => {
|
|
288
|
-
if (isServer ?? router.isServer) {
|
|
289
|
-
const RouteErrorComponent = (route().options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent;
|
|
290
|
-
return createComponent(RouteErrorComponent, {
|
|
291
|
-
get error() {
|
|
292
|
-
return match().error;
|
|
293
|
-
},
|
|
294
|
-
info: {
|
|
295
|
-
componentStack: ""
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
288
|
throw match().error;
|
|
300
289
|
}
|
|
301
290
|
}), createComponent(Solid.Match, {
|
package/dist/esm/Match.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Match.js","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n // Return null to avoid errors - the component will handle this gracefully\n if (!match) {\n return null\n }\n\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n // If match doesn't exist yet, return null (component is being unmounted or not ready)\n if (!matchState()) return null\n\n const route: () => AnyRoute = () => router.routesById[matchState()!.routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr =\n matchState()!.ssr === false || matchState()!.ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <matchContext.Provider value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch\n (isServer ?? router.isServer) || resolvedNoSsr ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(false, `Error in route match: ${matchState()!.routeId}`)\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState()!.routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={<Dynamic component={resolvePendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </matchContext.Provider>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </ShellComponent>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n if (!match) {\n return null\n }\n\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: match.id,\n status: match.status,\n error: match.error,\n _forcePending: match._forcePending,\n _displayPending: match._displayPending,\n },\n }\n },\n })\n\n if (!matchState()) return null\n\n const route = () => router.routesById[matchState()!.routeId]!\n\n const match = () => matchState()!.match\n\n const componentKey = () => matchState()!.key ?? matchState()!.match.id\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const keyedOut = () => (\n <Solid.Show when={componentKey()} keyed>\n {(_key) => out()}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(match().id)?._nonReactive.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?._nonReactive.minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ?? router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(match().id)\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise<void>()\n\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n\n setTimeout(() => {\n minPendingPromise.resolve()\n // We've handled the minPendingPromise, so we can delete it\n routerMatch._nonReactive.minPendingPromise = undefined\n }, pendingMinMs)\n }\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n const FallbackComponent =\n route().options.pendingComponent ??\n router.options.defaultPendingComponent\n\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={matchState()!.routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), match().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n invariant(isRedirect(match().error), 'Expected a redirect error')\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent =\n (route().options.errorComponent ??\n router.options.defaultErrorComponent) ||\n ErrorComponent\n\n return (\n <RouteErrorComponent\n error={match().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw match().error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n\n // During navigation transitions, parent match can be temporarily removed\n // Return false to avoid errors - the component will handle this gracefully\n if (!parentMatch) {\n return false\n }\n\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n const childMatchStatus = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.status\n },\n })\n\n // Only show not-found if we're not in a redirected state\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n return (\n <Solid.Show\n when={!shouldShowNotFound() && childMatchId()}\n fallback={\n <Solid.Show when={shouldShowNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Show>\n }\n >\n {(matchIdAccessor) => {\n // Use a memo to avoid stale accessor errors while keeping reactivity\n const currentMatchId = Solid.createMemo(() => matchIdAccessor())\n\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={currentMatchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={currentMatchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","routeId","ssr","_displayPending","route","routesById","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Solid","Suspense","ResolvedCatchBoundary","CatchBoundary","SafeFragment","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","_$memo","isServer","undefined","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","MatchInner","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","keyedOut","keyed","_key","_","displayPendingResult","createResource","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","invariant","_routeId","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","childMatchStatus","shouldShowNotFound","matchIdAccessor","currentMatchId","createMemo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Match.js","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n // Return null to avoid errors - the component will handle this gracefully\n if (!match) {\n return null\n }\n\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n // If match doesn't exist yet, return null (component is being unmounted or not ready)\n if (!matchState()) return null\n\n const route: () => AnyRoute = () => router.routesById[matchState()!.routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr =\n matchState()!.ssr === false || matchState()!.ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <matchContext.Provider value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch\n (isServer ?? router.isServer) || resolvedNoSsr ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(false, `Error in route match: ${matchState()!.routeId}`)\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState()!.routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={<Dynamic component={resolvePendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </matchContext.Provider>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </ShellComponent>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n if (!match) {\n return null\n }\n\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: match.id,\n status: match.status,\n error: match.error,\n _forcePending: match._forcePending,\n _displayPending: match._displayPending,\n },\n }\n },\n })\n\n if (!matchState()) return null\n\n const route = () => router.routesById[matchState()!.routeId]!\n\n const match = () => matchState()!.match\n\n const componentKey = () => matchState()!.key ?? matchState()!.match.id\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const keyedOut = () => (\n <Solid.Show when={componentKey()} keyed>\n {(_key) => out()}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(match().id)?._nonReactive.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?._nonReactive.minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ?? router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(match().id)\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise<void>()\n\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n\n setTimeout(() => {\n minPendingPromise.resolve()\n // We've handled the minPendingPromise, so we can delete it\n routerMatch._nonReactive.minPendingPromise = undefined\n }, pendingMinMs)\n }\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n const FallbackComponent =\n route().options.pendingComponent ??\n router.options.defaultPendingComponent\n\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={matchState()!.routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), match().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n invariant(isRedirect(match().error), 'Expected a redirect error')\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?._nonReactive.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n throw match().error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n\n // During navigation transitions, parent match can be temporarily removed\n // Return false to avoid errors - the component will handle this gracefully\n if (!parentMatch) {\n return false\n }\n\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n const childMatchStatus = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.status\n },\n })\n\n // Only show not-found if we're not in a redirected state\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n return (\n <Solid.Show\n when={!shouldShowNotFound() && childMatchId()}\n fallback={\n <Solid.Show when={shouldShowNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Show>\n }\n >\n {(matchIdAccessor) => {\n // Use a memo to avoid stale accessor errors while keeping reactivity\n const currentMatchId = Solid.createMemo(() => matchIdAccessor())\n\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={currentMatchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={currentMatchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","routeId","ssr","_displayPending","route","routesById","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Solid","Suspense","ResolvedCatchBoundary","CatchBoundary","SafeFragment","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","_$memo","isServer","undefined","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","MatchInner","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","keyedOut","keyed","_key","_","displayPendingResult","createResource","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","invariant","_routeId","renderRouteNotFound","isRedirect","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","childMatchStatus","shouldShowNotFound","matchIdAccessor","currentMatchId","createMemo"],"mappings":"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"}
|
package/dist/esm/fileRoute.js
CHANGED
|
@@ -7,6 +7,7 @@ import { useSearch } from "./useSearch.js";
|
|
|
7
7
|
import { useParams } from "./useParams.js";
|
|
8
8
|
import { useNavigate } from "./useNavigate.js";
|
|
9
9
|
import { useRouter } from "./useRouter.js";
|
|
10
|
+
import { useRouteContext } from "./useRouteContext.js";
|
|
10
11
|
function createFileRoute(path) {
|
|
11
12
|
if (typeof path === "object") {
|
|
12
13
|
return new FileRoute(path, {
|
|
@@ -52,10 +53,7 @@ class LazyRoute {
|
|
|
52
53
|
});
|
|
53
54
|
};
|
|
54
55
|
this.useRouteContext = (opts2) => {
|
|
55
|
-
return
|
|
56
|
-
from: this.options.id,
|
|
57
|
-
select: (d) => opts2?.select ? opts2.select(d.context) : d.context
|
|
58
|
-
});
|
|
56
|
+
return useRouteContext({ ...opts2, from: this.options.id });
|
|
59
57
|
};
|
|
60
58
|
this.useSearch = (opts2) => {
|
|
61
59
|
return useSearch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileRoute.js","sources":["../../src/fileRoute.ts"],"sourcesContent":["import warning from 'tiny-warning'\nimport { createRoute } from './route'\n\nimport { useMatch } from './useMatch'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useLoaderData } from './useLoaderData'\nimport { useSearch } from './useSearch'\nimport { useParams } from './useParams'\nimport { useNavigate } from './useNavigate'\nimport { useRouter } from './useRouter'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseSearchRoute } from './useSearch'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n Constrain,\n ConstrainLiteral,\n FileBaseRouteOptions,\n FileRoutesByPath,\n LazyRouteOptions,\n Register,\n RegisteredRouter,\n ResolveParams,\n Route,\n RouteById,\n RouteConstraints,\n RouteIds,\n RouteLoaderFn,\n UpdatableRouteOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseRouteContextRoute } from './useRouteContext'\n\nexport function createFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n>(\n path?: TFilePath,\n): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {\n if (typeof path === 'object') {\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute(path) as any\n }\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute\n}\n\n/** \n @deprecated It's no longer recommended to use the `FileRoute` class directly.\n Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.\n*/\nexport class FileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n> {\n silent?: boolean\n\n constructor(\n public path?: TFilePath,\n _opts?: { silent: boolean },\n ) {\n this.silent = _opts?.silent\n }\n\n createRoute = <\n TRegister = Register,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n TMiddlewares = unknown,\n THandlers = undefined,\n >(\n options?: FileBaseRouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n AnyContext,\n TSSR,\n TMiddlewares,\n THandlers\n > &\n UpdatableRouteOptions<\n TParentRoute,\n TId,\n TFullPath,\n TParams,\n TSearchValidator,\n TLoaderFn,\n TLoaderDeps,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TFilePath,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n TMiddlewares,\n THandlers\n > => {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.silent,\n 'FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.',\n )\n }\n const route = createRoute(options as any)\n ;(route as any).isRoot = false\n return route as any\n }\n}\n\n/** \n @deprecated It's recommended not to split loaders into separate files.\n Instead, place the loader function in the the main route file, inside the\n `createFileRoute('/path/to/file)(options)` options.\n*/\nexport function FileRouteLoader<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(\n _path: TFilePath,\n): <TLoaderFn>(\n loaderFn: Constrain<\n TLoaderFn,\n RouteLoaderFn<\n Register,\n TRoute['parentRoute'],\n TRoute['types']['id'],\n TRoute['types']['params'],\n TRoute['types']['loaderDeps'],\n TRoute['types']['routerContext'],\n TRoute['types']['routeContextFn'],\n TRoute['types']['beforeLoadFn']\n >\n >,\n) => TLoaderFn {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`,\n )\n }\n return (loaderFn) => loaderFn as any\n}\n\ndeclare module '@tanstack/router-core' {\n export interface LazyRoute<in out TRoute extends AnyRoute> {\n useMatch: UseMatchRoute<TRoute['id']>\n useRouteContext: UseRouteContextRoute<TRoute['id']>\n useSearch: UseSearchRoute<TRoute['id']>\n useParams: UseParamsRoute<TRoute['id']>\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>\n useLoaderData: UseLoaderDataRoute<TRoute['id']>\n useNavigate: () => UseNavigateResult<TRoute['fullPath']>\n }\n}\n\nexport class LazyRoute<TRoute extends AnyRoute> {\n options: {\n id: string\n } & LazyRouteOptions\n\n constructor(\n opts: {\n id: string\n } & LazyRouteOptions,\n ) {\n this.options = opts\n }\n\n useMatch: UseMatchRoute<TRoute['id']> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {\n return
|
|
1
|
+
{"version":3,"file":"fileRoute.js","sources":["../../src/fileRoute.ts"],"sourcesContent":["import warning from 'tiny-warning'\nimport { createRoute } from './route'\n\nimport { useMatch } from './useMatch'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useLoaderData } from './useLoaderData'\nimport { useSearch } from './useSearch'\nimport { useParams } from './useParams'\nimport { useNavigate } from './useNavigate'\nimport { useRouter } from './useRouter'\nimport { useRouteContext } from './useRouteContext'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseSearchRoute } from './useSearch'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n Constrain,\n ConstrainLiteral,\n FileBaseRouteOptions,\n FileRoutesByPath,\n LazyRouteOptions,\n Register,\n RegisteredRouter,\n ResolveParams,\n Route,\n RouteById,\n RouteConstraints,\n RouteIds,\n RouteLoaderFn,\n UpdatableRouteOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseRouteContextRoute } from './useRouteContext'\n\nexport function createFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n>(\n path?: TFilePath,\n): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {\n if (typeof path === 'object') {\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute(path) as any\n }\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute\n}\n\n/** \n @deprecated It's no longer recommended to use the `FileRoute` class directly.\n Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.\n*/\nexport class FileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends RouteConstraints['TFullPath'] =\n FileRoutesByPath[TFilePath]['fullPath'],\n> {\n silent?: boolean\n\n constructor(\n public path?: TFilePath,\n _opts?: { silent: boolean },\n ) {\n this.silent = _opts?.silent\n }\n\n createRoute = <\n TRegister = Register,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n TMiddlewares = unknown,\n THandlers = undefined,\n >(\n options?: FileBaseRouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n AnyContext,\n TSSR,\n TMiddlewares,\n THandlers\n > &\n UpdatableRouteOptions<\n TParentRoute,\n TId,\n TFullPath,\n TParams,\n TSearchValidator,\n TLoaderFn,\n TLoaderDeps,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TFilePath,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n TMiddlewares,\n THandlers\n > => {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.silent,\n 'FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.',\n )\n }\n const route = createRoute(options as any)\n ;(route as any).isRoot = false\n return route as any\n }\n}\n\n/** \n @deprecated It's recommended not to split loaders into separate files.\n Instead, place the loader function in the the main route file, inside the\n `createFileRoute('/path/to/file)(options)` options.\n*/\nexport function FileRouteLoader<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(\n _path: TFilePath,\n): <TLoaderFn>(\n loaderFn: Constrain<\n TLoaderFn,\n RouteLoaderFn<\n Register,\n TRoute['parentRoute'],\n TRoute['types']['id'],\n TRoute['types']['params'],\n TRoute['types']['loaderDeps'],\n TRoute['types']['routerContext'],\n TRoute['types']['routeContextFn'],\n TRoute['types']['beforeLoadFn']\n >\n >,\n) => TLoaderFn {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`,\n )\n }\n return (loaderFn) => loaderFn as any\n}\n\ndeclare module '@tanstack/router-core' {\n export interface LazyRoute<in out TRoute extends AnyRoute> {\n useMatch: UseMatchRoute<TRoute['id']>\n useRouteContext: UseRouteContextRoute<TRoute['id']>\n useSearch: UseSearchRoute<TRoute['id']>\n useParams: UseParamsRoute<TRoute['id']>\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>\n useLoaderData: UseLoaderDataRoute<TRoute['id']>\n useNavigate: () => UseNavigateResult<TRoute['fullPath']>\n }\n}\n\nexport class LazyRoute<TRoute extends AnyRoute> {\n options: {\n id: string\n } & LazyRouteOptions\n\n constructor(\n opts: {\n id: string\n } & LazyRouteOptions,\n ) {\n this.options = opts\n }\n\n useMatch: UseMatchRoute<TRoute['id']> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.options.id }) as any\n }\n\n useSearch: UseSearchRoute<TRoute['id']> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TRoute['id']> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.options.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TRoute['id']> = (opts) => {\n return useLoaderData({ ...opts, from: this.options.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TRoute['fullPath']> => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.options.id].fullPath })\n }\n}\n\nexport function createLazyRoute<\n TRouter extends AnyRouter = RegisteredRouter,\n TId extends string = string,\n TRoute extends AnyRoute = RouteById<TRouter['routeTree'], TId>,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return (opts: LazyRouteOptions) => {\n return new LazyRoute<TRoute>({\n id: id,\n ...opts,\n })\n }\n}\nexport function createLazyFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute> {\n if (typeof id === 'object') {\n return new LazyRoute<TRoute>(id) as any\n }\n\n return (opts: LazyRouteOptions) => new LazyRoute<TRoute>({ id, ...opts })\n}\n"],"names":["opts"],"mappings":";;;;;;;;;;AAsCO,SAAS,gBAQd,MAC0E;AAC1E,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,IAAI,UAA0D,MAAM;AAAA,MACzE,QAAQ;AAAA,IAAA,CACT,EAAE,YAAY,IAAI;AAAA,EACrB;AACA,SAAO,IAAI,UAA0D,MAAM;AAAA,IACzE,QAAQ;AAAA,EAAA,CACT,EAAE;AACL;AAMO,MAAM,UAOX;AAAA,EAGA,YACS,MACP,OACA;AAFO,SAAA,OAAA;AAMT,SAAA,cAAc,CAaZ,YAgDG;AACH,UAAI,QAAQ,IAAI,aAAa,cAAc;AACzC;AAAA,UACE,KAAK;AAAA,UACL;AAAA,QAAA;AAAA,MAEJ;AACA,YAAM,QAAQ,YAAY,OAAc;AACtC,YAAc,SAAS;AACzB,aAAO;AAAA,IACT;AA1EE,SAAK,SAAS,OAAO;AAAA,EACvB;AA0EF;AAOO,SAAS,gBAId,OAea;AACb,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC;AAAA,MACE;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACA,SAAO,CAAC,aAAa;AACvB;AAcO,MAAM,UAAmC;AAAA,EAK9C,YACE,MAGA;AAIF,SAAA,WAAwC,CAACA,UAAS;AAChD,aAAO,SAAS;AAAA,QACd,QAAQA,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,kBAAsD,CAACA,UAAS;AAC9D,aAAO,gBAAgB,EAAE,GAAIA,OAAc,MAAM,KAAK,QAAQ,IAAI;AAAA,IACpE;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAO,UAAU;AAAA,QACf,QAAQA,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAO,UAAU;AAAA,QACf,QAAQA,OAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,gBAAkD,CAACA,UAAS;AAC1D,aAAO,cAAc,EAAE,GAAGA,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,gBAAkD,CAACA,UAAS;AAC1D,aAAO,cAAc,EAAE,GAAGA,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,cAAc,MAA6C;AACzD,YAAM,SAAS,UAAA;AACf,aAAO,YAAY,EAAE,MAAM,OAAO,WAAW,KAAK,QAAQ,EAAE,EAAE,UAAU;AAAA,IAC1E;AAvCE,SAAK,UAAU;AAAA,EACjB;AAuCF;AAEO,SAAS,gBAId,IAA2D;AAC3D,SAAO,CAAC,SAA2B;AACjC,WAAO,IAAI,UAAkB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;AACO,SAAS,oBAGd,IAA8D;AAC9D,MAAI,OAAO,OAAO,UAAU;AAC1B,WAAO,IAAI,UAAkB,EAAE;AAAA,EACjC;AAEA,SAAO,CAAC,SAA2B,IAAI,UAAkB,EAAE,IAAI,GAAG,MAAM;AAC1E;"}
|
package/dist/esm/route.js
CHANGED
|
@@ -7,6 +7,7 @@ import { useParams } from "./useParams.js";
|
|
|
7
7
|
import { useSearch } from "./useSearch.js";
|
|
8
8
|
import { useNavigate } from "./useNavigate.js";
|
|
9
9
|
import { useMatch } from "./useMatch.js";
|
|
10
|
+
import { useRouteContext } from "./useRouteContext.js";
|
|
10
11
|
import { useRouter } from "./useRouter.js";
|
|
11
12
|
function getRouteApi(id) {
|
|
12
13
|
return new RouteApi({
|
|
@@ -30,9 +31,9 @@ class RouteApi extends BaseRouteApi {
|
|
|
30
31
|
});
|
|
31
32
|
};
|
|
32
33
|
this.useRouteContext = (opts) => {
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
return useRouteContext({
|
|
35
|
+
...opts,
|
|
36
|
+
from: this.id
|
|
36
37
|
});
|
|
37
38
|
};
|
|
38
39
|
this.useSearch = (opts) => {
|
|
@@ -95,10 +96,9 @@ class Route extends BaseRoute {
|
|
|
95
96
|
});
|
|
96
97
|
};
|
|
97
98
|
this.useRouteContext = (opts) => {
|
|
98
|
-
return
|
|
99
|
+
return useRouteContext({
|
|
99
100
|
...opts,
|
|
100
|
-
from: this.id
|
|
101
|
-
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
101
|
+
from: this.id
|
|
102
102
|
});
|
|
103
103
|
};
|
|
104
104
|
this.useSearch = (opts) => {
|
|
@@ -162,10 +162,9 @@ class RootRoute extends BaseRootRoute {
|
|
|
162
162
|
});
|
|
163
163
|
};
|
|
164
164
|
this.useRouteContext = (opts) => {
|
|
165
|
-
return
|
|
165
|
+
return useRouteContext({
|
|
166
166
|
...opts,
|
|
167
|
-
from: this.id
|
|
168
|
-
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
167
|
+
from: this.id
|
|
169
168
|
});
|
|
170
169
|
};
|
|
171
170
|
this.useSearch = (opts) => {
|
package/dist/esm/route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sources":["../../src/route.tsx"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n Register,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent\n errorComponent?: false | null | undefined | ErrorRouteComponent\n notFoundComponent?: NotFoundRouteComponent\n pendingComponent?: RouteComponent\n }\n\n export interface RootRouteOptionsExtensions {\n shellComponent?: ({\n children,\n }: {\n children: Solid.JSX.Element\n }) => Solid.JSX.Element\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useMatch({\n from: this.id as any,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return <Link from={fullPath as never} {...props} />\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TRegister = unknown,\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out TMiddlewares = unknown,\n in out THandlers = undefined,\n>\n extends BaseRoute<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n implements\n RouteCore<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n TMiddlewares,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props) => {\n return <Link from={this.fullPath} {...props} />\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TRegister = unknown,\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n> {\n return new Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRegister = Register,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n >(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) => {\n return createRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >(options)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TRegister = Register,\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out THandlers = undefined,\n>\n extends BaseRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n implements\n RootRouteCore<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props) => {\n return <Link from={this.fullPath} {...(props as any)} />\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport interface DefaultRouteTypes<TProps> {\n component: (props: TProps) => any\n}\nexport interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}\n\nexport type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent = AsyncRouteComponent<{}>\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']\n\nexport class NotFoundRoute<\n TRegister,\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n> extends Route<\n TRegister,\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TSSR,\n THandlers\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TRegister,\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TRegister = Register,\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n): RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n> {\n return new RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n"],"names":["getRouteApi","id","RouteApi","BaseRouteApi","constructor","useMatch","opts","select","from","useRouteContext","d","context","useSearch","useParams","useLoaderDeps","strict","useLoaderData","useNavigate","router","useRouter","routesById","fullPath","notFound","routeId","Link","props","_$createComponent","_$mergeProps","Route","BaseRoute","options","_self$","createRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","RootRoute","BaseRootRoute","_self$2","createRouteMask","NotFoundRoute"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route.js","sources":["../../src/route.tsx"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouteContext } from './useRouteContext'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n Register,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent\n errorComponent?: false | null | undefined | ErrorRouteComponent\n notFoundComponent?: NotFoundRouteComponent\n pendingComponent?: RouteComponent\n }\n\n export interface RootRouteOptionsExtensions {\n shellComponent?: ({\n children,\n }: {\n children: Solid.JSX.Element\n }) => Solid.JSX.Element\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id as any }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return <Link from={fullPath as never} {...props} />\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TRegister = unknown,\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out TMiddlewares = unknown,\n in out THandlers = undefined,\n>\n extends BaseRoute<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n implements\n RouteCore<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n TMiddlewares,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props) => {\n return <Link from={this.fullPath} {...props} />\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TRegister = unknown,\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n> {\n return new Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRegister = Register,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n >(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) => {\n return createRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >(options)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TRegister = Register,\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out THandlers = undefined,\n>\n extends BaseRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n implements\n RootRouteCore<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props) => {\n return <Link from={this.fullPath} {...(props as any)} />\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport interface DefaultRouteTypes<TProps> {\n component: (props: TProps) => any\n}\nexport interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}\n\nexport type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent = AsyncRouteComponent<{}>\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']\n\nexport class NotFoundRoute<\n TRegister,\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n> extends Route<\n TRegister,\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TSSR,\n THandlers\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TRegister,\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TRegister = Register,\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n): RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n> {\n return new RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n"],"names":["getRouteApi","id","RouteApi","BaseRouteApi","constructor","useMatch","opts","select","from","useRouteContext","useSearch","useParams","useLoaderDeps","strict","useLoaderData","useNavigate","router","useRouter","routesById","fullPath","notFound","routeId","Link","props","_$createComponent","_$mergeProps","Route","BaseRoute","options","_self$","createRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","RootRoute","BaseRootRoute","_self$2","createRouteMask","NotFoundRoute"],"mappings":"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"}
|
package/dist/source/Match.jsx
CHANGED
|
@@ -232,14 +232,6 @@ export const MatchInner = (props) => {
|
|
|
232
232
|
</Solid.Match>
|
|
233
233
|
<Solid.Match when={match().status === 'error'}>
|
|
234
234
|
{(_) => {
|
|
235
|
-
if (isServer ?? router.isServer) {
|
|
236
|
-
const RouteErrorComponent = (route().options.errorComponent ??
|
|
237
|
-
router.options.defaultErrorComponent) ||
|
|
238
|
-
ErrorComponent;
|
|
239
|
-
return (<RouteErrorComponent error={match().error} info={{
|
|
240
|
-
componentStack: '',
|
|
241
|
-
}}/>);
|
|
242
|
-
}
|
|
243
235
|
throw match().error;
|
|
244
236
|
}}
|
|
245
237
|
</Solid.Match>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
|
package/dist/source/fileRoute.js
CHANGED
|
@@ -7,6 +7,7 @@ import { useSearch } from './useSearch';
|
|
|
7
7
|
import { useParams } from './useParams';
|
|
8
8
|
import { useNavigate } from './useNavigate';
|
|
9
9
|
import { useRouter } from './useRouter';
|
|
10
|
+
import { useRouteContext } from './useRouteContext';
|
|
10
11
|
export function createFileRoute(path) {
|
|
11
12
|
if (typeof path === 'object') {
|
|
12
13
|
return new FileRoute(path, {
|
|
@@ -55,10 +56,7 @@ export class LazyRoute {
|
|
|
55
56
|
});
|
|
56
57
|
};
|
|
57
58
|
this.useRouteContext = (opts) => {
|
|
58
|
-
return
|
|
59
|
-
from: this.options.id,
|
|
60
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
61
|
-
});
|
|
59
|
+
return useRouteContext({ ...opts, from: this.options.id });
|
|
62
60
|
};
|
|
63
61
|
this.useSearch = (opts) => {
|
|
64
62
|
return useSearch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileRoute.js","sourceRoot":"","sources":["../../src/fileRoute.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fileRoute.js","sourceRoot":"","sources":["../../src/fileRoute.ts"],"names":[],"mappings":"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"}
|
package/dist/source/route.jsx
CHANGED
|
@@ -6,6 +6,7 @@ import { useParams } from './useParams';
|
|
|
6
6
|
import { useSearch } from './useSearch';
|
|
7
7
|
import { useNavigate } from './useNavigate';
|
|
8
8
|
import { useMatch } from './useMatch';
|
|
9
|
+
import { useRouteContext } from './useRouteContext';
|
|
9
10
|
import { useRouter } from './useRouter';
|
|
10
11
|
export function getRouteApi(id) {
|
|
11
12
|
return new RouteApi({ id });
|
|
@@ -23,10 +24,7 @@ export class RouteApi extends BaseRouteApi {
|
|
|
23
24
|
});
|
|
24
25
|
};
|
|
25
26
|
this.useRouteContext = (opts) => {
|
|
26
|
-
return
|
|
27
|
-
from: this.id,
|
|
28
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
29
|
-
});
|
|
27
|
+
return useRouteContext({ ...opts, from: this.id });
|
|
30
28
|
};
|
|
31
29
|
this.useSearch = (opts) => {
|
|
32
30
|
return useSearch({
|
|
@@ -73,11 +71,7 @@ export class Route extends BaseRoute {
|
|
|
73
71
|
});
|
|
74
72
|
};
|
|
75
73
|
this.useRouteContext = (opts) => {
|
|
76
|
-
return
|
|
77
|
-
...opts,
|
|
78
|
-
from: this.id,
|
|
79
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
80
|
-
});
|
|
74
|
+
return useRouteContext({ ...opts, from: this.id });
|
|
81
75
|
};
|
|
82
76
|
this.useSearch = (opts) => {
|
|
83
77
|
return useSearch({
|
|
@@ -130,11 +124,7 @@ export class RootRoute extends BaseRootRoute {
|
|
|
130
124
|
});
|
|
131
125
|
};
|
|
132
126
|
this.useRouteContext = (opts) => {
|
|
133
|
-
return
|
|
134
|
-
...opts,
|
|
135
|
-
from: this.id,
|
|
136
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
137
|
-
});
|
|
127
|
+
return useRouteContext({ ...opts, from: this.id });
|
|
138
128
|
};
|
|
139
129
|
this.useSearch = (opts) => {
|
|
140
130
|
return useSearch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.jsx","sourceRoot":"","sources":["../../src/route.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAmEvC,MAAM,UAAU,WAAW,CAGzB,EAAyD;IACzD,OAAO,IAAI,QAAQ,CAAe,EAAE,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,OAAO,QAGX,SAAQ,YAA0B;IAClC;;OAEG;IACH,YAAY,EAAE,EAAE,EAAe;QAC7B,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAGf,aAAQ,GAAuB,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO,QAAQ,CAAC;gBACd,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,IAAI,EAAE,IAAI,CAAC,EAAE;aACP,CAAQ,CAAA;QAClB,CAAC,CAAA;QAED,oBAAe,GAA8B,CAAC,IAAI,EAAE,EAAE;YACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"route.jsx","sourceRoot":"","sources":["../../src/route.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/solid-router",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.166.4",
|
|
4
4
|
"description": "Modern and scalable routing for Solid applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"tiny-invariant": "^1.3.3",
|
|
93
93
|
"tiny-warning": "^1.0.3",
|
|
94
94
|
"@tanstack/history": "1.161.4",
|
|
95
|
-
"@tanstack/router-core": "1.
|
|
95
|
+
"@tanstack/router-core": "1.166.4"
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
98
|
"@solidjs/testing-library": "^0.8.10",
|
package/src/Match.tsx
CHANGED
|
@@ -333,22 +333,6 @@ export const MatchInner = (props: { matchId: string }): any => {
|
|
|
333
333
|
</Solid.Match>
|
|
334
334
|
<Solid.Match when={match().status === 'error'}>
|
|
335
335
|
{(_) => {
|
|
336
|
-
if (isServer ?? router.isServer) {
|
|
337
|
-
const RouteErrorComponent =
|
|
338
|
-
(route().options.errorComponent ??
|
|
339
|
-
router.options.defaultErrorComponent) ||
|
|
340
|
-
ErrorComponent
|
|
341
|
-
|
|
342
|
-
return (
|
|
343
|
-
<RouteErrorComponent
|
|
344
|
-
error={match().error}
|
|
345
|
-
info={{
|
|
346
|
-
componentStack: '',
|
|
347
|
-
}}
|
|
348
|
-
/>
|
|
349
|
-
)
|
|
350
|
-
}
|
|
351
|
-
|
|
352
336
|
throw match().error
|
|
353
337
|
}}
|
|
354
338
|
</Solid.Match>
|
package/src/fileRoute.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { useSearch } from './useSearch'
|
|
|
8
8
|
import { useParams } from './useParams'
|
|
9
9
|
import { useNavigate } from './useNavigate'
|
|
10
10
|
import { useRouter } from './useRouter'
|
|
11
|
+
import { useRouteContext } from './useRouteContext'
|
|
11
12
|
import type { UseParamsRoute } from './useParams'
|
|
12
13
|
import type { UseMatchRoute } from './useMatch'
|
|
13
14
|
import type { UseSearchRoute } from './useSearch'
|
|
@@ -217,10 +218,7 @@ export class LazyRoute<TRoute extends AnyRoute> {
|
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {
|
|
220
|
-
return
|
|
221
|
-
from: this.options.id,
|
|
222
|
-
select: (d: any) => (opts?.select ? opts.select(d.context) : d.context),
|
|
223
|
-
}) as any
|
|
221
|
+
return useRouteContext({ ...(opts as any), from: this.options.id }) as any
|
|
224
222
|
}
|
|
225
223
|
|
|
226
224
|
useSearch: UseSearchRoute<TRoute['id']> = (opts) => {
|
package/src/route.tsx
CHANGED
|
@@ -11,6 +11,7 @@ import { useParams } from './useParams'
|
|
|
11
11
|
import { useSearch } from './useSearch'
|
|
12
12
|
import { useNavigate } from './useNavigate'
|
|
13
13
|
import { useMatch } from './useMatch'
|
|
14
|
+
import { useRouteContext } from './useRouteContext'
|
|
14
15
|
import { useRouter } from './useRouter'
|
|
15
16
|
import type {
|
|
16
17
|
AnyContext,
|
|
@@ -104,10 +105,7 @@ export class RouteApi<
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
useRouteContext: UseRouteContextRoute<TId> = (opts) => {
|
|
107
|
-
return
|
|
108
|
-
from: this.id as any,
|
|
109
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
110
|
-
}) as any
|
|
108
|
+
return useRouteContext({ ...(opts as any), from: this.id as any }) as any
|
|
111
109
|
}
|
|
112
110
|
|
|
113
111
|
useSearch: UseSearchRoute<TId> = (opts) => {
|
|
@@ -255,11 +253,7 @@ export class Route<
|
|
|
255
253
|
}
|
|
256
254
|
|
|
257
255
|
useRouteContext: UseRouteContextRoute<TId> = (opts?) => {
|
|
258
|
-
return
|
|
259
|
-
...opts,
|
|
260
|
-
from: this.id,
|
|
261
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
262
|
-
}) as any
|
|
256
|
+
return useRouteContext({ ...(opts as any), from: this.id }) as any
|
|
263
257
|
}
|
|
264
258
|
|
|
265
259
|
useSearch: UseSearchRoute<TId> = (opts) => {
|
|
@@ -497,11 +491,7 @@ export class RootRoute<
|
|
|
497
491
|
}
|
|
498
492
|
|
|
499
493
|
useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {
|
|
500
|
-
return
|
|
501
|
-
...opts,
|
|
502
|
-
from: this.id,
|
|
503
|
-
select: (d) => (opts?.select ? opts.select(d.context) : d.context),
|
|
504
|
-
}) as any
|
|
494
|
+
return useRouteContext({ ...(opts as any), from: this.id }) as any
|
|
505
495
|
}
|
|
506
496
|
|
|
507
497
|
useSearch: UseSearchRoute<RootRouteId> = (opts) => {
|