@tanstack/solid-router 1.168.10 → 1.168.11

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.
@@ -186,6 +186,9 @@ var MatchInner = () => {
186
186
  if (Comp) return (0, solid_js_web.createComponent)(Comp, {});
187
187
  return (0, solid_js_web.createComponent)(Outlet, {});
188
188
  };
189
+ const getLoadPromise = (matchId, fallbackMatch) => {
190
+ return router.getMatch(matchId)?._nonReactive.loadPromise ?? fallbackMatch?._nonReactive.loadPromise;
191
+ };
189
192
  const keyedOut = () => (0, solid_js_web.createComponent)(solid_js.Show, {
190
193
  get when() {
191
194
  return componentKey();
@@ -263,13 +266,15 @@ var MatchInner = () => {
263
266
  return currentMatch().status === "redirected";
264
267
  },
265
268
  children: (_) => {
269
+ const matchId = currentMatch().id;
270
+ const routerMatch = router.getMatch(matchId);
266
271
  if (!(0, _tanstack_router_core.isRedirect)(currentMatch().error)) {
267
272
  if (process.env.NODE_ENV !== "production") throw new Error("Invariant failed: Expected a redirect error");
268
273
  (0, _tanstack_router_core.invariant)();
269
274
  }
270
275
  const [loaderResult] = solid_js.createResource(async () => {
271
276
  await new Promise((r) => setTimeout(r, 0));
272
- return router.getMatch(currentMatch().id)?._nonReactive.loadPromise;
277
+ return getLoadPromise(matchId, routerMatch);
273
278
  });
274
279
  return (0, solid_js_web.memo)(loaderResult);
275
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Match.cjs","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","activeMatchStoresById","get","state","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","location","resolvedLocation","__TSR_key","createEffect","on","emit","type","useContext","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","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","resolvedRoute","childMatchIdAccessor","currentMatchId"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\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 { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } 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\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.state[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 currentMatchState().ssr === false ||\n currentMatchState().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 ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\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={() => router.stores.loadedAt.state}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.state?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.state,\n router.stores.resolvedLocation.state,\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n 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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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(currentMatch().id)?._nonReactive\n .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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().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={currentMatch().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.state[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state.status\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() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(childMatchIdAccessor) => {\n const currentMatchId = Solid.createMemo(() => childMatchIdAccessor())\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"],"mappings":"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"}
1
+ {"version":3,"file":"Match.cjs","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","activeMatchStoresById","get","state","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","location","resolvedLocation","__TSR_key","createEffect","on","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","createResource","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","resolvedRoute","childMatchIdAccessor","currentMatchId"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\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 { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } 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\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.state[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 currentMatchState().ssr === false ||\n currentMatchState().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 ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\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={() => router.stores.loadedAt.state}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.state?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.state,\n router.stores.resolvedLocation.state,\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const getLoadPromise = (\n matchId: string,\n fallbackMatch:\n | {\n _nonReactive: {\n loadPromise?: Promise<void>\n }\n }\n | undefined,\n ) => {\n return (\n router.getMatch(matchId)?._nonReactive.loadPromise ??\n fallbackMatch?._nonReactive.loadPromise\n )\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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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(currentMatch().id)?._nonReactive\n .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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n const matchId = currentMatch().id\n const routerMatch = router.getMatch(matchId)\n\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return getLoadPromise(matchId, routerMatch)\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().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={currentMatch().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.state[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state.status\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() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(childMatchIdAccessor) => {\n const currentMatchId = Solid.createMemo(() => childMatchIdAccessor())\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"],"mappings":"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"}
package/dist/esm/Match.js CHANGED
@@ -184,6 +184,9 @@ var MatchInner = () => {
184
184
  if (Comp) return createComponent(Comp, {});
185
185
  return createComponent(Outlet, {});
186
186
  };
187
+ const getLoadPromise = (matchId, fallbackMatch) => {
188
+ return router.getMatch(matchId)?._nonReactive.loadPromise ?? fallbackMatch?._nonReactive.loadPromise;
189
+ };
187
190
  const keyedOut = () => createComponent(Solid.Show, {
188
191
  get when() {
189
192
  return componentKey();
@@ -261,13 +264,15 @@ var MatchInner = () => {
261
264
  return currentMatch().status === "redirected";
262
265
  },
263
266
  children: (_) => {
267
+ const matchId = currentMatch().id;
268
+ const routerMatch = router.getMatch(matchId);
264
269
  if (!isRedirect(currentMatch().error)) {
265
270
  if (process.env.NODE_ENV !== "production") throw new Error("Invariant failed: Expected a redirect error");
266
271
  invariant();
267
272
  }
268
273
  const [loaderResult] = Solid.createResource(async () => {
269
274
  await new Promise((r) => setTimeout(r, 0));
270
- return router.getMatch(currentMatch().id)?._nonReactive.loadPromise;
275
+ return getLoadPromise(matchId, routerMatch);
271
276
  });
272
277
  return memo(loaderResult);
273
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Match.js","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","activeMatchStoresById","get","state","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","location","resolvedLocation","__TSR_key","createEffect","on","emit","type","useContext","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","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","resolvedRoute","childMatchIdAccessor","currentMatchId"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\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 { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } 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\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.state[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 currentMatchState().ssr === false ||\n currentMatchState().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 ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\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={() => router.stores.loadedAt.state}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.state?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.state,\n router.stores.resolvedLocation.state,\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n 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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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(currentMatch().id)?._nonReactive\n .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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().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={currentMatch().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.state[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state.status\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() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(childMatchIdAccessor) => {\n const currentMatchId = Solid.createMemo(() => childMatchIdAccessor())\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"],"mappings":"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"}
1
+ {"version":3,"file":"Match.js","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","activeMatchStoresById","get","state","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","location","resolvedLocation","__TSR_key","createEffect","on","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","createResource","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","resolvedRoute","childMatchIdAccessor","currentMatchId"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\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 { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } 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\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.state[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 currentMatchState().ssr === false ||\n currentMatchState().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 ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\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={() => router.stores.loadedAt.state}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.state?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.state,\n router.stores.resolvedLocation.state,\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const getLoadPromise = (\n matchId: string,\n fallbackMatch:\n | {\n _nonReactive: {\n loadPromise?: Promise<void>\n }\n }\n | undefined,\n ) => {\n return (\n router.getMatch(matchId)?._nonReactive.loadPromise ??\n fallbackMatch?._nonReactive.loadPromise\n )\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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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(currentMatch().id)?._nonReactive\n .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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n const matchId = currentMatch().id\n const routerMatch = router.getMatch(matchId)\n\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return getLoadPromise(matchId, routerMatch)\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().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={currentMatch().error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.state[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.activeMatchStoresById.get(id)?.state.status\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() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(childMatchIdAccessor) => {\n const currentMatchId = Solid.createMemo(() => childMatchIdAccessor())\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"],"mappings":"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"}
@@ -179,6 +179,10 @@ export const MatchInner = () => {
179
179
  }
180
180
  return <Outlet />;
181
181
  };
182
+ const getLoadPromise = (matchId, fallbackMatch) => {
183
+ return (router.getMatch(matchId)?._nonReactive.loadPromise ??
184
+ fallbackMatch?._nonReactive.loadPromise);
185
+ };
182
186
  const keyedOut = () => (<Solid.Show when={componentKey()} keyed>
183
187
  {(_key) => out()}
184
188
  </Solid.Show>);
@@ -247,6 +251,8 @@ export const MatchInner = () => {
247
251
  </Solid.Match>
248
252
  <Solid.Match when={currentMatch().status === 'redirected'}>
249
253
  {(_) => {
254
+ const matchId = currentMatch().id;
255
+ const routerMatch = router.getMatch(matchId);
250
256
  if (!isRedirect(currentMatch().error)) {
251
257
  if (process.env.NODE_ENV !== 'production') {
252
258
  throw new Error('Invariant failed: Expected a redirect error');
@@ -255,8 +261,7 @@ export const MatchInner = () => {
255
261
  }
256
262
  const [loaderResult] = Solid.createResource(async () => {
257
263
  await new Promise((r) => setTimeout(r, 0));
258
- return router.getMatch(currentMatch().id)?._nonReactive
259
- .loadPromise;
264
+ return getLoadPromise(matchId, routerMatch);
260
265
  });
261
266
  return <>{loaderResult()}</>;
262
267
  }}
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-router",
3
- "version": "1.168.10",
3
+ "version": "1.168.11",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
package/src/Match.tsx CHANGED
@@ -273,6 +273,22 @@ export const MatchInner = (): any => {
273
273
  return <Outlet />
274
274
  }
275
275
 
276
+ const getLoadPromise = (
277
+ matchId: string,
278
+ fallbackMatch:
279
+ | {
280
+ _nonReactive: {
281
+ loadPromise?: Promise<void>
282
+ }
283
+ }
284
+ | undefined,
285
+ ) => {
286
+ return (
287
+ router.getMatch(matchId)?._nonReactive.loadPromise ??
288
+ fallbackMatch?._nonReactive.loadPromise
289
+ )
290
+ }
291
+
276
292
  const keyedOut = () => (
277
293
  <Solid.Show when={componentKey()} keyed>
278
294
  {(_key) => out()}
@@ -375,6 +391,9 @@ export const MatchInner = (): any => {
375
391
  </Solid.Match>
376
392
  <Solid.Match when={currentMatch().status === 'redirected'}>
377
393
  {(_) => {
394
+ const matchId = currentMatch().id
395
+ const routerMatch = router.getMatch(matchId)
396
+
378
397
  if (!isRedirect(currentMatch().error)) {
379
398
  if (process.env.NODE_ENV !== 'production') {
380
399
  throw new Error(
@@ -387,8 +406,7 @@ export const MatchInner = (): any => {
387
406
 
388
407
  const [loaderResult] = Solid.createResource(async () => {
389
408
  await new Promise((r) => setTimeout(r, 0))
390
- return router.getMatch(currentMatch().id)?._nonReactive
391
- .loadPromise
409
+ return getLoadPromise(matchId, routerMatch)
392
410
  })
393
411
 
394
412
  return <>{loaderResult()}</>