@tanstack/router-core 0.0.1-beta.9 → 1.20.3-alpha.1
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/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/cjs/Matches.cjs +13 -0
- package/dist/cjs/Matches.cjs.map +1 -0
- package/dist/cjs/Matches.d.cts +109 -0
- package/dist/cjs/RouterProvider.d.cts +26 -0
- package/dist/cjs/defer.cjs +25 -0
- package/dist/cjs/defer.cjs.map +1 -0
- package/dist/cjs/defer.d.cts +20 -0
- package/dist/cjs/fileRoute.d.cts +23 -0
- package/dist/cjs/history.d.cts +8 -0
- package/dist/cjs/index.cjs +80 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +41 -0
- package/dist/cjs/link.cjs +5 -0
- package/dist/cjs/link.cjs.map +1 -0
- package/dist/cjs/link.d.cts +200 -0
- package/dist/cjs/location.d.cts +12 -0
- package/dist/cjs/manifest.d.cts +24 -0
- package/dist/cjs/not-found.cjs +13 -0
- package/dist/cjs/not-found.cjs.map +1 -0
- package/dist/cjs/not-found.d.cts +20 -0
- package/dist/cjs/path.cjs +412 -0
- package/dist/cjs/path.cjs.map +1 -0
- package/dist/cjs/path.d.cts +56 -0
- package/dist/cjs/qss.cjs +38 -0
- package/dist/cjs/qss.cjs.map +1 -0
- package/dist/cjs/qss.d.cts +22 -0
- package/dist/cjs/redirect.cjs +34 -0
- package/dist/cjs/redirect.cjs.map +1 -0
- package/dist/cjs/redirect.d.cts +38 -0
- package/dist/cjs/root.cjs +5 -0
- package/dist/cjs/root.cjs.map +1 -0
- package/dist/cjs/root.d.cts +2 -0
- package/dist/cjs/route.cjs +119 -0
- package/dist/cjs/route.cjs.map +1 -0
- package/dist/cjs/route.d.cts +422 -0
- package/dist/cjs/routeInfo.d.cts +54 -0
- package/dist/cjs/router.cjs +1800 -0
- package/dist/cjs/router.cjs.map +1 -0
- package/dist/cjs/router.d.cts +630 -0
- package/dist/cjs/scroll-restoration.cjs +196 -0
- package/dist/cjs/scroll-restoration.cjs.map +1 -0
- package/dist/cjs/scroll-restoration.d.cts +38 -0
- package/dist/cjs/searchMiddleware.cjs +42 -0
- package/dist/cjs/searchMiddleware.cjs.map +1 -0
- package/dist/cjs/searchMiddleware.d.cts +5 -0
- package/dist/cjs/searchParams.cjs +61 -0
- package/dist/cjs/searchParams.cjs.map +1 -0
- package/dist/cjs/searchParams.d.cts +7 -0
- package/dist/cjs/serializer.d.cts +22 -0
- package/dist/cjs/structuralSharing.d.cts +4 -0
- package/dist/cjs/typePrimitives.d.cts +65 -0
- package/dist/cjs/useLoaderData.d.cts +5 -0
- package/dist/cjs/useLoaderDeps.d.cts +5 -0
- package/dist/cjs/useNavigate.d.cts +3 -0
- package/dist/cjs/useParams.d.cts +5 -0
- package/dist/cjs/useRouteContext.d.cts +9 -0
- package/dist/cjs/useSearch.d.cts +5 -0
- package/dist/cjs/utils.cjs +160 -0
- package/dist/cjs/utils.cjs.map +1 -0
- package/dist/cjs/utils.d.cts +105 -0
- package/dist/cjs/validators.d.cts +51 -0
- package/dist/esm/Matches.d.ts +109 -0
- package/dist/esm/Matches.js +13 -0
- package/dist/esm/Matches.js.map +1 -0
- package/dist/esm/RouterProvider.d.ts +26 -0
- package/dist/esm/defer.d.ts +20 -0
- package/dist/esm/defer.js +25 -0
- package/dist/esm/defer.js.map +1 -0
- package/dist/esm/fileRoute.d.ts +23 -0
- package/dist/esm/history.d.ts +8 -0
- package/dist/esm/index.d.ts +41 -0
- package/dist/esm/index.js +80 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/link.d.ts +200 -0
- package/dist/esm/link.js +5 -0
- package/dist/esm/link.js.map +1 -0
- package/dist/esm/location.d.ts +12 -0
- package/dist/esm/manifest.d.ts +24 -0
- package/dist/esm/not-found.d.ts +20 -0
- package/dist/esm/not-found.js +13 -0
- package/dist/esm/not-found.js.map +1 -0
- package/dist/esm/path.d.ts +56 -0
- package/dist/esm/path.js +412 -0
- package/dist/esm/path.js.map +1 -0
- package/dist/esm/qss.d.ts +22 -0
- package/dist/esm/qss.js +38 -0
- package/dist/esm/qss.js.map +1 -0
- package/dist/esm/redirect.d.ts +38 -0
- package/dist/esm/redirect.js +34 -0
- package/dist/esm/redirect.js.map +1 -0
- package/dist/esm/root.d.ts +2 -0
- package/dist/esm/root.js +5 -0
- package/dist/esm/root.js.map +1 -0
- package/dist/esm/route.d.ts +422 -0
- package/dist/esm/route.js +119 -0
- package/dist/esm/route.js.map +1 -0
- package/dist/esm/routeInfo.d.ts +54 -0
- package/dist/esm/router.d.ts +630 -0
- package/dist/esm/router.js +1800 -0
- package/dist/esm/router.js.map +1 -0
- package/dist/esm/scroll-restoration.d.ts +38 -0
- package/dist/esm/scroll-restoration.js +196 -0
- package/dist/esm/scroll-restoration.js.map +1 -0
- package/dist/esm/searchMiddleware.d.ts +5 -0
- package/dist/esm/searchMiddleware.js +42 -0
- package/dist/esm/searchMiddleware.js.map +1 -0
- package/dist/esm/searchParams.d.ts +7 -0
- package/dist/esm/searchParams.js +61 -0
- package/dist/esm/searchParams.js.map +1 -0
- package/dist/esm/serializer.d.ts +22 -0
- package/dist/esm/structuralSharing.d.ts +4 -0
- package/dist/esm/typePrimitives.d.ts +65 -0
- package/dist/esm/useLoaderData.d.ts +5 -0
- package/dist/esm/useLoaderDeps.d.ts +5 -0
- package/dist/esm/useNavigate.d.ts +3 -0
- package/dist/esm/useParams.d.ts +5 -0
- package/dist/esm/useRouteContext.d.ts +9 -0
- package/dist/esm/useSearch.d.ts +5 -0
- package/dist/esm/utils.d.ts +105 -0
- package/dist/esm/utils.js +160 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/validators.d.ts +51 -0
- package/package.json +36 -32
- package/src/Matches.ts +239 -0
- package/src/RouterProvider.ts +50 -0
- package/src/defer.ts +52 -0
- package/src/fileRoute.ts +140 -0
- package/src/history.ts +9 -0
- package/src/index.ts +421 -19
- package/src/link.ts +580 -286
- package/src/location.ts +13 -0
- package/src/manifest.ts +32 -0
- package/src/not-found.ts +29 -0
- package/src/path.ts +425 -49
- package/src/qss.ts +70 -41
- package/src/redirect.ts +100 -0
- package/src/root.ts +2 -0
- package/src/route.ts +1682 -218
- package/src/routeInfo.ts +224 -217
- package/src/router.ts +3100 -1073
- package/src/scroll-restoration.ts +340 -0
- package/src/searchMiddleware.ts +54 -0
- package/src/searchParams.ts +43 -20
- package/src/serializer.ts +32 -0
- package/src/structuralSharing.ts +7 -0
- package/src/typePrimitives.ts +181 -0
- package/src/useLoaderData.ts +20 -0
- package/src/useLoaderDeps.ts +13 -0
- package/src/useNavigate.ts +13 -0
- package/src/useParams.ts +20 -0
- package/src/useRouteContext.ts +39 -0
- package/src/useSearch.ts +20 -0
- package/src/utils.ts +369 -75
- package/src/validators.ts +121 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -33
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +0 -33
- package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +0 -1
- package/build/cjs/node_modules/history/index.js +0 -815
- package/build/cjs/node_modules/history/index.js.map +0 -1
- package/build/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +0 -30
- package/build/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +0 -1
- package/build/cjs/packages/router-core/src/index.js +0 -58
- package/build/cjs/packages/router-core/src/index.js.map +0 -1
- package/build/cjs/packages/router-core/src/path.js +0 -222
- package/build/cjs/packages/router-core/src/path.js.map +0 -1
- package/build/cjs/packages/router-core/src/qss.js +0 -71
- package/build/cjs/packages/router-core/src/qss.js.map +0 -1
- package/build/cjs/packages/router-core/src/route.js +0 -150
- package/build/cjs/packages/router-core/src/route.js.map +0 -1
- package/build/cjs/packages/router-core/src/routeConfig.js +0 -69
- package/build/cjs/packages/router-core/src/routeConfig.js.map +0 -1
- package/build/cjs/packages/router-core/src/routeMatch.js +0 -266
- package/build/cjs/packages/router-core/src/routeMatch.js.map +0 -1
- package/build/cjs/packages/router-core/src/router.js +0 -822
- package/build/cjs/packages/router-core/src/router.js.map +0 -1
- package/build/cjs/packages/router-core/src/searchParams.js +0 -70
- package/build/cjs/packages/router-core/src/searchParams.js.map +0 -1
- package/build/cjs/packages/router-core/src/utils.js +0 -125
- package/build/cjs/packages/router-core/src/utils.js.map +0 -1
- package/build/esm/index.js +0 -2481
- package/build/esm/index.js.map +0 -1
- package/build/stats-html.html +0 -4034
- package/build/stats-react.json +0 -493
- package/build/types/index.d.ts +0 -618
- package/build/umd/index.development.js +0 -2514
- package/build/umd/index.development.js.map +0 -1
- package/build/umd/index.production.js +0 -12
- package/build/umd/index.production.js.map +0 -1
- package/src/frameworks.ts +0 -12
- package/src/routeConfig.ts +0 -495
- package/src/routeMatch.ts +0 -374
package/src/routeInfo.ts
CHANGED
|
@@ -1,228 +1,235 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
AnyRouteConfig,
|
|
7
|
-
AnyRouteConfigWithChildren,
|
|
8
|
-
AnySearchSchema,
|
|
9
|
-
RootRouteId,
|
|
10
|
-
RouteConfig,
|
|
11
|
-
RouteOptions,
|
|
12
|
-
} from './routeConfig'
|
|
13
|
-
import { IsAny, Values } from './utils'
|
|
14
|
-
|
|
15
|
-
export interface AnyAllRouteInfo {
|
|
16
|
-
routeConfig: AnyRouteConfig
|
|
17
|
-
routeInfo: AnyRouteInfo
|
|
18
|
-
routeInfoById: Record<string, AnyRouteInfo>
|
|
19
|
-
routeInfoByFullPath: Record<string, AnyRouteInfo>
|
|
20
|
-
routeIds: any
|
|
21
|
-
routePaths: any
|
|
22
|
-
}
|
|
1
|
+
import type { InferFileRouteTypes } from './fileRoute'
|
|
2
|
+
import type { AddTrailingSlash, RemoveTrailingSlashes } from './link'
|
|
3
|
+
import type { AnyRoute } from './route'
|
|
4
|
+
import type { AnyRouter, TrailingSlashOption } from './router'
|
|
5
|
+
import type { PartialMergeAll } from './utils'
|
|
23
6
|
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
routeInfo: RouteInfo
|
|
27
|
-
routeInfoById: Record<string, RouteInfo>
|
|
28
|
-
routeInfoByFullPath: Record<string, RouteInfo>
|
|
29
|
-
routeIds: string
|
|
30
|
-
routePaths: string
|
|
7
|
+
export type ParseRoute<TRouteTree, TAcc = TRouteTree> = TRouteTree extends {
|
|
8
|
+
types: { children: infer TChildren }
|
|
31
9
|
}
|
|
10
|
+
? unknown extends TChildren
|
|
11
|
+
? TAcc
|
|
12
|
+
: TChildren extends ReadonlyArray<any>
|
|
13
|
+
? ParseRoute<TChildren[number], TAcc | TChildren[number]>
|
|
14
|
+
: ParseRoute<
|
|
15
|
+
TChildren[keyof TChildren],
|
|
16
|
+
TAcc | TChildren[keyof TChildren]
|
|
17
|
+
>
|
|
18
|
+
: TAcc
|
|
32
19
|
|
|
33
|
-
export
|
|
34
|
-
extends
|
|
20
|
+
export type ParseRouteWithoutBranches<TRouteTree> =
|
|
21
|
+
ParseRoute<TRouteTree> extends infer TRoute extends AnyRoute
|
|
22
|
+
? TRoute extends any
|
|
23
|
+
? unknown extends TRoute['types']['children']
|
|
24
|
+
? TRoute
|
|
25
|
+
: TRoute['types']['children'] extends ReadonlyArray<any>
|
|
26
|
+
? '/' extends TRoute['types']['children'][number]['path']
|
|
27
|
+
? never
|
|
28
|
+
: TRoute
|
|
29
|
+
: '/' extends TRoute['types']['children'][keyof TRoute['types']['children']]['path']
|
|
30
|
+
? never
|
|
31
|
+
: TRoute
|
|
32
|
+
: never
|
|
33
|
+
: never
|
|
35
34
|
|
|
36
|
-
export type
|
|
37
|
-
|
|
38
|
-
?
|
|
35
|
+
export type CodeRoutesById<TRouteTree extends AnyRoute> =
|
|
36
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
37
|
+
? {
|
|
38
|
+
[K in TRoutes as K['id']]: K
|
|
39
|
+
}
|
|
39
40
|
: never
|
|
40
41
|
|
|
41
|
-
type
|
|
42
|
-
|
|
43
|
-
?
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
TId
|
|
50
|
-
>
|
|
51
|
-
}>
|
|
52
|
-
: never // Children are not routes
|
|
53
|
-
: never // No children
|
|
54
|
-
|
|
55
|
-
type ParseRouteChild<TRouteConfig, TId> = TRouteConfig & {
|
|
56
|
-
id: TId
|
|
57
|
-
} extends AnyRouteConfig
|
|
58
|
-
? ParseRouteConfig<TRouteConfig>
|
|
59
|
-
: never
|
|
60
|
-
|
|
61
|
-
export type RouteConfigRoute<TRouteConfig> = TRouteConfig extends RouteConfig<
|
|
62
|
-
infer TId,
|
|
63
|
-
infer TRouteId,
|
|
64
|
-
infer TPath,
|
|
65
|
-
infer TFullPath,
|
|
66
|
-
infer TRouteLoaderData,
|
|
67
|
-
infer TLoaderData,
|
|
68
|
-
infer TActionPayload,
|
|
69
|
-
infer TActionResponse,
|
|
70
|
-
infer TParentSearchSchema,
|
|
71
|
-
infer TSearchSchema,
|
|
72
|
-
infer TFullSearchSchema,
|
|
73
|
-
infer TParentParams,
|
|
74
|
-
infer TParams,
|
|
75
|
-
infer TAllParams,
|
|
76
|
-
any
|
|
42
|
+
export type RoutesById<TRouteTree extends AnyRoute> =
|
|
43
|
+
InferFileRouteTypes<TRouteTree> extends never
|
|
44
|
+
? CodeRoutesById<TRouteTree>
|
|
45
|
+
: InferFileRouteTypes<TRouteTree>['fileRoutesById']
|
|
46
|
+
|
|
47
|
+
export type RouteById<TRouteTree extends AnyRoute, TId> = Extract<
|
|
48
|
+
RoutesById<TRouteTree>[TId & keyof RoutesById<TRouteTree>],
|
|
49
|
+
AnyRoute
|
|
77
50
|
>
|
|
78
|
-
? string extends TRouteId
|
|
79
|
-
? never
|
|
80
|
-
: RouteInfo<
|
|
81
|
-
TId,
|
|
82
|
-
TRouteId,
|
|
83
|
-
TPath,
|
|
84
|
-
TFullPath,
|
|
85
|
-
TRouteLoaderData,
|
|
86
|
-
TLoaderData,
|
|
87
|
-
TActionPayload,
|
|
88
|
-
TActionResponse,
|
|
89
|
-
TParentSearchSchema,
|
|
90
|
-
TSearchSchema,
|
|
91
|
-
TFullSearchSchema,
|
|
92
|
-
TParentParams,
|
|
93
|
-
TParams,
|
|
94
|
-
TAllParams
|
|
95
|
-
>
|
|
96
|
-
: never
|
|
97
|
-
|
|
98
|
-
export interface RoutesInfoInner<
|
|
99
|
-
TRouteConfig extends AnyRouteConfig,
|
|
100
|
-
TRouteInfo extends RouteInfo<
|
|
101
|
-
string,
|
|
102
|
-
string,
|
|
103
|
-
any,
|
|
104
|
-
any,
|
|
105
|
-
any,
|
|
106
|
-
any,
|
|
107
|
-
any,
|
|
108
|
-
any,
|
|
109
|
-
any,
|
|
110
|
-
any,
|
|
111
|
-
any,
|
|
112
|
-
any,
|
|
113
|
-
any,
|
|
114
|
-
any
|
|
115
|
-
> = RouteInfo,
|
|
116
|
-
TRouteInfoById = {
|
|
117
|
-
[TInfo in TRouteInfo as TInfo['id']]: TInfo
|
|
118
|
-
},
|
|
119
|
-
TRouteInfoByFullPath = {
|
|
120
|
-
[TInfo in TRouteInfo as TInfo['fullPath'] extends RootRouteId
|
|
121
|
-
? never
|
|
122
|
-
: string extends TInfo['fullPath']
|
|
123
|
-
? never
|
|
124
|
-
: TInfo['fullPath']]: TInfo
|
|
125
|
-
},
|
|
126
|
-
> {
|
|
127
|
-
routeConfig: TRouteConfig
|
|
128
|
-
routeInfo: TRouteInfo
|
|
129
|
-
routeInfoById: TRouteInfoById
|
|
130
|
-
routeInfoByFullPath: TRouteInfoByFullPath
|
|
131
|
-
routeIds: keyof TRouteInfoById
|
|
132
|
-
routePaths: keyof TRouteInfoByFullPath
|
|
133
|
-
}
|
|
134
51
|
|
|
135
|
-
export
|
|
136
|
-
extends
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
>
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
52
|
+
export type CodeRouteIds<TRouteTree extends AnyRoute> =
|
|
53
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
54
|
+
? TRoutes['id']
|
|
55
|
+
: never
|
|
56
|
+
|
|
57
|
+
export type RouteIds<TRouteTree extends AnyRoute> =
|
|
58
|
+
InferFileRouteTypes<TRouteTree> extends never
|
|
59
|
+
? CodeRouteIds<TRouteTree>
|
|
60
|
+
: InferFileRouteTypes<TRouteTree>['id']
|
|
61
|
+
|
|
62
|
+
export type ParentPath<TRouter extends AnyRouter> =
|
|
63
|
+
TrailingSlashOptionByRouter<TRouter> extends 'always'
|
|
64
|
+
? '../'
|
|
65
|
+
: TrailingSlashOptionByRouter<TRouter> extends 'never'
|
|
66
|
+
? '..'
|
|
67
|
+
: '../' | '..'
|
|
68
|
+
|
|
69
|
+
export type CurrentPath<TRouter extends AnyRouter> =
|
|
70
|
+
TrailingSlashOptionByRouter<TRouter> extends 'always'
|
|
71
|
+
? './'
|
|
72
|
+
: TrailingSlashOptionByRouter<TRouter> extends 'never'
|
|
73
|
+
? '.'
|
|
74
|
+
: './' | '.'
|
|
75
|
+
|
|
76
|
+
export type ToPath<TRouter extends AnyRouter, TTo extends string> =
|
|
77
|
+
TrailingSlashOptionByRouter<TRouter> extends 'always'
|
|
78
|
+
? AddTrailingSlash<TTo>
|
|
79
|
+
: TrailingSlashOptionByRouter<TRouter> extends 'never'
|
|
80
|
+
? RemoveTrailingSlashes<TTo>
|
|
81
|
+
: AddTrailingSlash<TTo> | RemoveTrailingSlashes<TTo>
|
|
82
|
+
|
|
83
|
+
export type CatchAllPaths<TRouter extends AnyRouter> =
|
|
84
|
+
| CurrentPath<TRouter>
|
|
85
|
+
| ParentPath<TRouter>
|
|
86
|
+
|
|
87
|
+
export type CodeRoutesByPath<TRouteTree extends AnyRoute> =
|
|
88
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
89
|
+
? {
|
|
90
|
+
[K in TRoutes as K['fullPath']]: K
|
|
91
|
+
}
|
|
92
|
+
: never
|
|
93
|
+
|
|
94
|
+
export type RoutesByPath<TRouteTree extends AnyRoute> =
|
|
95
|
+
InferFileRouteTypes<TRouteTree> extends never
|
|
96
|
+
? CodeRoutesByPath<TRouteTree>
|
|
97
|
+
: InferFileRouteTypes<TRouteTree>['fileRoutesByFullPath']
|
|
98
|
+
|
|
99
|
+
export type RouteByPath<TRouteTree extends AnyRoute, TPath> = Extract<
|
|
100
|
+
RoutesByPath<TRouteTree>[TPath & keyof RoutesByPath<TRouteTree>],
|
|
101
|
+
AnyRoute
|
|
102
|
+
>
|
|
103
|
+
|
|
104
|
+
export type CodeRoutePaths<TRouteTree extends AnyRoute> =
|
|
105
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
106
|
+
? TRoutes['fullPath']
|
|
107
|
+
: never
|
|
108
|
+
|
|
109
|
+
export type RoutePaths<TRouteTree extends AnyRoute> = unknown extends TRouteTree
|
|
110
|
+
? string
|
|
111
|
+
:
|
|
112
|
+
| (InferFileRouteTypes<TRouteTree> extends never
|
|
113
|
+
? CodeRoutePaths<TRouteTree>
|
|
114
|
+
: InferFileRouteTypes<TRouteTree>['fullPaths'])
|
|
115
|
+
| '/'
|
|
116
|
+
|
|
117
|
+
export type RouteToPathAlwaysTrailingSlash<TRoute extends AnyRoute> =
|
|
118
|
+
TRoute['path'] extends '/'
|
|
119
|
+
? TRoute['fullPath']
|
|
120
|
+
: TRoute['fullPath'] extends '/'
|
|
121
|
+
? TRoute['fullPath']
|
|
122
|
+
: `${TRoute['fullPath']}/`
|
|
123
|
+
|
|
124
|
+
export type RouteToPathNeverTrailingSlash<TRoute extends AnyRoute> =
|
|
125
|
+
TRoute['path'] extends '/'
|
|
126
|
+
? TRoute['fullPath'] extends '/'
|
|
127
|
+
? TRoute['fullPath']
|
|
128
|
+
: RemoveTrailingSlashes<TRoute['fullPath']>
|
|
129
|
+
: TRoute['fullPath']
|
|
130
|
+
|
|
131
|
+
export type RouteToPathPreserveTrailingSlash<TRoute extends AnyRoute> =
|
|
132
|
+
| RouteToPathNeverTrailingSlash<TRoute>
|
|
133
|
+
| RouteToPathAlwaysTrailingSlash<TRoute>
|
|
200
134
|
|
|
201
|
-
export type
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
>
|
|
135
|
+
export type RouteToPathByTrailingSlashOption<TRoute extends AnyRoute> = {
|
|
136
|
+
always: RouteToPathAlwaysTrailingSlash<TRoute>
|
|
137
|
+
preserve: RouteToPathPreserveTrailingSlash<TRoute>
|
|
138
|
+
never: RouteToPathNeverTrailingSlash<TRoute>
|
|
206
139
|
}
|
|
207
140
|
|
|
208
|
-
export type
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
141
|
+
export type TrailingSlashOptionByRouter<TRouter extends AnyRouter> =
|
|
142
|
+
TrailingSlashOption extends TRouter['options']['trailingSlash']
|
|
143
|
+
? 'never'
|
|
144
|
+
: NonNullable<TRouter['options']['trailingSlash']>
|
|
145
|
+
|
|
146
|
+
export type RouteToByRouter<
|
|
147
|
+
TRouter extends AnyRouter,
|
|
148
|
+
TRoute extends AnyRoute,
|
|
149
|
+
> = RouteToPathByTrailingSlashOption<TRoute>[TrailingSlashOptionByRouter<TRouter>]
|
|
150
|
+
|
|
151
|
+
export type CodeRouteToPath<TRouter extends AnyRouter> =
|
|
152
|
+
ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoute extends
|
|
153
|
+
AnyRoute
|
|
154
|
+
? TRoute extends any
|
|
155
|
+
? RouteToByRouter<TRouter, TRoute>
|
|
156
|
+
: never
|
|
157
|
+
: never
|
|
158
|
+
|
|
159
|
+
export type FileRouteToPath<
|
|
160
|
+
TRouter extends AnyRouter,
|
|
161
|
+
TTo = InferFileRouteTypes<TRouter['routeTree']>['to'],
|
|
162
|
+
TTrailingSlashOption = TrailingSlashOptionByRouter<TRouter>,
|
|
163
|
+
> = 'never' extends TTrailingSlashOption
|
|
164
|
+
? TTo
|
|
165
|
+
: 'always' extends TTrailingSlashOption
|
|
166
|
+
? AddTrailingSlash<TTo>
|
|
167
|
+
: TTo | AddTrailingSlash<TTo>
|
|
168
|
+
|
|
169
|
+
export type RouteToPath<TRouter extends AnyRouter> = unknown extends TRouter
|
|
170
|
+
? string
|
|
171
|
+
: InferFileRouteTypes<TRouter['routeTree']> extends never
|
|
172
|
+
? CodeRouteToPath<TRouter>
|
|
173
|
+
: FileRouteToPath<TRouter>
|
|
174
|
+
|
|
175
|
+
export type CodeRoutesByToPath<TRouter extends AnyRouter> =
|
|
176
|
+
ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoutes extends
|
|
177
|
+
AnyRoute
|
|
178
|
+
? {
|
|
179
|
+
[TRoute in TRoutes as RouteToByRouter<TRouter, TRoute>]: TRoute
|
|
180
|
+
}
|
|
181
|
+
: never
|
|
182
|
+
|
|
183
|
+
export type RoutesByToPath<TRouter extends AnyRouter> =
|
|
184
|
+
InferFileRouteTypes<TRouter['routeTree']> extends never
|
|
185
|
+
? CodeRoutesByToPath<TRouter>
|
|
186
|
+
: InferFileRouteTypes<TRouter['routeTree']>['fileRoutesByTo']
|
|
187
|
+
|
|
188
|
+
export type CodeRouteByToPath<TRouter extends AnyRouter, TTo> = Extract<
|
|
189
|
+
RoutesByToPath<TRouter>[TTo & keyof RoutesByToPath<TRouter>],
|
|
190
|
+
AnyRoute
|
|
191
|
+
>
|
|
192
|
+
|
|
193
|
+
export type FileRouteByToPath<TRouter extends AnyRouter, TTo> =
|
|
194
|
+
'never' extends TrailingSlashOptionByRouter<TRouter>
|
|
195
|
+
? CodeRouteByToPath<TRouter, TTo>
|
|
196
|
+
: 'always' extends TrailingSlashOptionByRouter<TRouter>
|
|
197
|
+
? TTo extends '/'
|
|
198
|
+
? CodeRouteByToPath<TRouter, TTo>
|
|
199
|
+
: TTo extends `${infer TPath}/`
|
|
200
|
+
? CodeRouteByToPath<TRouter, TPath>
|
|
201
|
+
: never
|
|
202
|
+
: CodeRouteByToPath<
|
|
203
|
+
TRouter,
|
|
204
|
+
TTo extends '/' ? TTo : RemoveTrailingSlashes<TTo>
|
|
205
|
+
>
|
|
206
|
+
|
|
207
|
+
export type RouteByToPath<TRouter extends AnyRouter, TTo> =
|
|
208
|
+
InferFileRouteTypes<TRouter['routeTree']> extends never
|
|
209
|
+
? CodeRouteByToPath<TRouter, TTo>
|
|
210
|
+
: FileRouteByToPath<TRouter, TTo>
|
|
211
|
+
|
|
212
|
+
export type FullSearchSchema<TRouteTree extends AnyRoute> =
|
|
213
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
214
|
+
? PartialMergeAll<TRoutes['types']['fullSearchSchema']>
|
|
215
|
+
: never
|
|
216
|
+
|
|
217
|
+
export type FullSearchSchemaInput<TRouteTree extends AnyRoute> =
|
|
218
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
219
|
+
? PartialMergeAll<TRoutes['types']['fullSearchSchemaInput']>
|
|
220
|
+
: never
|
|
221
|
+
|
|
222
|
+
export type AllParams<TRouteTree extends AnyRoute> =
|
|
223
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
224
|
+
? PartialMergeAll<TRoutes['types']['allParams']>
|
|
225
|
+
: never
|
|
226
|
+
|
|
227
|
+
export type AllContext<TRouteTree extends AnyRoute> =
|
|
228
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
229
|
+
? PartialMergeAll<TRoutes['types']['allContext']>
|
|
230
|
+
: never
|
|
231
|
+
|
|
232
|
+
export type AllLoaderData<TRouteTree extends AnyRoute> =
|
|
233
|
+
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
234
|
+
? PartialMergeAll<TRoutes['types']['loaderData']>
|
|
235
|
+
: never
|