@tanstack/solid-router 1.121.0-alpha.22 → 1.121.0-alpha.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Asset.cjs +65 -21
- package/dist/cjs/Asset.cjs.map +1 -1
- package/dist/cjs/Asset.d.cts +2 -1
- package/dist/cjs/CatchBoundary.cjs +14 -15
- package/dist/cjs/CatchBoundary.cjs.map +1 -1
- package/dist/cjs/ClientOnly.cjs +12 -14
- package/dist/cjs/ClientOnly.cjs.map +1 -1
- package/dist/cjs/ClientOnly.d.cts +0 -20
- package/dist/cjs/HeadContent.cjs +28 -23
- package/dist/cjs/HeadContent.cjs.map +1 -1
- package/dist/cjs/Match.cjs +167 -141
- package/dist/cjs/Match.cjs.map +1 -1
- package/dist/cjs/Matches.cjs +26 -24
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/Matches.d.cts +1 -0
- package/dist/cjs/RouterProvider.cjs +5 -5
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/SafeFragment.cjs +2 -2
- package/dist/cjs/SafeFragment.cjs.map +1 -1
- package/dist/cjs/ScriptOnce.cjs +4 -9
- package/dist/cjs/ScriptOnce.cjs.map +1 -1
- package/dist/cjs/ScriptOnce.d.cts +1 -1
- package/dist/cjs/Scripts.cjs +9 -13
- package/dist/cjs/Scripts.cjs.map +1 -1
- package/dist/cjs/ScrollRestoration.cjs +3 -4
- package/dist/cjs/ScrollRestoration.cjs.map +1 -1
- package/dist/cjs/Transitioner.cjs +9 -8
- package/dist/cjs/Transitioner.cjs.map +1 -1
- package/dist/cjs/awaited.cjs +2 -2
- package/dist/cjs/awaited.cjs.map +1 -1
- package/dist/cjs/fileRoute.cjs +5 -5
- package/dist/cjs/fileRoute.cjs.map +1 -1
- package/dist/cjs/index.cjs +0 -12
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +3 -6
- package/dist/cjs/lazyRouteComponent.cjs +6 -26
- package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
- package/dist/cjs/lazyRouteComponent.d.cts +1 -1
- package/dist/cjs/link.cjs +37 -31
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/not-found.cjs +5 -7
- package/dist/cjs/not-found.cjs.map +1 -1
- package/dist/cjs/renderRouteNotFound.cjs +4 -4
- package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
- package/dist/cjs/route.cjs +16 -16
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +14 -5
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/routerContext.cjs.map +1 -1
- package/dist/cjs/scroll-restoration.cjs +12 -6
- package/dist/cjs/scroll-restoration.cjs.map +1 -1
- package/dist/cjs/ssr/RouterClient.cjs +45 -0
- package/dist/cjs/ssr/RouterClient.cjs.map +1 -0
- package/dist/cjs/ssr/RouterClient.d.cts +4 -0
- package/dist/cjs/ssr/RouterServer.cjs +56 -0
- package/dist/cjs/ssr/RouterServer.cjs.map +1 -0
- package/dist/cjs/ssr/RouterServer.d.cts +5 -0
- package/dist/cjs/ssr/client.cjs +5 -0
- package/dist/cjs/ssr/client.cjs.map +1 -0
- package/dist/cjs/ssr/client.d.cts +1 -0
- package/dist/cjs/ssr/defaultRenderHandler.cjs +18 -0
- package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -0
- package/dist/cjs/ssr/defaultRenderHandler.d.cts +1 -0
- package/dist/cjs/ssr/defaultStreamHandler.cjs +20 -0
- package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -0
- package/dist/cjs/ssr/defaultStreamHandler.d.cts +1 -0
- package/dist/cjs/ssr/renderRouterToStream.cjs +45 -0
- package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -0
- package/dist/cjs/ssr/renderRouterToStream.d.cts +8 -0
- package/dist/cjs/ssr/renderRouterToString.cjs +43 -0
- package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -0
- package/dist/cjs/ssr/renderRouterToString.d.cts +7 -0
- package/dist/cjs/ssr/server.cjs +20 -0
- package/dist/cjs/ssr/server.cjs.map +1 -0
- package/dist/cjs/ssr/server.d.cts +6 -0
- package/dist/cjs/useBlocker.cjs +41 -35
- package/dist/cjs/useBlocker.cjs.map +1 -1
- package/dist/cjs/useCanGoBack.cjs.map +1 -1
- package/dist/cjs/useLoaderData.cjs.map +1 -1
- package/dist/cjs/useLoaderDeps.cjs.map +1 -1
- package/dist/cjs/useLocation.cjs +1 -1
- package/dist/cjs/useLocation.cjs.map +1 -1
- package/dist/cjs/useMatch.cjs.map +1 -1
- package/dist/cjs/useNavigate.cjs +9 -3
- package/dist/cjs/useNavigate.cjs.map +1 -1
- package/dist/cjs/useParams.cjs.map +1 -1
- package/dist/cjs/useRouter.cjs +1 -1
- package/dist/cjs/useRouter.cjs.map +1 -1
- package/dist/cjs/useRouterState.cjs +3 -3
- package/dist/cjs/useRouterState.cjs.map +1 -1
- package/dist/cjs/useSearch.cjs.map +1 -1
- package/dist/cjs/utils.cjs +1 -1
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/esm/Asset.d.ts +2 -1
- package/dist/esm/Asset.js +60 -16
- package/dist/esm/Asset.js.map +1 -1
- package/dist/esm/CatchBoundary.js +1 -2
- package/dist/esm/CatchBoundary.js.map +1 -1
- package/dist/esm/ClientOnly.d.ts +0 -20
- package/dist/esm/ClientOnly.js +11 -13
- package/dist/esm/ClientOnly.js.map +1 -1
- package/dist/esm/HeadContent.js +23 -18
- package/dist/esm/HeadContent.js.map +1 -1
- package/dist/esm/Match.js +148 -122
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Matches.d.ts +1 -0
- package/dist/esm/Matches.js +18 -16
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/RouterProvider.js.map +1 -1
- package/dist/esm/SafeFragment.js.map +1 -1
- package/dist/esm/ScriptOnce.d.ts +1 -1
- package/dist/esm/ScriptOnce.js +2 -7
- package/dist/esm/ScriptOnce.js.map +1 -1
- package/dist/esm/Scripts.js +7 -11
- package/dist/esm/Scripts.js.map +1 -1
- package/dist/esm/ScrollRestoration.js +3 -4
- package/dist/esm/ScrollRestoration.js.map +1 -1
- package/dist/esm/Transitioner.js +9 -8
- package/dist/esm/Transitioner.js.map +1 -1
- package/dist/esm/awaited.js.map +1 -1
- package/dist/esm/fileRoute.js +5 -5
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/index.d.ts +3 -6
- package/dist/esm/index.js +2 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lazyRouteComponent.d.ts +1 -1
- package/dist/esm/lazyRouteComponent.js +2 -22
- package/dist/esm/lazyRouteComponent.js.map +1 -1
- package/dist/esm/link.js +34 -28
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/not-found.js +2 -4
- package/dist/esm/not-found.js.map +1 -1
- package/dist/esm/renderRouteNotFound.js.map +1 -1
- package/dist/esm/route.d.ts +14 -5
- package/dist/esm/route.js +12 -12
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/routerContext.js.map +1 -1
- package/dist/esm/scroll-restoration.js +10 -4
- package/dist/esm/scroll-restoration.js.map +1 -1
- package/dist/esm/ssr/RouterClient.d.ts +4 -0
- package/dist/esm/ssr/RouterClient.js +45 -0
- package/dist/esm/ssr/RouterClient.js.map +1 -0
- package/dist/esm/ssr/RouterServer.d.ts +5 -0
- package/dist/esm/ssr/RouterServer.js +56 -0
- package/dist/esm/ssr/RouterServer.js.map +1 -0
- package/dist/esm/ssr/client.d.ts +1 -0
- package/dist/esm/ssr/client.js +5 -0
- package/dist/esm/ssr/client.js.map +1 -0
- package/dist/esm/ssr/defaultRenderHandler.d.ts +1 -0
- package/dist/esm/ssr/defaultRenderHandler.js +18 -0
- package/dist/esm/ssr/defaultRenderHandler.js.map +1 -0
- package/dist/esm/ssr/defaultStreamHandler.d.ts +1 -0
- package/dist/esm/ssr/defaultStreamHandler.js +20 -0
- package/dist/esm/ssr/defaultStreamHandler.js.map +1 -0
- package/dist/esm/ssr/renderRouterToStream.d.ts +8 -0
- package/dist/esm/ssr/renderRouterToStream.js +28 -0
- package/dist/esm/ssr/renderRouterToStream.js.map +1 -0
- package/dist/esm/ssr/renderRouterToString.d.ts +7 -0
- package/dist/esm/ssr/renderRouterToString.js +26 -0
- package/dist/esm/ssr/renderRouterToString.js.map +1 -0
- package/dist/esm/ssr/server.d.ts +6 -0
- package/dist/esm/ssr/server.js +14 -0
- package/dist/esm/ssr/server.js.map +1 -0
- package/dist/esm/useBlocker.js +41 -35
- package/dist/esm/useBlocker.js.map +1 -1
- package/dist/esm/useCanGoBack.js.map +1 -1
- package/dist/esm/useLoaderData.js.map +1 -1
- package/dist/esm/useLoaderDeps.js.map +1 -1
- package/dist/esm/useLocation.js +1 -1
- package/dist/esm/useLocation.js.map +1 -1
- package/dist/esm/useMatch.js.map +1 -1
- package/dist/esm/useNavigate.js +9 -3
- package/dist/esm/useNavigate.js.map +1 -1
- package/dist/esm/useParams.js.map +1 -1
- package/dist/esm/useRouter.js +1 -1
- package/dist/esm/useRouter.js.map +1 -1
- package/dist/esm/useRouterState.js +3 -3
- package/dist/esm/useRouterState.js.map +1 -1
- package/dist/esm/useSearch.js.map +1 -1
- package/dist/esm/utils.js +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/source/Asset.d.ts +2 -1
- package/dist/source/Asset.jsx +45 -7
- package/dist/source/Asset.jsx.map +1 -1
- package/dist/source/ClientOnly.d.ts +0 -20
- package/dist/source/ClientOnly.jsx +3 -29
- package/dist/source/ClientOnly.jsx.map +1 -1
- package/dist/source/HeadContent.jsx +13 -0
- package/dist/source/HeadContent.jsx.map +1 -1
- package/dist/source/Match.jsx +74 -61
- package/dist/source/Match.jsx.map +1 -1
- package/dist/source/Matches.d.ts +1 -0
- package/dist/source/Matches.jsx +14 -11
- package/dist/source/Matches.jsx.map +1 -1
- package/dist/source/ScriptOnce.d.ts +1 -1
- package/dist/source/ScriptOnce.jsx +2 -12
- package/dist/source/ScriptOnce.jsx.map +1 -1
- package/dist/source/Transitioner.jsx +8 -8
- package/dist/source/Transitioner.jsx.map +1 -1
- package/dist/source/index.d.ts +3 -6
- package/dist/source/index.jsx +1 -4
- package/dist/source/index.jsx.map +1 -1
- package/dist/source/lazyRouteComponent.d.ts +1 -1
- package/dist/source/lazyRouteComponent.jsx +7 -21
- package/dist/source/lazyRouteComponent.jsx.map +1 -1
- package/dist/source/link.jsx +22 -17
- package/dist/source/link.jsx.map +1 -1
- package/dist/source/not-found.jsx.map +1 -1
- package/dist/source/route.d.ts +14 -5
- package/dist/source/route.jsx.map +1 -1
- package/dist/source/scroll-restoration.jsx +9 -2
- package/dist/source/scroll-restoration.jsx.map +1 -1
- package/dist/source/ssr/RouterClient.d.ts +4 -0
- package/dist/source/ssr/RouterClient.jsx +28 -0
- package/dist/source/ssr/RouterClient.jsx.map +1 -0
- package/dist/source/ssr/RouterServer.d.ts +5 -0
- package/dist/source/ssr/RouterServer.jsx +38 -0
- package/dist/source/ssr/RouterServer.jsx.map +1 -0
- package/dist/source/ssr/client.d.ts +1 -0
- package/dist/source/ssr/client.js +2 -0
- package/dist/source/ssr/client.js.map +1 -0
- package/dist/source/ssr/defaultRenderHandler.d.ts +1 -0
- package/dist/source/ssr/defaultRenderHandler.jsx +9 -0
- package/dist/source/ssr/defaultRenderHandler.jsx.map +1 -0
- package/dist/source/ssr/defaultStreamHandler.d.ts +1 -0
- package/dist/source/ssr/defaultStreamHandler.jsx +10 -0
- package/dist/source/ssr/defaultStreamHandler.jsx.map +1 -0
- package/dist/source/ssr/renderRouterToStream.d.ts +8 -0
- package/dist/source/ssr/renderRouterToStream.jsx +17 -0
- package/dist/source/ssr/renderRouterToStream.jsx.map +1 -0
- package/dist/source/ssr/renderRouterToString.d.ts +7 -0
- package/dist/source/ssr/renderRouterToString.jsx +20 -0
- package/dist/source/ssr/renderRouterToString.jsx.map +1 -0
- package/dist/source/ssr/server.d.ts +6 -0
- package/dist/source/ssr/server.js +7 -0
- package/dist/source/ssr/server.js.map +1 -0
- package/dist/source/useBlocker.jsx +44 -27
- package/dist/source/useBlocker.jsx.map +1 -1
- package/dist/source/useNavigate.jsx +12 -2
- package/dist/source/useNavigate.jsx.map +1 -1
- package/package.json +34 -7
- package/src/Asset.tsx +76 -7
- package/src/ClientOnly.tsx +5 -32
- package/src/HeadContent.tsx +17 -0
- package/src/Match.tsx +103 -81
- package/src/Matches.tsx +28 -19
- package/src/ScriptOnce.tsx +1 -13
- package/src/Transitioner.tsx +7 -7
- package/src/index.tsx +1 -18
- package/src/lazyRouteComponent.tsx +6 -26
- package/src/link.tsx +29 -21
- package/src/not-found.tsx +1 -1
- package/src/route.tsx +16 -5
- package/src/scroll-restoration.tsx +10 -3
- package/src/ssr/RouterClient.tsx +43 -0
- package/src/ssr/RouterServer.tsx +60 -0
- package/src/ssr/client.ts +1 -0
- package/src/ssr/defaultRenderHandler.tsx +12 -0
- package/src/ssr/defaultStreamHandler.tsx +13 -0
- package/src/ssr/renderRouterToStream.tsx +36 -0
- package/src/ssr/renderRouterToString.tsx +31 -0
- package/src/ssr/server.ts +6 -0
- package/src/useBlocker.tsx +48 -32
- package/src/useNavigate.tsx +14 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderRouteNotFound.cjs","sources":["../../src/renderRouteNotFound.tsx"],"sourcesContent":["import warning from 'tiny-warning'\nimport { DefaultGlobalNotFound } from './not-found'\nimport type { AnyRoute, AnyRouter } from '@tanstack/router-core'\n\nexport function renderRouteNotFound(\n router: AnyRouter,\n route: AnyRoute,\n data: any,\n) {\n if (!route.options.notFoundComponent) {\n if (router.options.defaultNotFoundComponent) {\n return <router.options.defaultNotFoundComponent data={data} />\n }\n\n if (process.env.NODE_ENV === 'development') {\n warning(\n route.options.notFoundComponent,\n `A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<div>Not Found<div>)`,\n )\n }\n\n return <DefaultGlobalNotFound />\n }\n\n return <route.options.notFoundComponent data={data} />\n}\n"],"names":["renderRouteNotFound","router","route","data","options","notFoundComponent","defaultNotFoundComponent","_$createComponent","process","env","NODE_ENV","warning","id","DefaultGlobalNotFound"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"renderRouteNotFound.cjs","sources":["../../src/renderRouteNotFound.tsx"],"sourcesContent":["import warning from 'tiny-warning'\nimport { DefaultGlobalNotFound } from './not-found'\nimport type { AnyRoute, AnyRouter } from '@tanstack/router-core'\n\nexport function renderRouteNotFound(\n router: AnyRouter,\n route: AnyRoute,\n data: any,\n) {\n if (!route.options.notFoundComponent) {\n if (router.options.defaultNotFoundComponent) {\n return <router.options.defaultNotFoundComponent data={data} />\n }\n\n if (process.env.NODE_ENV === 'development') {\n warning(\n route.options.notFoundComponent,\n `A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<div>Not Found<div>)`,\n )\n }\n\n return <DefaultGlobalNotFound />\n }\n\n return <route.options.notFoundComponent data={data} />\n}\n"],"names":["renderRouteNotFound","router","route","data","options","notFoundComponent","defaultNotFoundComponent","_$createComponent","process","env","NODE_ENV","warning","id","DefaultGlobalNotFound"],"mappings":";;;;;AAIO,SAASA,oBACdC,QACAC,OACAC,MACA;AACA,MAAI,CAACD,MAAME,QAAQC,mBAAmB;AACpC,QAAIJ,OAAOG,QAAQE,0BAA0B;AAC3C,aAAAC,sBAAQN,OAAOG,QAAQE,0BAAwB;AAAA,QAACH;AAAAA,MAAAA,CAAU;AAAA,IAC5D;AAEA,QAAIK,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,cACET,MAAME,QAAQC,mBACd,yDAAyDH,MAAMU,EAAE,uPACnE;AAAA,IACF;AAEA,WAAAL,MAAAA,gBAAQM,SAAAA,uBAAqB,EAAA;AAAA,EAC/B;AAEA,SAAAN,sBAAQL,MAAME,QAAQC,mBAAiB;AAAA,IAACF;AAAAA,EAAAA,CAAU;AACpD;;"}
|
package/dist/cjs/route.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
4
|
const routerCore = require("@tanstack/router-core");
|
|
5
5
|
const link = require("./link.cjs");
|
|
6
6
|
const useLoaderData = require("./useLoaderData.cjs");
|
|
@@ -27,25 +27,25 @@ class RouteApi extends routerCore.BaseRouteApi {
|
|
|
27
27
|
});
|
|
28
28
|
this.useMatch = (opts) => {
|
|
29
29
|
return useMatch.useMatch({
|
|
30
|
-
select: opts
|
|
30
|
+
select: opts?.select,
|
|
31
31
|
from: this.id
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
34
|
this.useRouteContext = (opts) => {
|
|
35
35
|
return useMatch.useMatch({
|
|
36
36
|
from: this.id,
|
|
37
|
-
select: (d) =>
|
|
37
|
+
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
38
38
|
});
|
|
39
39
|
};
|
|
40
40
|
this.useSearch = (opts) => {
|
|
41
41
|
return useSearch.useSearch({
|
|
42
|
-
select: opts
|
|
42
|
+
select: opts?.select,
|
|
43
43
|
from: this.id
|
|
44
44
|
});
|
|
45
45
|
};
|
|
46
46
|
this.useParams = (opts) => {
|
|
47
47
|
return useParams.useParams({
|
|
48
|
-
select: opts
|
|
48
|
+
select: opts?.select,
|
|
49
49
|
from: this.id
|
|
50
50
|
});
|
|
51
51
|
};
|
|
@@ -78,7 +78,7 @@ class RouteApi extends routerCore.BaseRouteApi {
|
|
|
78
78
|
this.Link = (props) => {
|
|
79
79
|
const router = useRouter.useRouter();
|
|
80
80
|
const fullPath = router.routesById[this.id].fullPath;
|
|
81
|
-
return
|
|
81
|
+
return Solid.createComponent(link.Link, Solid.mergeProps({
|
|
82
82
|
from: fullPath
|
|
83
83
|
}, props));
|
|
84
84
|
};
|
|
@@ -92,7 +92,7 @@ class Route extends routerCore.BaseRoute {
|
|
|
92
92
|
super(options);
|
|
93
93
|
this.useMatch = (opts) => {
|
|
94
94
|
return useMatch.useMatch({
|
|
95
|
-
select: opts
|
|
95
|
+
select: opts?.select,
|
|
96
96
|
from: this.id
|
|
97
97
|
});
|
|
98
98
|
};
|
|
@@ -100,18 +100,18 @@ class Route extends routerCore.BaseRoute {
|
|
|
100
100
|
return useMatch.useMatch({
|
|
101
101
|
...opts,
|
|
102
102
|
from: this.id,
|
|
103
|
-
select: (d) =>
|
|
103
|
+
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
104
104
|
});
|
|
105
105
|
};
|
|
106
106
|
this.useSearch = (opts) => {
|
|
107
107
|
return useSearch.useSearch({
|
|
108
|
-
select: opts
|
|
108
|
+
select: opts?.select,
|
|
109
109
|
from: this.id
|
|
110
110
|
});
|
|
111
111
|
};
|
|
112
112
|
this.useParams = (opts) => {
|
|
113
113
|
return useParams.useParams({
|
|
114
|
-
select: opts
|
|
114
|
+
select: opts?.select,
|
|
115
115
|
from: this.id
|
|
116
116
|
});
|
|
117
117
|
};
|
|
@@ -134,7 +134,7 @@ class Route extends routerCore.BaseRoute {
|
|
|
134
134
|
};
|
|
135
135
|
this.Link = (props) => {
|
|
136
136
|
const _self$ = this;
|
|
137
|
-
return
|
|
137
|
+
return Solid.createComponent(link.Link, Solid.mergeProps({
|
|
138
138
|
get from() {
|
|
139
139
|
return _self$.fullPath;
|
|
140
140
|
}
|
|
@@ -159,7 +159,7 @@ class RootRoute extends routerCore.BaseRootRoute {
|
|
|
159
159
|
super(options);
|
|
160
160
|
this.useMatch = (opts) => {
|
|
161
161
|
return useMatch.useMatch({
|
|
162
|
-
select: opts
|
|
162
|
+
select: opts?.select,
|
|
163
163
|
from: this.id
|
|
164
164
|
});
|
|
165
165
|
};
|
|
@@ -167,18 +167,18 @@ class RootRoute extends routerCore.BaseRootRoute {
|
|
|
167
167
|
return useMatch.useMatch({
|
|
168
168
|
...opts,
|
|
169
169
|
from: this.id,
|
|
170
|
-
select: (d) =>
|
|
170
|
+
select: (d) => opts?.select ? opts.select(d.context) : d.context
|
|
171
171
|
});
|
|
172
172
|
};
|
|
173
173
|
this.useSearch = (opts) => {
|
|
174
174
|
return useSearch.useSearch({
|
|
175
|
-
select: opts
|
|
175
|
+
select: opts?.select,
|
|
176
176
|
from: this.id
|
|
177
177
|
});
|
|
178
178
|
};
|
|
179
179
|
this.useParams = (opts) => {
|
|
180
180
|
return useParams.useParams({
|
|
181
|
-
select: opts
|
|
181
|
+
select: opts?.select,
|
|
182
182
|
from: this.id
|
|
183
183
|
});
|
|
184
184
|
};
|
|
@@ -201,7 +201,7 @@ class RootRoute extends routerCore.BaseRootRoute {
|
|
|
201
201
|
};
|
|
202
202
|
this.Link = (props) => {
|
|
203
203
|
const _self$2 = this;
|
|
204
|
-
return
|
|
204
|
+
return Solid.createComponent(link.Link, Solid.mergeProps({
|
|
205
205
|
get from() {
|
|
206
206
|
return _self$2.fullPath;
|
|
207
207
|
}
|
package/dist/cjs/route.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.cjs","sources":["../../src/route.tsx"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent\n errorComponent?: false | null | ErrorRouteComponent\n notFoundComponent?: NotFoundRouteComponent\n pendingComponent?: RouteComponent\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useMatch({\n from: this.id as any,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return <Link from={fullPath as never} {...props} />\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n >\n extends BaseRoute<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n implements\n RouteCore<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props) => {\n return <Link from={this.fullPath} {...props} />\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n>(\n options: RouteOptions<\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n): Route<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown\n> {\n return new Route<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<any, any, any, any, any, any, any, any>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n >(\n options?: RootRouteOptions<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >,\n ) => {\n return createRootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >(options as any)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n >\n extends BaseRootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n implements\n RootRouteCore<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props) => {\n return <Link from={this.fullPath} {...(props as any)} />\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport type SyncRouteComponent<TProps> = (props: TProps) => Solid.JSX.Element\n\nexport type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent<TProps = any> = AsyncRouteComponent<TProps>\n\nexport type ErrorRouteComponent = RouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = SyncRouteComponent<NotFoundRouteProps>\n\nexport class NotFoundRoute<\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n> extends Route<\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n>(\n options?: RootRouteOptions<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >,\n): RootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown\n> {\n return new RootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >(options)\n}\n"],"names":["getRouteApi","id","RouteApi","BaseRouteApi","constructor","useMatch","opts","select","from","useRouteContext","d","context","useSearch","useParams","useLoaderDeps","strict","useLoaderData","useNavigate","router","useRouter","routesById","fullPath","notFound","routeId","Link","props","_$createComponent","_$mergeProps","Route","BaseRoute","options","_self$","createRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","RootRoute","BaseRootRoute","_self$2","createRouteMask","NotFoundRoute"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route.cjs","sources":["../../src/route.tsx"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type * as Solid from 'solid-js'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent\n errorComponent?: false | null | ErrorRouteComponent\n notFoundComponent?: NotFoundRouteComponent\n pendingComponent?: RouteComponent\n }\n\n export interface RootRouteOptionsExtensions {\n shellComponent?: ({\n children,\n }: {\n children: Solid.JSX.Element\n }) => Solid.JSX.Element\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useMatch({\n from: this.id as any,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return <Link from={fullPath as never} {...props} />\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n >\n extends BaseRoute<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n implements\n RouteCore<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props) => {\n return <Link from={this.fullPath} {...props} />\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n>(\n options: RouteOptions<\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n): Route<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown\n> {\n return new Route<\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<any, any, any, any, any, any, any, any>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n >(\n options?: RootRouteOptions<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >,\n ) => {\n return createRootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >(options as any)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n >\n extends BaseRootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n implements\n RootRouteCore<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props) => {\n return <Link from={this.fullPath} {...(props as any)} />\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type SolidNode = Solid.JSX.Element\n\nexport interface DefaultRouteTypes<TProps> {\n component: (props: TProps) => any\n}\nexport interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {}\n\nexport type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent = AsyncRouteComponent<{}>\n\nexport type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component']\n\nexport class NotFoundRoute<\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n> extends Route<\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n>(\n options?: RootRouteOptions<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >,\n): RootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown\n> {\n return new RootRoute<\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn\n >(options)\n}\n"],"names":["getRouteApi","id","RouteApi","BaseRouteApi","constructor","useMatch","opts","select","from","useRouteContext","d","context","useSearch","useParams","useLoaderDeps","strict","useLoaderData","useNavigate","router","useRouter","routesById","fullPath","notFound","routeId","Link","props","_$createComponent","_$mergeProps","Route","BaseRoute","options","_self$","createRoute","createRootRouteWithContext","createRootRoute","rootRouteWithContext","RootRoute","BaseRootRoute","_self$2","createRouteMask","NotFoundRoute"],"mappings":"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"}
|
package/dist/cjs/route.d.cts
CHANGED
|
@@ -14,6 +14,11 @@ declare module '@tanstack/router-core' {
|
|
|
14
14
|
notFoundComponent?: NotFoundRouteComponent;
|
|
15
15
|
pendingComponent?: RouteComponent;
|
|
16
16
|
}
|
|
17
|
+
interface RootRouteOptionsExtensions {
|
|
18
|
+
shellComponent?: ({ children, }: {
|
|
19
|
+
children: Solid.JSX.Element;
|
|
20
|
+
}) => Solid.JSX.Element;
|
|
21
|
+
}
|
|
17
22
|
interface RouteExtensions<in out TId extends string, in out TFullPath extends string> {
|
|
18
23
|
useMatch: UseMatchRoute<TId>;
|
|
19
24
|
useRouteContext: UseRouteContextRoute<TId>;
|
|
@@ -82,13 +87,17 @@ export declare function createRouteMask<TRouteTree extends AnyRoute, TFrom exten
|
|
|
82
87
|
routeTree: TRouteTree;
|
|
83
88
|
} & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>): RouteMask<TRouteTree>;
|
|
84
89
|
export type SolidNode = Solid.JSX.Element;
|
|
85
|
-
export
|
|
86
|
-
|
|
90
|
+
export interface DefaultRouteTypes<TProps> {
|
|
91
|
+
component: (props: TProps) => any;
|
|
92
|
+
}
|
|
93
|
+
export interface RouteTypes<TProps> extends DefaultRouteTypes<TProps> {
|
|
94
|
+
}
|
|
95
|
+
export type AsyncRouteComponent<TProps> = RouteTypes<TProps>['component'] & {
|
|
87
96
|
preload?: () => Promise<void>;
|
|
88
97
|
};
|
|
89
|
-
export type RouteComponent
|
|
90
|
-
export type ErrorRouteComponent =
|
|
91
|
-
export type NotFoundRouteComponent =
|
|
98
|
+
export type RouteComponent = AsyncRouteComponent<{}>;
|
|
99
|
+
export type ErrorRouteComponent = AsyncRouteComponent<ErrorComponentProps>;
|
|
100
|
+
export type NotFoundRouteComponent = RouteTypes<NotFoundRouteProps>['component'];
|
|
92
101
|
export declare class NotFoundRoute<TParentRoute extends AnyRootRoute, TRouterContext = AnyContext, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TSearchValidator = undefined, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined, TChildren = unknown> extends Route<TParentRoute, '/404', '/404', '404', '404', TSearchValidator, {}, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren> {
|
|
93
102
|
constructor(options: Omit<RouteOptions<TParentRoute, string, string, string, string, TSearchValidator, {}, TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn>, 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'path' | 'id' | 'params'>);
|
|
94
103
|
}
|
package/dist/cjs/router.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.cjs","sources":["../../src/router.ts"],"sourcesContent":["import { RouterCore } from '@tanstack/router-core'\nimport { createFileRoute, createLazyFileRoute } from './fileRoute'\nimport type { RouterHistory } from '@tanstack/history'\nimport type {\n AnyRoute,\n CreateRouterFn,\n RouterConstructorOptions,\n TrailingSlashOption,\n} from '@tanstack/router-core'\nimport type {\n ErrorRouteComponent,\n NotFoundRouteComponent,\n RouteComponent,\n} from './route'\nimport type { JSX } from 'solid-js'\n\ndeclare module '@tanstack/router-core' {\n export interface RouterOptionsExtensions {\n /**\n * The default `component` a route should use if no component is provided.\n *\n * @default Outlet\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultcomponent-property)\n */\n defaultComponent?: RouteComponent\n /**\n * The default `errorComponent` a route should use if no error component is provided.\n *\n * @default ErrorComponent\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaulterrorcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#handling-errors-with-routeoptionserrorcomponent)\n */\n defaultErrorComponent?: ErrorRouteComponent\n /**\n * The default `pendingComponent` a route should use if no pending component is provided.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultpendingcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#showing-a-pending-component)\n */\n defaultPendingComponent?: RouteComponent\n /**\n * The default `notFoundComponent` a route should use if no notFound component is provided.\n *\n * @default NotFound\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultnotfoundcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/not-found-errors#default-router-wide-not-found-handling)\n */\n defaultNotFoundComponent?: NotFoundRouteComponent\n /**\n * A component that will be used to wrap the entire router.\n *\n * This is useful for providing a context to the entire router.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#wrap-property)\n */\n Wrap?: (props: { children: any }) => JSX.Element\n /**\n * A component that will be used to wrap the inner contents of the router.\n *\n * This is useful for providing a context to the inner contents of the router where you also need access to the router context and hooks.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#innerwrap-property)\n */\n InnerWrap?: (props: { children: any }) => JSX.Element\n\n /**\n * The default `onCatch` handler for errors caught by the Router ErrorBoundary\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultoncatch-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#handling-errors-with-routeoptionsoncatch)\n */\n defaultOnCatch?: (error: Error) => void\n }\n}\n\nexport const createRouter: CreateRouterFn = (options) => {\n return new Router(options)\n}\n\nexport class Router<\n in out TRouteTree extends AnyRoute,\n in out TTrailingSlashOption extends TrailingSlashOption = 'never',\n in out TDefaultStructuralSharingOption extends boolean = false,\n in out TRouterHistory extends RouterHistory = RouterHistory,\n in out TDehydrated extends Record<string, any> = Record<string, any>,\n> extends RouterCore<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n> {\n constructor(\n options: RouterConstructorOptions<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n >,\n ) {\n super(options)\n }\n}\n\nif (typeof globalThis !== 'undefined') {\n ;(globalThis as any).createFileRoute = createFileRoute\n ;(globalThis as any).createLazyFileRoute = createLazyFileRoute\n} else if (typeof window !== 'undefined') {\n ;(window as any).createFileRoute = createFileRoute\n ;(window as any).createFileRoute = createLazyFileRoute\n}\n"],"names":["RouterCore","createFileRoute","createLazyFileRoute"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"router.cjs","sources":["../../src/router.ts"],"sourcesContent":["import { RouterCore } from '@tanstack/router-core'\nimport { createFileRoute, createLazyFileRoute } from './fileRoute'\nimport type { RouterHistory } from '@tanstack/history'\nimport type {\n AnyRoute,\n CreateRouterFn,\n RouterConstructorOptions,\n TrailingSlashOption,\n} from '@tanstack/router-core'\nimport type {\n ErrorRouteComponent,\n NotFoundRouteComponent,\n RouteComponent,\n} from './route'\nimport type { JSX } from 'solid-js'\n\ndeclare module '@tanstack/router-core' {\n export interface RouterOptionsExtensions {\n /**\n * The default `component` a route should use if no component is provided.\n *\n * @default Outlet\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultcomponent-property)\n */\n defaultComponent?: RouteComponent\n /**\n * The default `errorComponent` a route should use if no error component is provided.\n *\n * @default ErrorComponent\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaulterrorcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#handling-errors-with-routeoptionserrorcomponent)\n */\n defaultErrorComponent?: ErrorRouteComponent\n /**\n * The default `pendingComponent` a route should use if no pending component is provided.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultpendingcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#showing-a-pending-component)\n */\n defaultPendingComponent?: RouteComponent\n /**\n * The default `notFoundComponent` a route should use if no notFound component is provided.\n *\n * @default NotFound\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultnotfoundcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/not-found-errors#default-router-wide-not-found-handling)\n */\n defaultNotFoundComponent?: NotFoundRouteComponent\n /**\n * A component that will be used to wrap the entire router.\n *\n * This is useful for providing a context to the entire router.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#wrap-property)\n */\n Wrap?: (props: { children: any }) => JSX.Element\n /**\n * A component that will be used to wrap the inner contents of the router.\n *\n * This is useful for providing a context to the inner contents of the router where you also need access to the router context and hooks.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#innerwrap-property)\n */\n InnerWrap?: (props: { children: any }) => JSX.Element\n\n /**\n * The default `onCatch` handler for errors caught by the Router ErrorBoundary\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultoncatch-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#handling-errors-with-routeoptionsoncatch)\n */\n defaultOnCatch?: (error: Error) => void\n }\n}\n\nexport const createRouter: CreateRouterFn = (options) => {\n return new Router(options)\n}\n\nexport class Router<\n in out TRouteTree extends AnyRoute,\n in out TTrailingSlashOption extends TrailingSlashOption = 'never',\n in out TDefaultStructuralSharingOption extends boolean = false,\n in out TRouterHistory extends RouterHistory = RouterHistory,\n in out TDehydrated extends Record<string, any> = Record<string, any>,\n> extends RouterCore<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n> {\n constructor(\n options: RouterConstructorOptions<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n >,\n ) {\n super(options)\n }\n}\n\nif (typeof globalThis !== 'undefined') {\n ;(globalThis as any).createFileRoute = createFileRoute\n ;(globalThis as any).createLazyFileRoute = createLazyFileRoute\n} else if (typeof window !== 'undefined') {\n ;(window as any).createFileRoute = createFileRoute\n ;(window as any).createFileRoute = createLazyFileRoute\n}\n"],"names":["RouterCore","createFileRoute","createLazyFileRoute"],"mappings":";;;;AA2EO,MAAM,eAA+B,CAAC,YAAY;AACvD,SAAO,IAAI,OAAO,OAAO;AAC3B;AAEO,MAAM,eAMHA,WAAAA,WAMR;AAAA,EACA,YACE,SAOA;AACA,UAAM,OAAO;AAAA,EACf;AACF;AAEA,IAAI,OAAO,eAAe,aAAa;AACnC,aAAmB,kBAAkBC,UAAAA;AACrC,aAAmB,sBAAsBC,UAAAA;AAC7C,WAAW,OAAO,WAAW,aAAa;AACtC,SAAe,kBAAkBD,UAAAA;AACjC,SAAe,kBAAkBC,UAAAA;AACrC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routerContext.cjs","sources":["../../src/routerContext.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport type { AnyRouter } from '@tanstack/router-core'\n\ndeclare global {\n interface Window {\n __TSR_ROUTER_CONTEXT__?: Solid.Context<AnyRouter>\n }\n}\n\nconst routerContext = Solid.createContext<AnyRouter>(\n null as unknown as AnyRouter,\n)\n\nexport function getRouterContext() {\n if (typeof document === 'undefined') {\n return routerContext\n }\n\n if (window.__TSR_ROUTER_CONTEXT__) {\n return window.__TSR_ROUTER_CONTEXT__\n }\n\n window.__TSR_ROUTER_CONTEXT__ = routerContext as any\n\n return routerContext\n}\n"],"names":["routerContext","Solid","createContext","getRouterContext","document","window","__TSR_ROUTER_CONTEXT__"],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,MAAMA,gBAAgBC,iBAAMC,cAC1B,IACF;AAEO,SAASC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"routerContext.cjs","sources":["../../src/routerContext.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport type { AnyRouter } from '@tanstack/router-core'\n\ndeclare global {\n interface Window {\n __TSR_ROUTER_CONTEXT__?: Solid.Context<AnyRouter>\n }\n}\n\nconst routerContext = Solid.createContext<AnyRouter>(\n null as unknown as AnyRouter,\n)\n\nexport function getRouterContext() {\n if (typeof document === 'undefined') {\n return routerContext\n }\n\n if (window.__TSR_ROUTER_CONTEXT__) {\n return window.__TSR_ROUTER_CONTEXT__\n }\n\n window.__TSR_ROUTER_CONTEXT__ = routerContext as any\n\n return routerContext\n}\n"],"names":["routerContext","Solid","createContext","getRouterContext","document","window","__TSR_ROUTER_CONTEXT__"],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,MAAMA,gBAAgBC,iBAAMC,cAC1B,IACF;AAEO,SAASC,mBAAmB;AACjC,MAAI,OAAOC,aAAa,aAAa;AACnC,WAAOJ;AAAAA,EACT;AAEA,MAAIK,OAAOC,wBAAwB;AACjC,WAAOD,OAAOC;AAAAA,EAChB;AAEAD,SAAOC,yBAAyBN;AAEhC,SAAOA;AACT;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
4
|
const routerCore = require("@tanstack/router-core");
|
|
5
5
|
const useRouter = require("./useRouter.cjs");
|
|
6
6
|
const ScriptOnce = require("./ScriptOnce.cjs");
|
|
@@ -8,15 +8,21 @@ function ScrollRestoration() {
|
|
|
8
8
|
const router = useRouter.useRouter();
|
|
9
9
|
const getKey = router.options.getScrollRestorationKey || routerCore.defaultGetScrollRestorationKey;
|
|
10
10
|
const userKey = getKey(router.latestLocation);
|
|
11
|
-
const resolvedKey = userKey !== routerCore.defaultGetScrollRestorationKey(router.latestLocation) ? userKey :
|
|
11
|
+
const resolvedKey = userKey !== routerCore.defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
|
|
12
12
|
if (!router.isScrollRestoring || !router.isServer) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
const restoreScrollOptions = {
|
|
16
|
+
storageKey: routerCore.storageKey,
|
|
17
|
+
shouldScrollRestoration: true
|
|
18
|
+
};
|
|
19
|
+
if (resolvedKey) {
|
|
20
|
+
restoreScrollOptions.key = resolvedKey;
|
|
21
|
+
}
|
|
22
|
+
return Solid.createComponent(ScriptOnce.ScriptOnce, {
|
|
16
23
|
get children() {
|
|
17
|
-
return `(${routerCore.restoreScroll.toString()})(${JSON.stringify(
|
|
18
|
-
}
|
|
19
|
-
log: false
|
|
24
|
+
return `(${routerCore.restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`;
|
|
25
|
+
}
|
|
20
26
|
});
|
|
21
27
|
}
|
|
22
28
|
exports.ScrollRestoration = ScrollRestoration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-restoration.cjs","sources":["../../src/scroll-restoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n restoreScroll,\n storageKey,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { ScriptOnce } from './ScriptOnce'\n\nexport function ScrollRestoration() {\n const router = useRouter()\n const getKey =\n router.options.getScrollRestorationKey || defaultGetScrollRestorationKey\n const userKey = getKey(router.latestLocation)\n const resolvedKey =\n userKey !== defaultGetScrollRestorationKey(router.latestLocation)\n ? userKey\n :
|
|
1
|
+
{"version":3,"file":"scroll-restoration.cjs","sources":["../../src/scroll-restoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n restoreScroll,\n storageKey,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { ScriptOnce } from './ScriptOnce'\n\nexport function ScrollRestoration() {\n const router = useRouter()\n const getKey =\n router.options.getScrollRestorationKey || defaultGetScrollRestorationKey\n const userKey = getKey(router.latestLocation)\n const resolvedKey =\n userKey !== defaultGetScrollRestorationKey(router.latestLocation)\n ? userKey\n : undefined\n\n if (!router.isScrollRestoring || !router.isServer) {\n return null\n }\n\n const restoreScrollOptions: Parameters<typeof restoreScroll>[0] = {\n storageKey,\n shouldScrollRestoration: true,\n }\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey\n }\n\n return (\n <ScriptOnce\n children={`(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`}\n />\n )\n}\n"],"names":["ScrollRestoration","router","useRouter","getKey","options","getScrollRestorationKey","defaultGetScrollRestorationKey","userKey","latestLocation","resolvedKey","undefined","isScrollRestoring","isServer","restoreScrollOptions","storageKey","shouldScrollRestoration","key","_$createComponent","ScriptOnce","children","restoreScroll","toString","JSON","stringify"],"mappings":";;;;;;AAQO,SAASA,oBAAoB;AAClC,QAAMC,SAASC,UAAAA,UAAAA;AACf,QAAMC,SACJF,OAAOG,QAAQC,2BAA2BC,WAAAA;AAC5C,QAAMC,UAAUJ,OAAOF,OAAOO,cAAc;AAC5C,QAAMC,cACJF,YAAYD,WAAAA,+BAA+BL,OAAOO,cAAc,IAC5DD,UACAG;AAEN,MAAI,CAACT,OAAOU,qBAAqB,CAACV,OAAOW,UAAU;AACjD,WAAO;AAAA,EACT;AAEA,QAAMC,uBAA4D;AAAA,IAAA,YAChEC,WAAAA;AAAAA,IACAC,yBAAyB;AAAA,EAAA;AAE3B,MAAIN,aAAa;AACfI,yBAAqBG,MAAMP;AAAAA,EAC7B;AAEA,SAAAQ,MAAAA,gBACGC,WAAAA,YAAU;AAAA,IAAA,IACTC,WAAQ;AAAA,aAAE,IAAIC,WAAAA,cAAcC,SAAAA,CAAU,KAAKC,KAAKC,UAAUV,oBAAoB,CAAC;AAAA,IAAG;AAAA,EAAA,CAAA;AAGxF;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const client = require("@tanstack/router-core/ssr/client");
|
|
5
|
+
const awaited = require("../awaited.cjs");
|
|
6
|
+
const HeadContent = require("../HeadContent.cjs");
|
|
7
|
+
const RouterProvider = require("../RouterProvider.cjs");
|
|
8
|
+
let hydrationPromise;
|
|
9
|
+
const Dummy = (props) => Solid.memo(() => props.children);
|
|
10
|
+
function RouterClient(props) {
|
|
11
|
+
if (!hydrationPromise) {
|
|
12
|
+
if (!props.router.state.matches.length) {
|
|
13
|
+
hydrationPromise = client.hydrate(props.router);
|
|
14
|
+
} else {
|
|
15
|
+
hydrationPromise = Promise.resolve();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return Solid.createComponent(awaited.Await, {
|
|
19
|
+
promise: hydrationPromise,
|
|
20
|
+
children: () => Solid.createComponent(Dummy, {
|
|
21
|
+
get children() {
|
|
22
|
+
return Solid.createComponent(Dummy, {
|
|
23
|
+
get children() {
|
|
24
|
+
return Solid.createComponent(RouterProvider.RouterProvider, {
|
|
25
|
+
get router() {
|
|
26
|
+
return props.router;
|
|
27
|
+
},
|
|
28
|
+
InnerWrap: (props2) => Solid.createComponent(Dummy, {
|
|
29
|
+
get children() {
|
|
30
|
+
return [Solid.createComponent(Dummy, {
|
|
31
|
+
get children() {
|
|
32
|
+
return [Solid.createComponent(HeadContent.HeadContent, {}), Solid.memo(() => props2.children)];
|
|
33
|
+
}
|
|
34
|
+
}), Solid.createComponent(Dummy, {})];
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
exports.RouterClient = RouterClient;
|
|
45
|
+
//# sourceMappingURL=RouterClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterClient.cjs","sources":["../../../src/ssr/RouterClient.tsx"],"sourcesContent":["import { hydrate } from '@tanstack/router-core/ssr/client'\nimport { Await } from '../awaited'\nimport { HeadContent } from '../HeadContent'\nimport { RouterProvider } from '../RouterProvider'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type { JSXElement } from 'solid-js'\n\nlet hydrationPromise: Promise<void | Array<Array<void>>> | undefined\n\nconst Dummy = (props: { children?: JSXElement }) => <>{props.children}</>\n\nexport function RouterClient(props: { router: AnyRouter }) {\n if (!hydrationPromise) {\n if (!props.router.state.matches.length) {\n hydrationPromise = hydrate(props.router)\n } else {\n hydrationPromise = Promise.resolve()\n }\n }\n return (\n <Await\n promise={hydrationPromise}\n children={() => (\n <Dummy>\n <Dummy>\n <RouterProvider\n router={props.router}\n InnerWrap={(props) => (\n <Dummy>\n <Dummy>\n <HeadContent />\n {props.children}\n </Dummy>\n <Dummy />\n </Dummy>\n )}\n />\n </Dummy>\n </Dummy>\n )}\n />\n )\n}\n"],"names":["hydrationPromise","Dummy","props","_$memo","children","RouterClient","router","state","matches","length","hydrate","Promise","resolve","_$createComponent","Await","promise","RouterProvider","InnerWrap","HeadContent"],"mappings":";;;;;;;AAOA,IAAIA;AAEJ,MAAMC,QAAQA,CAACC,UAAgCC,MAAAA,KAAA,MAAQD,MAAME,QAAQ;AAE9D,SAASC,aAAaH,OAA8B;AACzD,MAAI,CAACF,kBAAkB;AACrB,QAAI,CAACE,MAAMI,OAAOC,MAAMC,QAAQC,QAAQ;AACtCT,yBAAmBU,OAAAA,QAAQR,MAAMI,MAAM;AAAA,IACzC,OAAO;AACLN,yBAAmBW,QAAQC,QAAAA;AAAAA,IAC7B;AAAA,EACF;AACA,SAAAC,MAAAA,gBACGC,QAAAA,OAAK;AAAA,IACJC,SAASf;AAAAA,IACTI,UAAUA,MAAAS,MAAAA,gBACPZ,OAAK;AAAA,MAAA,IAAAG,WAAA;AAAA,eAAAS,MAAAA,gBACHZ,OAAK;AAAA,UAAA,IAAAG,WAAA;AAAA,mBAAAS,MAAAA,gBACHG,eAAAA,gBAAc;AAAA,cAAA,IACbV,SAAM;AAAA,uBAAEJ,MAAMI;AAAAA,cAAM;AAAA,cACpBW,WAAYf,CAAAA,WAAKW,MAAAA,gBACdZ,OAAK;AAAA,gBAAA,IAAAG,WAAA;AAAA,yBAAA,CAAAS,MAAAA,gBACHZ,OAAK;AAAA,oBAAA,IAAAG,WAAA;AAAA,6BAAA,CAAAS,MAAAA,gBACHK,YAAAA,aAAW,CAAA,CAAA,GAAAf,MAAAA,KAAA,MACXD,OAAME,QAAQ,CAAA;AAAA,oBAAA;AAAA,kBAAA,CAAA,GAAAS,MAAAA,gBAEhBZ,OAAK,CAAA,CAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA,CAET;AAAA,UAAA;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAIR;AAGP;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const meta = require("@solidjs/meta");
|
|
5
|
+
const Asset = require("../Asset.cjs");
|
|
6
|
+
const HeadContent = require("../HeadContent.cjs");
|
|
7
|
+
const RouterProvider = require("../RouterProvider.cjs");
|
|
8
|
+
const Scripts = require("../Scripts.cjs");
|
|
9
|
+
var _tmpl$ = /* @__PURE__ */ Solid.template(`<html><head></head><body>`);
|
|
10
|
+
function ServerHeadContent() {
|
|
11
|
+
const tags = HeadContent.useTags();
|
|
12
|
+
Solid.useAssets(() => {
|
|
13
|
+
return Solid.createComponent(meta.MetaProvider, {
|
|
14
|
+
get children() {
|
|
15
|
+
return tags().map((tag) => Solid.createComponent(Asset.Asset, tag));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const docType = Solid.ssr("<!DOCTYPE html>");
|
|
22
|
+
function RouterServer(props) {
|
|
23
|
+
return Solid.createComponent(Solid.NoHydration, {
|
|
24
|
+
get children() {
|
|
25
|
+
return [docType, (() => {
|
|
26
|
+
var _el$ = _tmpl$(), _el$3 = _el$.firstChild;
|
|
27
|
+
Solid.insert(_el$3, Solid.createComponent(Solid.Hydration, {
|
|
28
|
+
get children() {
|
|
29
|
+
return Solid.createComponent(RouterProvider.RouterProvider, {
|
|
30
|
+
get router() {
|
|
31
|
+
return props.router;
|
|
32
|
+
},
|
|
33
|
+
InnerWrap: (props2) => Solid.createComponent(Solid.NoHydration, {
|
|
34
|
+
get children() {
|
|
35
|
+
return Solid.createComponent(meta.MetaProvider, {
|
|
36
|
+
get children() {
|
|
37
|
+
return [Solid.createComponent(ServerHeadContent, {}), Solid.createComponent(Solid.Hydration, {
|
|
38
|
+
get children() {
|
|
39
|
+
return props2.children;
|
|
40
|
+
}
|
|
41
|
+
}), Solid.createComponent(Scripts.Scripts, {})];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
return _el$;
|
|
50
|
+
})()];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
exports.RouterServer = RouterServer;
|
|
55
|
+
exports.ServerHeadContent = ServerHeadContent;
|
|
56
|
+
//# sourceMappingURL=RouterServer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterServer.cjs","sources":["../../../src/ssr/RouterServer.tsx"],"sourcesContent":["import {\n Hydration,\n HydrationScript,\n NoHydration,\n ssr,\n useAssets,\n} from 'solid-js/web'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from '../Asset'\nimport { useTags } from '../HeadContent'\nimport { RouterProvider } from '../RouterProvider'\nimport { Scripts } from '../Scripts'\nimport type { AnyRouter } from '@tanstack/router-core'\n\nexport function ServerHeadContent() {\n const tags = useTags()\n useAssets(() => {\n return (\n <MetaProvider>\n {tags().map((tag) => (\n <Asset {...tag} />\n ))}\n </MetaProvider>\n )\n })\n return null\n}\n\nconst docType = ssr('<!DOCTYPE html>')\n\nexport function RouterServer<TRouter extends AnyRouter>(props: {\n router: TRouter\n}) {\n return (\n <NoHydration>\n {docType as any}\n <html>\n <head>\n <HydrationScript />\n </head>\n <body>\n <Hydration>\n <RouterProvider\n router={props.router}\n InnerWrap={(props) => (\n <NoHydration>\n <MetaProvider>\n <ServerHeadContent />\n <Hydration>{props.children}</Hydration>\n <Scripts />\n </MetaProvider>\n </NoHydration>\n )}\n />\n </Hydration>\n </body>\n </html>\n </NoHydration>\n )\n}\n"],"names":["ServerHeadContent","tags","useTags","useAssets","_$createComponent","MetaProvider","children","map","tag","Asset","docType","ssr","RouterServer","props","NoHydration","_el$","_tmpl$","_el$3","firstChild","_$insert","Hydration","RouterProvider","router","InnerWrap","Scripts"],"mappings":";;;;;;;;;AAcO,SAASA,oBAAoB;AAClC,QAAMC,OAAOC,YAAAA,QAAAA;AACbC,QAAAA,UAAU,MAAM;AACd,WAAAC,MAAAA,gBACGC,KAAAA,cAAY;AAAA,MAAA,IAAAC,WAAA;AAAA,eACVL,OAAOM,IAAKC,SAAGJ,sBACbK,MAAAA,OAAUD,GAAG,CACf;AAAA,MAAC;AAAA,IAAA,CAAA;AAAA,EAGR,CAAC;AACD,SAAO;AACT;AAEA,MAAME,UAAUC,MAAAA,IAAI,iBAAiB;AAE9B,SAASC,aAAwCC,OAErD;AACD,SAAAT,MAAAA,gBACGU,MAAAA,aAAW;AAAA,IAAA,IAAAR,WAAA;AAAA,aAAA,CACTI,UAAc,MAAA;AAAA,YAAAK,OAAAC,OAAAA,GAAAC,QAAAF,KAAAG;AAAAC,qBAAAF,OAAAb,MAAAA,gBAMVgB,iBAAS;AAAA,UAAA,IAAAd,WAAA;AAAA,mBAAAF,MAAAA,gBACPiB,eAAAA,gBAAc;AAAA,cAAA,IACbC,SAAM;AAAA,uBAAET,MAAMS;AAAAA,cAAM;AAAA,cACpBC,WAAYV,CAAAA,WAAKT,MAAAA,gBACdU,mBAAW;AAAA,gBAAA,IAAAR,WAAA;AAAA,yBAAAF,MAAAA,gBACTC,KAAAA,cAAY;AAAA,oBAAA,IAAAC,WAAA;AAAA,6BAAA,CAAAF,MAAAA,gBACVJ,mBAAiB,CAAA,CAAA,GAAAI,MAAAA,gBACjBgB,MAAAA,WAAS;AAAA,wBAAA,IAAAd,WAAA;AAAA,iCAAEO,OAAMP;AAAAA,wBAAQ;AAAA,sBAAA,CAAA,GAAAF,MAAAA,gBACzBoB,iBAAO,CAAA,CAAA,CAAA;AAAA,oBAAA;AAAA,kBAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA,CAGb;AAAA,UAAA;AAAA,QAAA,CAAA,CAAA;AAAA,eAAAT;AAAAA,MAAA,IAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAOf;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RouterClient } from './RouterClient.cjs';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const server = require("@tanstack/router-core/ssr/server");
|
|
5
|
+
const RouterServer = require("./RouterServer.cjs");
|
|
6
|
+
const renderRouterToString = require("./renderRouterToString.cjs");
|
|
7
|
+
const defaultRenderHandler = server.defineHandlerCallback(({
|
|
8
|
+
router,
|
|
9
|
+
responseHeaders
|
|
10
|
+
}) => renderRouterToString.renderRouterToString({
|
|
11
|
+
router,
|
|
12
|
+
responseHeaders,
|
|
13
|
+
children: () => Solid.createComponent(RouterServer.RouterServer, {
|
|
14
|
+
router
|
|
15
|
+
})
|
|
16
|
+
}));
|
|
17
|
+
exports.defaultRenderHandler = defaultRenderHandler;
|
|
18
|
+
//# sourceMappingURL=defaultRenderHandler.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultRenderHandler.cjs","sources":["../../../src/ssr/defaultRenderHandler.tsx"],"sourcesContent":["import { defineHandlerCallback } from '@tanstack/router-core/ssr/server'\nimport { RouterServer } from './RouterServer'\nimport { renderRouterToString } from './renderRouterToString'\n\nexport const defaultRenderHandler = defineHandlerCallback(\n ({ router, responseHeaders }) =>\n renderRouterToString({\n router,\n responseHeaders,\n children: () => <RouterServer router={router} />,\n }),\n)\n"],"names":["defaultRenderHandler","defineHandlerCallback","router","responseHeaders","renderRouterToString","children","_$createComponent","RouterServer"],"mappings":";;;;;;AAIO,MAAMA,uBAAuBC,OAAAA,sBAClC,CAAC;AAAA,EAAEC;AAAAA,EAAQC;AAAgB,MACzBC,0CAAqB;AAAA,EACnBF;AAAAA,EACAC;AAAAA,EACAE,UAAUA,MAAAC,MAAAA,gBAAOC,2BAAY;AAAA,IAACL;AAAAA,EAAAA,CAAc;AAC9C,CAAC,CACL;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultRenderHandler: import('@tanstack/router-core/ssr/server').HandlerCallback<import('@tanstack/router-core').AnyRouter>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const server = require("@tanstack/router-core/ssr/server");
|
|
5
|
+
const RouterServer = require("./RouterServer.cjs");
|
|
6
|
+
const renderRouterToStream = require("./renderRouterToStream.cjs");
|
|
7
|
+
const defaultStreamHandler = server.defineHandlerCallback(({
|
|
8
|
+
request,
|
|
9
|
+
router,
|
|
10
|
+
responseHeaders
|
|
11
|
+
}) => renderRouterToStream.renderRouterToStream({
|
|
12
|
+
request,
|
|
13
|
+
router,
|
|
14
|
+
responseHeaders,
|
|
15
|
+
children: () => Solid.createComponent(RouterServer.RouterServer, {
|
|
16
|
+
router
|
|
17
|
+
})
|
|
18
|
+
}));
|
|
19
|
+
exports.defaultStreamHandler = defaultStreamHandler;
|
|
20
|
+
//# sourceMappingURL=defaultStreamHandler.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultStreamHandler.cjs","sources":["../../../src/ssr/defaultStreamHandler.tsx"],"sourcesContent":["import { defineHandlerCallback } from '@tanstack/router-core/ssr/server'\nimport { RouterServer } from './RouterServer'\nimport { renderRouterToStream } from './renderRouterToStream'\n\nexport const defaultStreamHandler = defineHandlerCallback(\n ({ request, router, responseHeaders }) =>\n renderRouterToStream({\n request,\n router,\n responseHeaders,\n children: () => <RouterServer router={router} />,\n }),\n)\n"],"names":["defaultStreamHandler","defineHandlerCallback","request","router","responseHeaders","renderRouterToStream","children","_$createComponent","RouterServer"],"mappings":";;;;;;AAIO,MAAMA,uBAAuBC,OAAAA,sBAClC,CAAC;AAAA,EAAEC;AAAAA,EAASC;AAAAA,EAAQC;AAAgB,MAClCC,0CAAqB;AAAA,EACnBH;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAE,UAAUA,MAAAC,MAAAA,gBAAOC,2BAAY;AAAA,IAACL;AAAAA,EAAAA,CAAc;AAC9C,CAAC,CACL;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultStreamHandler: import('@tanstack/router-core/ssr/server').HandlerCallback<import('@tanstack/router-core').AnyRouter>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const isbot = require("isbot");
|
|
5
|
+
const server = require("@tanstack/router-core/ssr/server");
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
8
|
+
if (e) {
|
|
9
|
+
for (const k in e) {
|
|
10
|
+
if (k !== "default") {
|
|
11
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: () => e[k]
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
|
|
23
|
+
const renderRouterToStream = async ({
|
|
24
|
+
request,
|
|
25
|
+
router,
|
|
26
|
+
responseHeaders,
|
|
27
|
+
children
|
|
28
|
+
}) => {
|
|
29
|
+
const {
|
|
30
|
+
writable,
|
|
31
|
+
readable
|
|
32
|
+
} = new TransformStream();
|
|
33
|
+
const stream = Solid__namespace.renderToStream(children);
|
|
34
|
+
if (isbot.isbot(request.headers.get("User-Agent"))) {
|
|
35
|
+
await stream;
|
|
36
|
+
}
|
|
37
|
+
stream.pipeTo(writable);
|
|
38
|
+
const responseStream = server.transformReadableStreamWithRouter(router, readable);
|
|
39
|
+
return new Response(responseStream, {
|
|
40
|
+
status: router.state.statusCode,
|
|
41
|
+
headers: responseHeaders
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
exports.renderRouterToStream = renderRouterToStream;
|
|
45
|
+
//# sourceMappingURL=renderRouterToStream.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderRouterToStream.cjs","sources":["../../../src/ssr/renderRouterToStream.tsx"],"sourcesContent":["import * as Solid from 'solid-js/web'\nimport { isbot } from 'isbot'\nimport { transformReadableStreamWithRouter } from '@tanstack/router-core/ssr/server'\nimport type { JSXElement } from 'solid-js'\nimport type { ReadableStream } from 'node:stream/web'\nimport type { AnyRouter } from '@tanstack/router-core'\n\nexport const renderRouterToStream = async ({\n request,\n router,\n responseHeaders,\n children,\n}: {\n request: Request\n router: AnyRouter\n responseHeaders: Headers\n children: () => JSXElement\n}) => {\n const { writable, readable } = new TransformStream()\n\n const stream = Solid.renderToStream(children)\n\n if (isbot(request.headers.get('User-Agent'))) {\n await stream\n }\n stream.pipeTo(writable)\n\n const responseStream = transformReadableStreamWithRouter(\n router,\n readable as unknown as ReadableStream,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n}\n"],"names":["renderRouterToStream","request","router","responseHeaders","children","writable","readable","TransformStream","stream","Solid","renderToStream","isbot","headers","get","pipeTo","responseStream","transformReadableStreamWithRouter","Response","status","state","statusCode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,uBAAuB,OAAO;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAMF,MAAM;AACJ,QAAM;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,EAAAA,IAAa,IAAIC,gBAAAA;AAEnC,QAAMC,SAASC,iBAAMC,eAAeN,QAAQ;AAE5C,MAAIO,MAAAA,MAAMV,QAAQW,QAAQC,IAAI,YAAY,CAAC,GAAG;AAC5C,UAAML;AAAAA,EACR;AACAA,SAAOM,OAAOT,QAAQ;AAEtB,QAAMU,iBAAiBC,OAAAA,kCACrBd,QACAI,QACF;AACA,SAAO,IAAIW,SAASF,gBAAuB;AAAA,IACzCG,QAAQhB,OAAOiB,MAAMC;AAAAA,IACrBR,SAAST;AAAAA,EAAAA,CACV;AACH;;"}
|