@tanstack/solid-router 1.131.2 → 1.131.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.
@@ -36,7 +36,11 @@ const Match = (props) => {
36
36
  select: (s) => {
37
37
  const match = s.matches.find((d) => d.id === props.matchId);
38
38
  invariant(match, `Could not find match for matchId "${props.matchId}". Please file an issue!`);
39
- return routerCore.pick(match, ["routeId", "ssr", "_displayPending"]);
39
+ return {
40
+ routeId: match.routeId,
41
+ ssr: match.ssr,
42
+ _displayPending: match._displayPending
43
+ };
40
44
  }
41
45
  });
42
46
  const route = () => router.routesById[matchState().routeId];
@@ -198,7 +202,13 @@ const MatchInner = (props) => {
198
202
  return {
199
203
  key,
200
204
  routeId,
201
- match: routerCore.pick(match2, ["id", "status", "error", "_forcePending", "_displayPending"])
205
+ match: {
206
+ id: match2.id,
207
+ status: match2.status,
208
+ error: match2.error,
209
+ _forcePending: match2._forcePending,
210
+ _displayPending: match2._displayPending
211
+ }
202
212
  };
203
213
  }
204
214
  });
@@ -228,7 +238,7 @@ const MatchInner = (props) => {
228
238
  children: (_) => {
229
239
  const [displayPendingResult] = Solid__namespace.createResource(() => {
230
240
  var _a;
231
- return (_a = router.getMatch(match().id)) == null ? void 0 : _a.displayPendingPromise;
241
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.displayPendingPromise;
232
242
  });
233
243
  return Solid.memo(displayPendingResult);
234
244
  }
@@ -239,7 +249,7 @@ const MatchInner = (props) => {
239
249
  children: (_) => {
240
250
  const [minPendingResult] = Solid__namespace.createResource(() => {
241
251
  var _a;
242
- return (_a = router.getMatch(match().id)) == null ? void 0 : _a.minPendingPromise;
252
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.minPendingPromise;
243
253
  });
244
254
  return Solid.memo(minPendingResult);
245
255
  }
@@ -248,30 +258,26 @@ const MatchInner = (props) => {
248
258
  return match().status === "pending";
249
259
  },
250
260
  children: (_) => {
251
- var _a;
252
261
  const pendingMinMs = route().options.pendingMinMs ?? router.options.defaultPendingMinMs;
253
- if (pendingMinMs && !((_a = router.getMatch(match().id)) == null ? void 0 : _a.minPendingPromise)) {
254
- if (!router.isServer) {
255
- const minPendingPromise = routerCore.createControlledPromise();
256
- Promise.resolve().then(() => {
257
- router.updateMatch(match().id, (prev) => ({
258
- ...prev,
259
- minPendingPromise
260
- }));
261
- });
262
- setTimeout(() => {
263
- minPendingPromise.resolve();
264
- router.updateMatch(match().id, (prev) => ({
265
- ...prev,
266
- minPendingPromise: void 0
267
- }));
268
- }, pendingMinMs);
262
+ if (pendingMinMs) {
263
+ const routerMatch = router.getMatch(match().id);
264
+ if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
265
+ if (!router.isServer) {
266
+ const minPendingPromise = routerCore.createControlledPromise();
267
+ Promise.resolve().then(() => {
268
+ routerMatch._nonReactive.minPendingPromise = minPendingPromise;
269
+ });
270
+ setTimeout(() => {
271
+ minPendingPromise.resolve();
272
+ routerMatch._nonReactive.minPendingPromise = void 0;
273
+ }, pendingMinMs);
274
+ }
269
275
  }
270
276
  }
271
277
  const [loaderResult] = Solid__namespace.createResource(async () => {
272
- var _a2;
278
+ var _a;
273
279
  await new Promise((r) => setTimeout(r, 0));
274
- return (_a2 = router.getMatch(match().id)) == null ? void 0 : _a2.loadPromise;
280
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.loadPromise;
275
281
  });
276
282
  return Solid.memo(loaderResult);
277
283
  }
@@ -292,7 +298,7 @@ const MatchInner = (props) => {
292
298
  const [loaderResult] = Solid__namespace.createResource(async () => {
293
299
  var _a;
294
300
  await new Promise((r) => setTimeout(r, 0));
295
- return (_a = router.getMatch(match().id)) == null ? void 0 : _a.loadPromise;
301
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.loadPromise;
296
302
  });
297
303
  return Solid.memo(loaderResult);
298
304
  }
@@ -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 pick,\n rootRouteId,\n} from '@tanstack/router-core'\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 invariant(\n match,\n `Could not find match for matchId \"${props.matchId}\". Please file an issue!`,\n )\n return pick(match, ['routeId', 'ssr', '_displayPending'])\n },\n })\n\n const route: () => AnyRoute = () => router.routesById[matchState().routeId]\n\n const PendingComponent = () =>\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 = () =>\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route().isRoot ||\n route().options.wrapInSuspense ||\n resolvedNoSsr ||\n matchState()._displayPending) &&\n (route().options.wrapInSuspense ??\n PendingComponent() ??\n ((route().options.errorComponent as any)?.preload || resolvedNoSsr))\n ? Solid.Suspense\n : SafeFragment\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={<Dynamic component={PendingComponent()} />}\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: ${props.matchId}`)\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={!router.isServer}\n fallback={<Dynamic component={PendingComponent()} />}\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 matchIndex = s.matches.findIndex((d) => d.id === props.matchId)\n const match = s.matches[matchIndex]!\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: pick(match, [\n 'id',\n 'status',\n 'error',\n '_forcePending',\n '_displayPending',\n ]),\n }\n },\n })\n\n const route = () => router.routesById[matchState().routeId]!\n\n const match = () => matchState().match\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return (\n <Solid.Show when={matchState().match.id} keyed>\n <Comp />\n </Solid.Show>\n )\n }\n return <Outlet />\n }\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?.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)?.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 && !router.getMatch(match().id)?.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise<void>()\n\n Promise.resolve().then(() => {\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise,\n }))\n })\n\n setTimeout(() => {\n minPendingPromise.resolve()\n\n // We've handled the minPendingPromise, so we can delete it\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise: undefined,\n }))\n }, pendingMinMs)\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n return renderRouteNotFound(router, route(), match().error)\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)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (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'}>{out()}</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 invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId()}\"`,\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 return (\n <Solid.Switch>\n <Solid.Match when={parentGlobalNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Match>\n <Solid.Match when={childMatchId()}>\n {(matchId) => {\n // const nextMatch = <Match matchId={matchId()} />\n\n return (\n <Solid.Show\n when={matchId() === rootRouteId}\n fallback={<Match matchId={matchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={matchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","invariant","pick","route","routesById","routeId","PendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ssr","ResolvedSuspenseBoundary","wrapInSuspense","_displayPending","preload","Solid","Suspense","SafeFragment","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","isServer","MatchInner","_$memo","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","matchIndex","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","undefined","out","Comp","defaultComponent","keyed","Outlet","_","displayPendingResult","createResource","getMatch","displayPendingPromise","_forcePending","minPendingResult","minPendingPromise","status","pendingMinMs","defaultPendingMinMs","createControlledPromise","resolve","then","updateMatch","prev","setTimeout","loaderResult","Promise","r","loadPromise","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v"],"mappings":"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"}
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 { 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 invariant(\n match,\n `Could not find match for matchId \"${props.matchId}\". Please file an issue!`,\n )\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n const route: () => AnyRoute = () => router.routesById[matchState().routeId]\n\n const PendingComponent = () =>\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 = () =>\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route().isRoot ||\n route().options.wrapInSuspense ||\n resolvedNoSsr ||\n matchState()._displayPending) &&\n (route().options.wrapInSuspense ??\n PendingComponent() ??\n ((route().options.errorComponent as any)?.preload || resolvedNoSsr))\n ? Solid.Suspense\n : SafeFragment\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={<Dynamic component={PendingComponent()} />}\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: ${props.matchId}`)\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={!router.isServer}\n fallback={<Dynamic component={PendingComponent()} />}\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 matchIndex = s.matches.findIndex((d) => d.id === props.matchId)\n const match = s.matches[matchIndex]!\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 const route = () => router.routesById[matchState().routeId]!\n\n const match = () => matchState().match\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return (\n <Solid.Show when={matchState().match.id} keyed>\n <Comp />\n </Solid.Show>\n )\n }\n return <Outlet />\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 (!router.isServer) {\n const minPendingPromise = createControlledPromise<void>()\n\n Promise.resolve().then(() => {\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n })\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 return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n return renderRouteNotFound(router, route(), match().error)\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 (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'}>{out()}</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 invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId()}\"`,\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 return (\n <Solid.Switch>\n <Solid.Match when={parentGlobalNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Match>\n <Solid.Match when={childMatchId()}>\n {(matchId) => {\n // const nextMatch = <Match matchId={matchId()} />\n\n return (\n <Solid.Show\n when={matchId() === rootRouteId}\n fallback={<Match matchId={matchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={matchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","invariant","routeId","ssr","_displayPending","route","routesById","PendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","wrapInSuspense","preload","Solid","Suspense","SafeFragment","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","isServer","MatchInner","_$memo","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","matchIndex","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","undefined","status","_forcePending","out","Comp","defaultComponent","keyed","Outlet","_","displayPendingResult","createResource","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","resolve","then","setTimeout","loaderResult","Promise","r","loadPromise","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v"],"mappings":"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"}
package/dist/esm/Match.js CHANGED
@@ -2,7 +2,7 @@ import { createComponent, memo, Dynamic, mergeProps } from "solid-js/web";
2
2
  import * as Solid from "solid-js";
3
3
  import invariant from "tiny-invariant";
4
4
  import warning from "tiny-warning";
5
- import { isNotFound, rootRouteId, pick, createControlledPromise, isRedirect, getLocationChangeInfo } from "@tanstack/router-core";
5
+ import { isNotFound, rootRouteId, createControlledPromise, isRedirect, getLocationChangeInfo } from "@tanstack/router-core";
6
6
  import { ErrorComponent, CatchBoundary } from "./CatchBoundary.js";
7
7
  import { useRouterState } from "./useRouterState.js";
8
8
  import { useRouter } from "./useRouter.js";
@@ -17,7 +17,11 @@ const Match = (props) => {
17
17
  select: (s) => {
18
18
  const match = s.matches.find((d) => d.id === props.matchId);
19
19
  invariant(match, `Could not find match for matchId "${props.matchId}". Please file an issue!`);
20
- return pick(match, ["routeId", "ssr", "_displayPending"]);
20
+ return {
21
+ routeId: match.routeId,
22
+ ssr: match.ssr,
23
+ _displayPending: match._displayPending
24
+ };
21
25
  }
22
26
  });
23
27
  const route = () => router.routesById[matchState().routeId];
@@ -179,7 +183,13 @@ const MatchInner = (props) => {
179
183
  return {
180
184
  key,
181
185
  routeId,
182
- match: pick(match2, ["id", "status", "error", "_forcePending", "_displayPending"])
186
+ match: {
187
+ id: match2.id,
188
+ status: match2.status,
189
+ error: match2.error,
190
+ _forcePending: match2._forcePending,
191
+ _displayPending: match2._displayPending
192
+ }
183
193
  };
184
194
  }
185
195
  });
@@ -209,7 +219,7 @@ const MatchInner = (props) => {
209
219
  children: (_) => {
210
220
  const [displayPendingResult] = Solid.createResource(() => {
211
221
  var _a;
212
- return (_a = router.getMatch(match().id)) == null ? void 0 : _a.displayPendingPromise;
222
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.displayPendingPromise;
213
223
  });
214
224
  return memo(displayPendingResult);
215
225
  }
@@ -220,7 +230,7 @@ const MatchInner = (props) => {
220
230
  children: (_) => {
221
231
  const [minPendingResult] = Solid.createResource(() => {
222
232
  var _a;
223
- return (_a = router.getMatch(match().id)) == null ? void 0 : _a.minPendingPromise;
233
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.minPendingPromise;
224
234
  });
225
235
  return memo(minPendingResult);
226
236
  }
@@ -229,30 +239,26 @@ const MatchInner = (props) => {
229
239
  return match().status === "pending";
230
240
  },
231
241
  children: (_) => {
232
- var _a;
233
242
  const pendingMinMs = route().options.pendingMinMs ?? router.options.defaultPendingMinMs;
234
- if (pendingMinMs && !((_a = router.getMatch(match().id)) == null ? void 0 : _a.minPendingPromise)) {
235
- if (!router.isServer) {
236
- const minPendingPromise = createControlledPromise();
237
- Promise.resolve().then(() => {
238
- router.updateMatch(match().id, (prev) => ({
239
- ...prev,
240
- minPendingPromise
241
- }));
242
- });
243
- setTimeout(() => {
244
- minPendingPromise.resolve();
245
- router.updateMatch(match().id, (prev) => ({
246
- ...prev,
247
- minPendingPromise: void 0
248
- }));
249
- }, pendingMinMs);
243
+ if (pendingMinMs) {
244
+ const routerMatch = router.getMatch(match().id);
245
+ if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
246
+ if (!router.isServer) {
247
+ const minPendingPromise = createControlledPromise();
248
+ Promise.resolve().then(() => {
249
+ routerMatch._nonReactive.minPendingPromise = minPendingPromise;
250
+ });
251
+ setTimeout(() => {
252
+ minPendingPromise.resolve();
253
+ routerMatch._nonReactive.minPendingPromise = void 0;
254
+ }, pendingMinMs);
255
+ }
250
256
  }
251
257
  }
252
258
  const [loaderResult] = Solid.createResource(async () => {
253
- var _a2;
259
+ var _a;
254
260
  await new Promise((r) => setTimeout(r, 0));
255
- return (_a2 = router.getMatch(match().id)) == null ? void 0 : _a2.loadPromise;
261
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.loadPromise;
256
262
  });
257
263
  return memo(loaderResult);
258
264
  }
@@ -273,7 +279,7 @@ const MatchInner = (props) => {
273
279
  const [loaderResult] = Solid.createResource(async () => {
274
280
  var _a;
275
281
  await new Promise((r) => setTimeout(r, 0));
276
- return (_a = router.getMatch(match().id)) == null ? void 0 : _a.loadPromise;
282
+ return (_a = router.getMatch(match().id)) == null ? void 0 : _a._nonReactive.loadPromise;
277
283
  });
278
284
  return memo(loaderResult);
279
285
  }
@@ -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 pick,\n rootRouteId,\n} from '@tanstack/router-core'\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 invariant(\n match,\n `Could not find match for matchId \"${props.matchId}\". Please file an issue!`,\n )\n return pick(match, ['routeId', 'ssr', '_displayPending'])\n },\n })\n\n const route: () => AnyRoute = () => router.routesById[matchState().routeId]\n\n const PendingComponent = () =>\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 = () =>\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route().isRoot ||\n route().options.wrapInSuspense ||\n resolvedNoSsr ||\n matchState()._displayPending) &&\n (route().options.wrapInSuspense ??\n PendingComponent() ??\n ((route().options.errorComponent as any)?.preload || resolvedNoSsr))\n ? Solid.Suspense\n : SafeFragment\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={<Dynamic component={PendingComponent()} />}\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: ${props.matchId}`)\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={!router.isServer}\n fallback={<Dynamic component={PendingComponent()} />}\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 matchIndex = s.matches.findIndex((d) => d.id === props.matchId)\n const match = s.matches[matchIndex]!\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: pick(match, [\n 'id',\n 'status',\n 'error',\n '_forcePending',\n '_displayPending',\n ]),\n }\n },\n })\n\n const route = () => router.routesById[matchState().routeId]!\n\n const match = () => matchState().match\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return (\n <Solid.Show when={matchState().match.id} keyed>\n <Comp />\n </Solid.Show>\n )\n }\n return <Outlet />\n }\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () => router.getMatch(match().id)?.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)?.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 && !router.getMatch(match().id)?.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise<void>()\n\n Promise.resolve().then(() => {\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise,\n }))\n })\n\n setTimeout(() => {\n minPendingPromise.resolve()\n\n // We've handled the minPendingPromise, so we can delete it\n router.updateMatch(match().id, (prev) => ({\n ...prev,\n minPendingPromise: undefined,\n }))\n }, pendingMinMs)\n }\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(match().id)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n return renderRouteNotFound(router, route(), match().error)\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)?.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (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'}>{out()}</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 invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId()}\"`,\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 return (\n <Solid.Switch>\n <Solid.Match when={parentGlobalNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Match>\n <Solid.Match when={childMatchId()}>\n {(matchId) => {\n // const nextMatch = <Match matchId={matchId()} />\n\n return (\n <Solid.Show\n when={matchId() === rootRouteId}\n fallback={<Match matchId={matchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={matchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","invariant","pick","route","routesById","routeId","PendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ssr","ResolvedSuspenseBoundary","wrapInSuspense","_displayPending","preload","Solid","Suspense","SafeFragment","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","isServer","MatchInner","_$memo","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","matchIndex","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","undefined","out","Comp","defaultComponent","keyed","Outlet","_","displayPendingResult","createResource","getMatch","displayPendingPromise","_forcePending","minPendingResult","minPendingPromise","status","pendingMinMs","defaultPendingMinMs","createControlledPromise","resolve","then","updateMatch","prev","setTimeout","loaderResult","Promise","r","loadPromise","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v"],"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 { 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 invariant(\n match,\n `Could not find match for matchId \"${props.matchId}\". Please file an issue!`,\n )\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n const route: () => AnyRoute = () => router.routesById[matchState().routeId]\n\n const PendingComponent = () =>\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 = () =>\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route().isRoot ||\n route().options.wrapInSuspense ||\n resolvedNoSsr ||\n matchState()._displayPending) &&\n (route().options.wrapInSuspense ??\n PendingComponent() ??\n ((route().options.errorComponent as any)?.preload || resolvedNoSsr))\n ? Solid.Suspense\n : SafeFragment\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={<Dynamic component={PendingComponent()} />}\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: ${props.matchId}`)\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={!router.isServer}\n fallback={<Dynamic component={PendingComponent()} />}\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 matchIndex = s.matches.findIndex((d) => d.id === props.matchId)\n const match = s.matches[matchIndex]!\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 const route = () => router.routesById[matchState().routeId]!\n\n const match = () => matchState().match\n\n const out = () => {\n const Comp = route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return (\n <Solid.Show when={matchState().match.id} keyed>\n <Comp />\n </Solid.Show>\n )\n }\n return <Outlet />\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 (!router.isServer) {\n const minPendingPromise = createControlledPromise<void>()\n\n Promise.resolve().then(() => {\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n })\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 return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n invariant(isNotFound(match().error), 'Expected a notFound error')\n\n return renderRouteNotFound(router, route(), match().error)\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 (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'}>{out()}</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 invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId()}\"`,\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 return (\n <Solid.Switch>\n <Solid.Match when={parentGlobalNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Match>\n <Solid.Match when={childMatchId()}>\n {(matchId) => {\n // const nextMatch = <Match matchId={matchId()} />\n\n return (\n <Solid.Show\n when={matchId() === rootRouteId}\n fallback={<Match matchId={matchId()} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={matchId()} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n"],"names":["Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","invariant","routeId","ssr","_displayPending","route","routesById","PendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","wrapInSuspense","preload","Solid","Suspense","SafeFragment","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","children","matchContext","Provider","value","Dynamic","fallback","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","isServer","MatchInner","_$memo","rootRouteId","OnRendered","ScrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","getLocationChangeInfo","matchIndex","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","undefined","status","_forcePending","out","Comp","defaultComponent","keyed","Outlet","_","displayPendingResult","createResource","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","resolve","then","setTimeout","loaderResult","Promise","r","loadPromise","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as Solid from 'solid-js';
2
2
  import invariant from 'tiny-invariant';
3
3
  import warning from 'tiny-warning';
4
- import { createControlledPromise, getLocationChangeInfo, isNotFound, isRedirect, pick, rootRouteId, } from '@tanstack/router-core';
4
+ import { createControlledPromise, getLocationChangeInfo, isNotFound, isRedirect, rootRouteId, } from '@tanstack/router-core';
5
5
  import { Dynamic } from 'solid-js/web';
6
6
  import { CatchBoundary, ErrorComponent } from './CatchBoundary';
7
7
  import { useRouterState } from './useRouterState';
@@ -17,7 +17,11 @@ export const Match = (props) => {
17
17
  select: (s) => {
18
18
  const match = s.matches.find((d) => d.id === props.matchId);
19
19
  invariant(match, `Could not find match for matchId "${props.matchId}". Please file an issue!`);
20
- return pick(match, ['routeId', 'ssr', '_displayPending']);
20
+ return {
21
+ routeId: match.routeId,
22
+ ssr: match.ssr,
23
+ _displayPending: match._displayPending,
24
+ };
21
25
  },
22
26
  });
23
27
  const route = () => router.routesById[matchState().routeId];
@@ -136,13 +140,13 @@ export const MatchInner = (props) => {
136
140
  return {
137
141
  key,
138
142
  routeId,
139
- match: pick(match, [
140
- 'id',
141
- 'status',
142
- 'error',
143
- '_forcePending',
144
- '_displayPending',
145
- ]),
143
+ match: {
144
+ id: match.id,
145
+ status: match.status,
146
+ error: match.error,
147
+ _forcePending: match._forcePending,
148
+ _displayPending: match._displayPending,
149
+ },
146
150
  };
147
151
  },
148
152
  });
@@ -160,42 +164,39 @@ export const MatchInner = (props) => {
160
164
  return (<Solid.Switch>
161
165
  <Solid.Match when={match()._displayPending}>
162
166
  {(_) => {
163
- const [displayPendingResult] = Solid.createResource(() => router.getMatch(match().id)?.displayPendingPromise);
167
+ const [displayPendingResult] = Solid.createResource(() => router.getMatch(match().id)?._nonReactive.displayPendingPromise);
164
168
  return <>{displayPendingResult()}</>;
165
169
  }}
166
170
  </Solid.Match>
167
171
  <Solid.Match when={match()._forcePending}>
168
172
  {(_) => {
169
- const [minPendingResult] = Solid.createResource(() => router.getMatch(match().id)?.minPendingPromise);
173
+ const [minPendingResult] = Solid.createResource(() => router.getMatch(match().id)?._nonReactive.minPendingPromise);
170
174
  return <>{minPendingResult()}</>;
171
175
  }}
172
176
  </Solid.Match>
173
177
  <Solid.Match when={match().status === 'pending'}>
174
178
  {(_) => {
175
179
  const pendingMinMs = route().options.pendingMinMs ?? router.options.defaultPendingMinMs;
176
- if (pendingMinMs && !router.getMatch(match().id)?.minPendingPromise) {
177
- // Create a promise that will resolve after the minPendingMs
178
- if (!router.isServer) {
179
- const minPendingPromise = createControlledPromise();
180
- Promise.resolve().then(() => {
181
- router.updateMatch(match().id, (prev) => ({
182
- ...prev,
183
- minPendingPromise,
184
- }));
185
- });
186
- setTimeout(() => {
187
- minPendingPromise.resolve();
188
- // We've handled the minPendingPromise, so we can delete it
189
- router.updateMatch(match().id, (prev) => ({
190
- ...prev,
191
- minPendingPromise: undefined,
192
- }));
193
- }, pendingMinMs);
180
+ if (pendingMinMs) {
181
+ const routerMatch = router.getMatch(match().id);
182
+ if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
183
+ // Create a promise that will resolve after the minPendingMs
184
+ if (!router.isServer) {
185
+ const minPendingPromise = createControlledPromise();
186
+ Promise.resolve().then(() => {
187
+ routerMatch._nonReactive.minPendingPromise = minPendingPromise;
188
+ });
189
+ setTimeout(() => {
190
+ minPendingPromise.resolve();
191
+ // We've handled the minPendingPromise, so we can delete it
192
+ routerMatch._nonReactive.minPendingPromise = undefined;
193
+ }, pendingMinMs);
194
+ }
194
195
  }
195
196
  }
196
197
  const [loaderResult] = Solid.createResource(async () => {
197
198
  await new Promise((r) => setTimeout(r, 0));
198
- return router.getMatch(match().id)?.loadPromise;
199
+ return router.getMatch(match().id)?._nonReactive.loadPromise;
199
200
  });
200
201
  return <>{loaderResult()}</>;
201
202
  }}
@@ -211,7 +212,7 @@ export const MatchInner = (props) => {
211
212
  invariant(isRedirect(match().error), 'Expected a redirect error');
212
213
  const [loaderResult] = Solid.createResource(async () => {
213
214
  await new Promise((r) => setTimeout(r, 0));
214
- return router.getMatch(match().id)?.loadPromise;
215
+ return router.getMatch(match().id)?._nonReactive.loadPromise;
215
216
  });
216
217
  return <>{loaderResult()}</>;
217
218
  }}
@@ -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.131.2",
3
+ "version": "1.131.4",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -88,8 +88,8 @@
88
88
  "isbot": "^5.1.22",
89
89
  "tiny-invariant": "^1.3.3",
90
90
  "tiny-warning": "^1.0.3",
91
- "@tanstack/router-core": "1.131.2",
92
- "@tanstack/history": "1.131.2"
91
+ "@tanstack/history": "1.131.2",
92
+ "@tanstack/router-core": "1.131.4"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@solidjs/testing-library": "^0.8.10",
package/src/Match.tsx CHANGED
@@ -6,7 +6,6 @@ import {
6
6
  getLocationChangeInfo,
7
7
  isNotFound,
8
8
  isRedirect,
9
- pick,
10
9
  rootRouteId,
11
10
  } from '@tanstack/router-core'
12
11
  import { Dynamic } from 'solid-js/web'
@@ -30,7 +29,11 @@ export const Match = (props: { matchId: string }) => {
30
29
  match,
31
30
  `Could not find match for matchId "${props.matchId}". Please file an issue!`,
32
31
  )
33
- return pick(match, ['routeId', 'ssr', '_displayPending'])
32
+ return {
33
+ routeId: match.routeId,
34
+ ssr: match.ssr,
35
+ _displayPending: match._displayPending,
36
+ }
34
37
  },
35
38
  })
36
39
 
@@ -200,13 +203,13 @@ export const MatchInner = (props: { matchId: string }): any => {
200
203
  return {
201
204
  key,
202
205
  routeId,
203
- match: pick(match, [
204
- 'id',
205
- 'status',
206
- 'error',
207
- '_forcePending',
208
- '_displayPending',
209
- ]),
206
+ match: {
207
+ id: match.id,
208
+ status: match.status,
209
+ error: match.error,
210
+ _forcePending: match._forcePending,
211
+ _displayPending: match._displayPending,
212
+ },
210
213
  }
211
214
  },
212
215
  })
@@ -232,7 +235,8 @@ export const MatchInner = (props: { matchId: string }): any => {
232
235
  <Solid.Match when={match()._displayPending}>
233
236
  {(_) => {
234
237
  const [displayPendingResult] = Solid.createResource(
235
- () => router.getMatch(match().id)?.displayPendingPromise,
238
+ () =>
239
+ router.getMatch(match().id)?._nonReactive.displayPendingPromise,
236
240
  )
237
241
 
238
242
  return <>{displayPendingResult()}</>
@@ -241,7 +245,7 @@ export const MatchInner = (props: { matchId: string }): any => {
241
245
  <Solid.Match when={match()._forcePending}>
242
246
  {(_) => {
243
247
  const [minPendingResult] = Solid.createResource(
244
- () => router.getMatch(match().id)?.minPendingPromise,
248
+ () => router.getMatch(match().id)?._nonReactive.minPendingPromise,
245
249
  )
246
250
 
247
251
  return <>{minPendingResult()}</>
@@ -252,33 +256,29 @@ export const MatchInner = (props: { matchId: string }): any => {
252
256
  const pendingMinMs =
253
257
  route().options.pendingMinMs ?? router.options.defaultPendingMinMs
254
258
 
255
- if (pendingMinMs && !router.getMatch(match().id)?.minPendingPromise) {
256
- // Create a promise that will resolve after the minPendingMs
257
- if (!router.isServer) {
258
- const minPendingPromise = createControlledPromise<void>()
259
-
260
- Promise.resolve().then(() => {
261
- router.updateMatch(match().id, (prev) => ({
262
- ...prev,
263
- minPendingPromise,
264
- }))
265
- })
266
-
267
- setTimeout(() => {
268
- minPendingPromise.resolve()
269
-
270
- // We've handled the minPendingPromise, so we can delete it
271
- router.updateMatch(match().id, (prev) => ({
272
- ...prev,
273
- minPendingPromise: undefined,
274
- }))
275
- }, pendingMinMs)
259
+ if (pendingMinMs) {
260
+ const routerMatch = router.getMatch(match().id)
261
+ if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
262
+ // Create a promise that will resolve after the minPendingMs
263
+ if (!router.isServer) {
264
+ const minPendingPromise = createControlledPromise<void>()
265
+
266
+ Promise.resolve().then(() => {
267
+ routerMatch._nonReactive.minPendingPromise = minPendingPromise
268
+ })
269
+
270
+ setTimeout(() => {
271
+ minPendingPromise.resolve()
272
+ // We've handled the minPendingPromise, so we can delete it
273
+ routerMatch._nonReactive.minPendingPromise = undefined
274
+ }, pendingMinMs)
275
+ }
276
276
  }
277
277
  }
278
278
 
279
279
  const [loaderResult] = Solid.createResource(async () => {
280
280
  await new Promise((r) => setTimeout(r, 0))
281
- return router.getMatch(match().id)?.loadPromise
281
+ return router.getMatch(match().id)?._nonReactive.loadPromise
282
282
  })
283
283
 
284
284
  return <>{loaderResult()}</>
@@ -297,7 +297,7 @@ export const MatchInner = (props: { matchId: string }): any => {
297
297
 
298
298
  const [loaderResult] = Solid.createResource(async () => {
299
299
  await new Promise((r) => setTimeout(r, 0))
300
- return router.getMatch(match().id)?.loadPromise
300
+ return router.getMatch(match().id)?._nonReactive.loadPromise
301
301
  })
302
302
 
303
303
  return <>{loaderResult()}</>