@tanstack/react-router 1.49.2 → 1.49.8
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/fileRoute.cjs.map +1 -1
- package/dist/cjs/fileRoute.d.cts +4 -4
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +65 -69
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +1 -1
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +1 -1
- package/dist/esm/fileRoute.d.ts +4 -4
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/route.d.ts +65 -69
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.d.ts +1 -1
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/utils.d.ts +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/fileRoute.ts +20 -37
- package/src/route.ts +172 -185
- package/src/router.ts +0 -1
- package/src/utils.ts +2 -2
package/dist/cjs/route.d.cts
CHANGED
|
@@ -5,7 +5,7 @@ import { NavigateOptions, ParsePathParams, ToMaskOptions } from './link.cjs';
|
|
|
5
5
|
import { ParsedLocation } from './location.cjs';
|
|
6
6
|
import { RouteById, RouteIds, RoutePaths } from './routeInfo.cjs';
|
|
7
7
|
import { AnyRouter, RegisteredRouter, Router } from './router.cjs';
|
|
8
|
-
import { Assign, Constrain, Expand, NoInfer
|
|
8
|
+
import { Assign, Constrain, Expand, NoInfer } from './utils.cjs';
|
|
9
9
|
import { BuildLocationFn, NavigateFn } from './RouterProvider.cjs';
|
|
10
10
|
import { NotFoundError } from './not-found.cjs';
|
|
11
11
|
import { LazyRoute } from './fileRoute.cjs';
|
|
@@ -32,7 +32,7 @@ export type RoutePathOptionsIntersection<TCustomId, TPath> = {
|
|
|
32
32
|
path: TPath;
|
|
33
33
|
id: TCustomId;
|
|
34
34
|
};
|
|
35
|
-
export type RouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchValidator
|
|
35
|
+
export type RouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchValidator = undefined, TParams = AnyPathParams, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext> = BaseRouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn> & UpdatableRouteOptions<NoInfer<TParentRoute>, NoInfer<TCustomId>, NoInfer<TParams>, NoInfer<TSearchValidator>, NoInfer<TLoaderFn>, NoInfer<TLoaderDeps>, NoInfer<TRouterContext>, NoInfer<TRouteContextFn>, NoInfer<TBeforeLoadFn>>;
|
|
36
36
|
export type ParseSplatParams<TPath extends string> = TPath extends `${string}$` ? '_splat' : TPath extends `${string}$/${string}` ? '_splat' : never;
|
|
37
37
|
export interface SplatParams {
|
|
38
38
|
_splat?: string;
|
|
@@ -54,23 +54,23 @@ export type ParamsOptions<TPath extends string, TParams> = {
|
|
|
54
54
|
*/
|
|
55
55
|
stringifyParams?: StringifyParamsFn<TPath, TParams>;
|
|
56
56
|
};
|
|
57
|
-
export interface FullSearchSchemaOption<in out TParentRoute extends AnyRoute, in out TSearchValidator
|
|
57
|
+
export interface FullSearchSchemaOption<in out TParentRoute extends AnyRoute, in out TSearchValidator> {
|
|
58
58
|
search: Expand<ResolveFullSearchSchema<TParentRoute, TSearchValidator>>;
|
|
59
59
|
}
|
|
60
|
-
export type RouteContextFn<in out TParentRoute extends AnyRoute, in out TSearchValidator
|
|
61
|
-
export type BeforeLoadFn<in out TParentRoute extends AnyRoute, in out TSearchValidator
|
|
62
|
-
export type FileBaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TPath extends string = string, TSearchValidator
|
|
63
|
-
validateSearch?: TSearchValidator
|
|
60
|
+
export type RouteContextFn<in out TParentRoute extends AnyRoute, in out TSearchValidator, in out TParams, in out TRouterContext> = (ctx: RouteContextOptions<TParentRoute, TSearchValidator, TParams, TRouterContext>) => any;
|
|
61
|
+
export type BeforeLoadFn<in out TParentRoute extends AnyRoute, in out TSearchValidator, in out TParams, in out TRouterContext, in out TRouteContextFn> = (ctx: BeforeLoadContextOptions<TParentRoute, TSearchValidator, TParams, TRouterContext, TRouteContextFn>) => any;
|
|
62
|
+
export type FileBaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TPath extends string = string, TSearchValidator = undefined, TParams = {}, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext> = ParamsOptions<TPath, TParams> & {
|
|
63
|
+
validateSearch?: Constrain<TSearchValidator, AnySearchValidator, DefaultSearchValidator>;
|
|
64
64
|
shouldReload?: boolean | ((match: LoaderFnContext<TParentRoute, TParams, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn>) => any);
|
|
65
|
-
context?: Constrain<TRouteContextFn,
|
|
66
|
-
beforeLoad?: Constrain<TBeforeLoadFn,
|
|
65
|
+
context?: Constrain<TRouteContextFn, (ctx: RouteContextOptions<TParentRoute, TSearchValidator, TParams, TRouterContext>) => any>;
|
|
66
|
+
beforeLoad?: Constrain<TBeforeLoadFn, (ctx: BeforeLoadContextOptions<TParentRoute, TSearchValidator, TParams, TRouterContext, TRouteContextFn>) => any>;
|
|
67
67
|
loaderDeps?: (opts: FullSearchSchemaOption<TParentRoute, TSearchValidator>) => TLoaderDeps;
|
|
68
|
-
loader?: (ctx: LoaderFnContext<TParentRoute, TParams, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn>) =>
|
|
68
|
+
loader?: Constrain<TLoaderFn, (ctx: LoaderFnContext<TParentRoute, TParams, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn>) => any>;
|
|
69
69
|
};
|
|
70
|
-
export type BaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchValidator
|
|
70
|
+
export type BaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchValidator = undefined, TParams = {}, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext> = RoutePathOptions<TCustomId, TPath> & FileBaseRouteOptions<TParentRoute, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn> & {
|
|
71
71
|
getParentRoute: () => TParentRoute;
|
|
72
72
|
};
|
|
73
|
-
export interface ContextOptions<in out TParentRoute extends AnyRoute, in out TSearchValidator
|
|
73
|
+
export interface ContextOptions<in out TParentRoute extends AnyRoute, in out TSearchValidator, in out TParams> extends FullSearchSchemaOption<TParentRoute, TSearchValidator> {
|
|
74
74
|
abortController: AbortController;
|
|
75
75
|
preload: boolean;
|
|
76
76
|
params: Expand<ResolveAllParamsFromParent<TParentRoute, TParams>>;
|
|
@@ -82,13 +82,13 @@ export interface ContextOptions<in out TParentRoute extends AnyRoute, in out TSe
|
|
|
82
82
|
buildLocation: BuildLocationFn;
|
|
83
83
|
cause: 'preload' | 'enter' | 'stay';
|
|
84
84
|
}
|
|
85
|
-
export interface RouteContextOptions<in out TParentRoute extends AnyRoute, in out TSearchValidator
|
|
85
|
+
export interface RouteContextOptions<in out TParentRoute extends AnyRoute, in out TSearchValidator, in out TParams, in out TRouterContext> extends ContextOptions<TParentRoute, TSearchValidator, TParams> {
|
|
86
86
|
context: Expand<RouteContextParameter<TParentRoute, TRouterContext>>;
|
|
87
87
|
}
|
|
88
|
-
export interface BeforeLoadContextOptions<in out TParentRoute extends AnyRoute, in out TSearchValidator
|
|
88
|
+
export interface BeforeLoadContextOptions<in out TParentRoute extends AnyRoute, in out TSearchValidator, in out TParams, in out TRouterContext, in out TRouteContextFn> extends ContextOptions<TParentRoute, TSearchValidator, TParams> {
|
|
89
89
|
context: Expand<BeforeLoadContextParameter<TParentRoute, TRouterContext, TRouteContextFn>>;
|
|
90
90
|
}
|
|
91
|
-
export
|
|
91
|
+
export interface UpdatableRouteOptions<in out TParentRoute extends AnyRoute, in out TRouteId, in out TParams, in out TSearchValidator, in out TLoaderFn, in out TLoaderDeps, in out TRouterContext, in out TRouteContextFn, in out TBeforeLoadFn> extends UpdatableStaticRouteOption {
|
|
92
92
|
caseSensitive?: boolean;
|
|
93
93
|
wrapInSuspense?: boolean;
|
|
94
94
|
component?: RouteComponent;
|
|
@@ -106,26 +106,28 @@ export type UpdatableRouteOptions<TParentRoute extends AnyRoute, TRouteId, TAllP
|
|
|
106
106
|
postSearchFilters?: Array<SearchFilter<ResolveFullSearchSchema<TParentRoute, TSearchValidator>>>;
|
|
107
107
|
onCatch?: (error: Error, errorInfo: React.ErrorInfo) => void;
|
|
108
108
|
onError?: (err: any) => void;
|
|
109
|
-
onEnter?: (match: RouteMatch<TRouteId,
|
|
110
|
-
onStay?: (match: RouteMatch<TRouteId,
|
|
111
|
-
onLeave?: (match: RouteMatch<TRouteId,
|
|
109
|
+
onEnter?: (match: RouteMatch<TRouteId, ResolveAllParamsFromParent<TParentRoute, TParams>, ResolveFullSearchSchema<TParentRoute, TSearchValidator>, ResolveLoaderData<TLoaderFn>, ResolveAllContext<TParentRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn>, TLoaderDeps>) => void;
|
|
110
|
+
onStay?: (match: RouteMatch<TRouteId, ResolveAllParamsFromParent<TParentRoute, TParams>, ResolveFullSearchSchema<TParentRoute, TSearchValidator>, ResolveLoaderData<TLoaderFn>, ResolveAllContext<TParentRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn>, TLoaderDeps>) => void;
|
|
111
|
+
onLeave?: (match: RouteMatch<TRouteId, ResolveAllParamsFromParent<TParentRoute, TParams>, ResolveFullSearchSchema<TParentRoute, TSearchValidator>, ResolveLoaderData<TLoaderFn>, ResolveAllContext<TParentRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn>, TLoaderDeps>) => void;
|
|
112
112
|
meta?: (ctx: {
|
|
113
|
-
matches: Array<RouteMatch<TRouteId,
|
|
114
|
-
match: RouteMatch<TRouteId,
|
|
115
|
-
params:
|
|
116
|
-
loaderData:
|
|
113
|
+
matches: Array<RouteMatch<TRouteId, ResolveAllParamsFromParent<TParentRoute, TParams>, ResolveFullSearchSchema<TParentRoute, TSearchValidator>, ResolveLoaderData<TLoaderFn>, ResolveAllContext<TParentRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn>, TLoaderDeps>>;
|
|
114
|
+
match: RouteMatch<TRouteId, ResolveAllParamsFromParent<TParentRoute, TParams>, ResolveFullSearchSchema<TParentRoute, TSearchValidator>, ResolveLoaderData<TLoaderFn>, ResolveAllContext<TParentRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn>, TLoaderDeps>;
|
|
115
|
+
params: ResolveAllParamsFromParent<TParentRoute, TParams>;
|
|
116
|
+
loaderData: ResolveLoaderData<TLoaderFn>;
|
|
117
117
|
}) => Array<React.JSX.IntrinsicElements['meta']>;
|
|
118
118
|
links?: () => Array<React.JSX.IntrinsicElements['link']>;
|
|
119
119
|
scripts?: () => Array<React.JSX.IntrinsicElements['script']>;
|
|
120
120
|
headers?: (ctx: {
|
|
121
|
-
loaderData:
|
|
121
|
+
loaderData: ResolveLoaderData<TLoaderFn>;
|
|
122
122
|
}) => Record<string, string>;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
staticData?: StaticDataRouteOption;
|
|
126
|
-
} : {
|
|
123
|
+
}
|
|
124
|
+
interface RequiredStaticDataRouteOption {
|
|
127
125
|
staticData: StaticDataRouteOption;
|
|
128
|
-
}
|
|
126
|
+
}
|
|
127
|
+
interface OptionalStaticDataRouteOption {
|
|
128
|
+
staticData?: StaticDataRouteOption;
|
|
129
|
+
}
|
|
130
|
+
export type UpdatableStaticRouteOption = {} extends StaticDataRouteOption ? OptionalStaticDataRouteOption : RequiredStaticDataRouteOption;
|
|
129
131
|
export type MetaDescriptor = {
|
|
130
132
|
charSet: 'utf-8';
|
|
131
133
|
} | {
|
|
@@ -171,7 +173,7 @@ export type SearchValidatorFn<TInput, TOutput> = (input: TInput) => TOutput;
|
|
|
171
173
|
export type SearchValidator<TInput, TOutput> = SearchValidatorObj<TInput, TOutput> | SearchValidatorFn<TInput, TOutput> | SearchValidatorAdapter<TInput, TOutput> | undefined;
|
|
172
174
|
export type AnySearchValidator = SearchValidator<any, any>;
|
|
173
175
|
export type DefaultSearchValidator = SearchValidator<Record<string, unknown>, AnySearchSchema>;
|
|
174
|
-
export type RouteLoaderFn<in out TParentRoute extends AnyRoute = AnyRoute, in out TParams = {}, in out TLoaderDeps = {}, in out TRouterContext = {}, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext
|
|
176
|
+
export type RouteLoaderFn<in out TParentRoute extends AnyRoute = AnyRoute, in out TParams = {}, in out TLoaderDeps = {}, in out TRouterContext = {}, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext> = (match: LoaderFnContext<TParentRoute, TParams, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn>) => any;
|
|
175
177
|
export interface LoaderFnContext<in out TParentRoute extends AnyRoute = AnyRoute, in out TParams = {}, in out TLoaderDeps = {}, in out TRouterContext = {}, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext> {
|
|
176
178
|
abortController: AbortController;
|
|
177
179
|
preload: boolean;
|
|
@@ -211,12 +213,12 @@ export type InferAllContext<TRoute> = unknown extends TRoute ? TRoute : TRoute e
|
|
|
211
213
|
allContext: infer TAllContext;
|
|
212
214
|
};
|
|
213
215
|
} ? TAllContext : {};
|
|
214
|
-
export type ResolveSearchSchemaFnInput<TSearchValidator
|
|
215
|
-
export type ResolveSearchSchemaInput<TSearchValidator
|
|
216
|
-
export type ResolveSearchSchemaFn<TSearchValidator
|
|
217
|
-
export type ResolveSearchSchema<TSearchValidator
|
|
218
|
-
export type ResolveFullSearchSchema<TParentRoute extends AnyRoute, TSearchValidator
|
|
219
|
-
export type ResolveFullSearchSchemaInput<TParentRoute extends AnyRoute, TSearchValidator
|
|
216
|
+
export type ResolveSearchSchemaFnInput<TSearchValidator> = TSearchValidator extends (input: infer TSearchSchemaInput) => any ? TSearchSchemaInput extends SearchSchemaInput ? Omit<TSearchSchemaInput, keyof SearchSchemaInput> : ResolveSearchSchemaFn<TSearchValidator> : AnySearchSchema;
|
|
217
|
+
export type ResolveSearchSchemaInput<TSearchValidator> = TSearchValidator extends AnySearchValidatorAdapter ? TSearchValidator['types']['input'] : TSearchValidator extends AnySearchValidatorObj ? ResolveSearchSchemaFnInput<TSearchValidator['parse']> : ResolveSearchSchemaFnInput<TSearchValidator>;
|
|
218
|
+
export type ResolveSearchSchemaFn<TSearchValidator> = TSearchValidator extends (...args: any) => infer TSearchSchema ? TSearchSchema : AnySearchSchema;
|
|
219
|
+
export type ResolveSearchSchema<TSearchValidator> = unknown extends TSearchValidator ? TSearchValidator : TSearchValidator extends AnySearchValidatorAdapter ? TSearchValidator['types']['output'] : TSearchValidator extends AnySearchValidatorObj ? ResolveSearchSchemaFn<TSearchValidator['parse']> : ResolveSearchSchemaFn<TSearchValidator>;
|
|
220
|
+
export type ResolveFullSearchSchema<TParentRoute extends AnyRoute, TSearchValidator> = unknown extends TParentRoute ? ResolveSearchSchema<TSearchValidator> : Assign<InferFullSearchSchema<TParentRoute>, ResolveSearchSchema<TSearchValidator>>;
|
|
221
|
+
export type ResolveFullSearchSchemaInput<TParentRoute extends AnyRoute, TSearchValidator> = Assign<InferFullSearchSchemaInput<TParentRoute>, ResolveSearchSchemaInput<TSearchValidator>>;
|
|
220
222
|
export type LooseReturnType<T> = T extends (...args: Array<any>) => infer TReturn ? TReturn : never;
|
|
221
223
|
export type LooseAsyncReturnType<T> = T extends (...args: Array<any>) => infer TReturn ? TReturn extends Promise<infer TReturn> ? TReturn : TReturn : never;
|
|
222
224
|
export type ContextReturnType<TContextFn> = unknown extends TContextFn ? TContextFn : LooseReturnType<TContextFn> extends never ? AnyContext : LooseReturnType<TContextFn>;
|
|
@@ -225,10 +227,8 @@ export type RouteContextParameter<TParentRoute extends AnyRoute, TRouterContext>
|
|
|
225
227
|
export type ResolveRouteContext<TRouteContextFn, TBeforeLoadFn> = Assign<ContextReturnType<TRouteContextFn>, ContextAsyncReturnType<TBeforeLoadFn>>;
|
|
226
228
|
export type BeforeLoadContextParameter<TParentRoute extends AnyRoute, TRouterContext, TRouteContextFn> = Assign<RouteContextParameter<TParentRoute, TRouterContext>, ContextReturnType<TRouteContextFn>>;
|
|
227
229
|
export type ResolveAllContext<TParentRoute extends AnyRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn> = Assign<BeforeLoadContextParameter<TParentRoute, TRouterContext, TRouteContextFn>, ContextAsyncReturnType<TBeforeLoadFn>>;
|
|
228
|
-
export type ResolveLoaderData<
|
|
229
|
-
|
|
230
|
-
] ? undefined : TLoaderDataReturn;
|
|
231
|
-
export interface AnyRoute extends Route<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> {
|
|
230
|
+
export type ResolveLoaderData<TLoaderFn> = unknown extends TLoaderFn ? TLoaderFn : LooseAsyncReturnType<TLoaderFn> extends never ? {} : LooseAsyncReturnType<TLoaderFn>;
|
|
231
|
+
export interface AnyRoute extends Route<any, any, any, any, any, any, any, any, any, any, any, any, any> {
|
|
232
232
|
}
|
|
233
233
|
export type AnyRouteWithContext<TContext> = AnyRoute & {
|
|
234
234
|
types: {
|
|
@@ -283,9 +283,9 @@ export declare class RouteApi<TId extends RouteIds<RegisteredRouter['routeTree']
|
|
|
283
283
|
useNavigate: () => UseNavigateResult<TRoute["fullPath"]>;
|
|
284
284
|
notFound: (opts?: NotFoundError) => NotFoundError;
|
|
285
285
|
}
|
|
286
|
-
export declare class Route<in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, in out TSearchValidator
|
|
286
|
+
export declare class Route<in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, in out TSearchValidator = undefined, in out TParams = ResolveParams<TPath>, in out TRouterContext = AnyContext, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, in out TLoaderFn = undefined, in out TChildren = unknown> {
|
|
287
287
|
isRoot: TParentRoute extends Route<any> ? true : false;
|
|
288
|
-
options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams,
|
|
288
|
+
options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn>;
|
|
289
289
|
parentRoute: TParentRoute;
|
|
290
290
|
id: TId;
|
|
291
291
|
path: TPath;
|
|
@@ -300,7 +300,7 @@ export declare class Route<in out TParentRoute extends RouteConstraints['TParent
|
|
|
300
300
|
/**
|
|
301
301
|
* @deprecated Use the `createRoute` function instead.
|
|
302
302
|
*/
|
|
303
|
-
constructor(options?: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams,
|
|
303
|
+
constructor(options?: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn>);
|
|
304
304
|
types: {
|
|
305
305
|
parentRoute: TParentRoute;
|
|
306
306
|
path: TPath;
|
|
@@ -314,24 +314,24 @@ export declare class Route<in out TParentRoute extends RouteConstraints['TParent
|
|
|
314
314
|
fullSearchSchema: ResolveFullSearchSchema<TParentRoute, TSearchValidator>;
|
|
315
315
|
fullSearchSchemaInput: ResolveFullSearchSchemaInput<TParentRoute, TSearchValidator>;
|
|
316
316
|
params: TParams;
|
|
317
|
-
allParams:
|
|
317
|
+
allParams: ResolveAllParamsFromParent<TParentRoute, TParams>;
|
|
318
318
|
routerContext: TRouterContext;
|
|
319
319
|
routeContext: ResolveRouteContext<TRouteContextFn, TBeforeLoadFn>;
|
|
320
320
|
routeContextFn: TRouteContextFn;
|
|
321
321
|
beforeLoadFn: TBeforeLoadFn;
|
|
322
322
|
allContext: ResolveAllContext<TParentRoute, TRouterContext, TRouteContextFn, TBeforeLoadFn>;
|
|
323
323
|
children: TChildren;
|
|
324
|
-
loaderData:
|
|
324
|
+
loaderData: ResolveLoaderData<TLoaderFn>;
|
|
325
325
|
loaderDeps: TLoaderDeps;
|
|
326
326
|
};
|
|
327
327
|
init: (opts: {
|
|
328
328
|
originalIndex: number;
|
|
329
329
|
}) => void;
|
|
330
|
-
addChildren<const TNewChildren extends Record<string, AnyRoute> | ReadonlyArray<AnyRoute>>(children: TNewChildren): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams,
|
|
331
|
-
updateLoader: <
|
|
332
|
-
loader: RouteLoaderFn<TParentRoute, TParams, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn
|
|
333
|
-
}) => Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams,
|
|
334
|
-
update: (options: UpdatableRouteOptions<TParentRoute, TCustomId,
|
|
330
|
+
addChildren<const TNewChildren extends Record<string, AnyRoute> | ReadonlyArray<AnyRoute>>(children: TNewChildren): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TNewChildren>;
|
|
331
|
+
updateLoader: <TNewLoaderFn>(options: {
|
|
332
|
+
loader: Constrain<TNewLoaderFn, RouteLoaderFn<TParentRoute, TParams, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn>>;
|
|
333
|
+
}) => Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TNewLoaderFn, TChildren>;
|
|
334
|
+
update: (options: UpdatableRouteOptions<TParentRoute, TCustomId, TParams, TSearchValidator, TLoaderFn, TLoaderDeps, TRouterContext, TRouteContextFn, TBeforeLoadFn>) => this;
|
|
335
335
|
lazy: (lazyFn: () => Promise<LazyRoute<any>>) => this;
|
|
336
336
|
useMatch: <TRouter extends AnyRouter = AnyRouter, TRouteTree extends AnyRoute = TRouter["routeTree"], TRouteMatch = MakeRouteMatch<TRouteTree, TId>, TSelected = TRouteMatch>(opts?: {
|
|
337
337
|
select?: (match: TRouteMatch) => TSelected;
|
|
@@ -342,48 +342,44 @@ export declare class Route<in out TParentRoute extends RouteConstraints['TParent
|
|
|
342
342
|
useSearch: <TSelected = Expand<ResolveFullSearchSchema<TParentRoute, TSearchValidator>>>(opts?: {
|
|
343
343
|
select?: (search: Expand<ResolveFullSearchSchema<TParentRoute, TSearchValidator>>) => TSelected;
|
|
344
344
|
}) => TSelected;
|
|
345
|
-
useParams: <TSelected = Expand<
|
|
346
|
-
select?: (search: Expand<
|
|
345
|
+
useParams: <TSelected = Expand<Assign<InferAllParams<TParentRoute>, TParams>>>(opts?: {
|
|
346
|
+
select?: (search: Expand<ResolveAllParamsFromParent<TParentRoute, TParams>>) => TSelected;
|
|
347
347
|
}) => TSelected;
|
|
348
348
|
useLoaderDeps: <TSelected = TLoaderDeps>(opts?: {
|
|
349
349
|
select?: (s: TLoaderDeps) => TSelected;
|
|
350
350
|
}) => TSelected;
|
|
351
|
-
useLoaderData: <TSelected =
|
|
352
|
-
select?: (search:
|
|
351
|
+
useLoaderData: <TSelected = ResolveLoaderData<TLoaderFn>>(opts?: {
|
|
352
|
+
select?: (search: ResolveLoaderData<TLoaderFn>) => TSelected;
|
|
353
353
|
}) => TSelected;
|
|
354
354
|
useNavigate: () => UseNavigateResult<TFullPath>;
|
|
355
355
|
}
|
|
356
|
-
export declare function createRoute<TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, TPath extends RouteConstraints['TPath'] = '/', TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, TSearchValidator
|
|
357
|
-
export type AnyRootRoute = RootRoute<any, any, any, any, any, any, any
|
|
358
|
-
export type RootRouteOptions<TSearchValidator
|
|
356
|
+
export declare function createRoute<TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, TPath extends RouteConstraints['TPath'] = '/', TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, TSearchValidator = undefined, TParams = ResolveParams<TPath>, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined, TChildren = unknown>(options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderFn, AnyContext, TRouteContextFn, TBeforeLoadFn>): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, AnyContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren>;
|
|
357
|
+
export type AnyRootRoute = RootRoute<any, any, any, any, any, any, any>;
|
|
358
|
+
export type RootRouteOptions<TSearchValidator = undefined, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined> = Omit<RouteOptions<any, // TParentRoute
|
|
359
359
|
RootRouteId, // TCustomId
|
|
360
360
|
'', // TPath
|
|
361
361
|
TSearchValidator, {}, // TParams
|
|
362
|
-
|
|
363
|
-
TLoaderDeps,
|
|
364
|
-
TLoaderData, // TLoaderData,
|
|
365
|
-
TRouterContext, TRouteContextFn, TBeforeLoadFn>, 'path' | 'id' | 'getParentRoute' | 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'params'>;
|
|
366
|
-
export declare function createRootRouteWithContext<TRouterContext extends {}>(): <TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>>(options?: RootRouteOptions<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderDataReturn, TLoaderData>) => RootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderData, ResolveLoaderData<TLoaderData>, unknown>;
|
|
362
|
+
TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn>, 'path' | 'id' | 'getParentRoute' | 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'params'>;
|
|
363
|
+
export declare function createRootRouteWithContext<TRouterContext extends {}>(): <TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TSearchValidator = undefined, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined>(options?: RootRouteOptions<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn>) => RootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, unknown>;
|
|
367
364
|
/**
|
|
368
365
|
* @deprecated Use the `createRootRouteWithContext` function instead.
|
|
369
366
|
*/
|
|
370
367
|
export declare const rootRouteWithContext: typeof createRootRouteWithContext;
|
|
371
|
-
export declare class RootRoute<in out TSearchValidator
|
|
368
|
+
export declare class RootRoute<in out TSearchValidator = undefined, in out TRouterContext = {}, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, in out TLoaderFn = undefined, TChildren = unknown> extends Route<any, // TParentRoute
|
|
372
369
|
'/', // TPath
|
|
373
370
|
'/', // TFullPath
|
|
374
371
|
string, // TCustomId
|
|
375
372
|
RootRouteId, // TId
|
|
376
373
|
TSearchValidator, // TSearchValidator
|
|
377
374
|
{}, // TParams
|
|
378
|
-
|
|
379
|
-
TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren> {
|
|
375
|
+
TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren> {
|
|
380
376
|
/**
|
|
381
377
|
* @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
|
|
382
378
|
*/
|
|
383
|
-
constructor(options?: RootRouteOptions<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps,
|
|
384
|
-
addChildren<const TNewChildren extends Record<string, AnyRoute> | ReadonlyArray<AnyRoute>>(children: TNewChildren): RootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps,
|
|
379
|
+
constructor(options?: RootRouteOptions<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn>);
|
|
380
|
+
addChildren<const TNewChildren extends Record<string, AnyRoute> | ReadonlyArray<AnyRoute>>(children: TNewChildren): RootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TNewChildren>;
|
|
385
381
|
}
|
|
386
|
-
export declare function createRootRoute<TSearchValidator
|
|
382
|
+
export declare function createRootRoute<TSearchValidator = undefined, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined>(options?: RootRouteOptions<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn>): RootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, unknown>;
|
|
387
383
|
export type ResolveFullPath<TParentRoute extends AnyRoute, TPath extends string, TPrefixed = RoutePrefix<TParentRoute['fullPath'], TPath>> = TPrefixed extends RootRouteId ? '/' : TPrefixed;
|
|
388
384
|
type RoutePrefix<TPrefix extends string, TPath extends string> = string extends TPath ? RootRouteId : TPath extends string ? TPrefix extends RootRouteId ? TPath extends '/' ? '/' : `/${TrimPath<TPath>}` : `${TPrefix}/${TPath}` extends '/' ? '/' : `/${TrimPathLeft<`${TrimPathRight<TPrefix>}/${TrimPath<TPath>}`>}` : never;
|
|
389
385
|
export type TrimPath<T extends string> = '' extends T ? '' : TrimPathRight<TrimPathLeft<T>>;
|
|
@@ -430,7 +426,7 @@ export type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {
|
|
|
430
426
|
export type RouteComponent<TProps = any> = AsyncRouteComponent<TProps>;
|
|
431
427
|
export type ErrorRouteComponent = RouteComponent<ErrorComponentProps>;
|
|
432
428
|
export type NotFoundRouteComponent = SyncRouteComponent<NotFoundRouteProps>;
|
|
433
|
-
export declare class NotFoundRoute<TParentRoute extends AnyRootRoute, TRouterContext = AnyContext, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TSearchValidator
|
|
434
|
-
constructor(options: Omit<RouteOptions<TParentRoute, string, string, TSearchValidator, {},
|
|
429
|
+
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> {
|
|
430
|
+
constructor(options: Omit<RouteOptions<TParentRoute, string, string, TSearchValidator, {}, TLoaderDeps, TLoaderFn, TRouterContext, TRouteContextFn, TBeforeLoadFn>, 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'path' | 'id' | 'params'>);
|
|
435
431
|
}
|
|
436
432
|
export {};
|