@tanstack/react-router 1.27.0 → 1.28.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/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/fileRoute.cjs.map +1 -1
- package/dist/cjs/fileRoute.d.cts +9 -10
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/link.d.cts +32 -24
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +42 -45
- package/dist/cjs/routeInfo.d.cts +5 -7
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +1 -1
- package/dist/cjs/useParams.cjs.map +1 -1
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +5 -3
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/fileRoute.d.ts +9 -10
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/link.d.ts +32 -24
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/route.d.ts +42 -45
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/routeInfo.d.ts +5 -7
- package/dist/esm/router.d.ts +1 -1
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/useParams.js.map +1 -1
- package/dist/esm/utils.d.ts +5 -3
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/Matches.tsx +2 -2
- package/src/fileRoute.ts +17 -36
- package/src/index.tsx +0 -1
- package/src/link.tsx +187 -82
- package/src/route.ts +153 -186
- package/src/routeInfo.ts +5 -7
- package/src/router.ts +5 -5
- package/src/useParams.tsx +2 -2
- package/src/utils.ts +10 -6
package/dist/cjs/route.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UseNavigateResult } from './useNavigate.cjs';
|
|
1
2
|
import type * as React from 'react';
|
|
2
3
|
import type { RouteMatch } from './Matches.cjs';
|
|
3
4
|
import type { AnyRouteMatch } from './Matches.cjs';
|
|
@@ -30,9 +31,9 @@ export type RoutePathOptions<TCustomId, TPath> = {
|
|
|
30
31
|
export interface StaticDataRouteOption {
|
|
31
32
|
}
|
|
32
33
|
export type RoutePathOptionsIntersection<TCustomId, TPath> = UnionToIntersection<RoutePathOptions<TCustomId, TPath>>;
|
|
33
|
-
export type RouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends Record<string, any> = {}, TSearchSchemaUsed
|
|
34
|
+
export type RouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends Record<string, any> = {}, TSearchSchemaUsed = {}, TFullSearchSchemaInput = TSearchSchemaUsed, TFullSearchSchema = TSearchSchema, TParams = AnyPathParams, TAllParams = TParams, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext = RouteContext, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TAllContext = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn> = BaseRouteOptions<TParentRoute, TCustomId, TPath, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TRouterContext, TAllContext, TLoaderDeps, TLoaderDataReturn> & UpdatableRouteOptions<NoInfer<TAllParams>, NoInfer<TFullSearchSchema>, NoInfer<TLoaderData>>;
|
|
34
35
|
export type ParamsFallback<TPath extends string, TParams> = unknown extends TParams ? Record<ParsePathParams<TPath>, string> : TParams;
|
|
35
|
-
export type FileBaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TPath extends string = string, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends Record<string, any> = {}, TFullSearchSchema = TSearchSchema, TParams
|
|
36
|
+
export type FileBaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TPath extends string = string, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends Record<string, any> = {}, TFullSearchSchema = TSearchSchema, TParams = {}, TAllParams = ParamsFallback<TPath, TParams>, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext = RouteContext, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TAllContext = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown> = {
|
|
36
37
|
validateSearch?: SearchSchemaValidator<TSearchSchemaInput, TSearchSchema>;
|
|
37
38
|
shouldReload?: boolean | ((match: LoaderFnContext<TAllParams, TFullSearchSchema, TAllContext, TRouteContext>) => any);
|
|
38
39
|
beforeLoad?: BeforeLoadFn<TFullSearchSchema, TParentRoute, TAllParams, TRouteContextReturn, TRouterContext>;
|
|
@@ -47,10 +48,10 @@ export type FileBaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TPath
|
|
|
47
48
|
stringifyParams?: never;
|
|
48
49
|
parseParams?: never;
|
|
49
50
|
});
|
|
50
|
-
export type BaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends Record<string, any> = {}, TSearchSchemaUsed
|
|
51
|
+
export type BaseRouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends Record<string, any> = {}, TSearchSchemaUsed = {}, TFullSearchSchemaInput = TSearchSchemaUsed, TFullSearchSchema = TSearchSchema, TParams = {}, TAllParams = ParamsFallback<TPath, TParams>, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext = RouteContext, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TAllContext = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown> = RoutePathOptions<TCustomId, TPath> & FileBaseRouteOptions<TParentRoute, TPath, TSearchSchemaInput, TSearchSchema, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TRouterContext, TAllContext, TLoaderDeps, TLoaderDataReturn> & {
|
|
51
52
|
getParentRoute: () => TParentRoute;
|
|
52
53
|
};
|
|
53
|
-
type BeforeLoadFn<TFullSearchSchema, TParentRoute extends AnyRoute, TAllParams, TRouteContextReturn extends RouteContext, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TContext = IsAny<TParentRoute['types']['allContext'], TRouterContext>> = (opts: {
|
|
54
|
+
type BeforeLoadFn<in out TFullSearchSchema, in out TParentRoute extends AnyRoute, in out TAllParams, TRouteContextReturn extends RouteContext, in out TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, in out TContext = IsAny<TParentRoute['types']['allContext'], TRouterContext>> = (opts: {
|
|
54
55
|
search: TFullSearchSchema;
|
|
55
56
|
abortController: AbortController;
|
|
56
57
|
preload: boolean;
|
|
@@ -61,7 +62,7 @@ type BeforeLoadFn<TFullSearchSchema, TParentRoute extends AnyRoute, TAllParams,
|
|
|
61
62
|
buildLocation: BuildLocationFn<TParentRoute>;
|
|
62
63
|
cause: 'preload' | 'enter' | 'stay';
|
|
63
64
|
}) => Promise<TRouteContextReturn> | TRouteContextReturn | void;
|
|
64
|
-
export type UpdatableRouteOptions<TAllParams
|
|
65
|
+
export type UpdatableRouteOptions<TAllParams, TFullSearchSchema, TLoaderData> = {
|
|
65
66
|
caseSensitive?: boolean;
|
|
66
67
|
wrapInSuspense?: boolean;
|
|
67
68
|
component?: RouteComponent;
|
|
@@ -133,13 +134,13 @@ export type SearchSchemaValidatorObj<TInput, TReturn> = {
|
|
|
133
134
|
parse?: SearchSchemaValidatorFn<TInput, TReturn>;
|
|
134
135
|
};
|
|
135
136
|
export type SearchSchemaValidatorFn<TInput, TReturn> = (searchObj: TInput) => TReturn;
|
|
136
|
-
export type RouteLoaderFn<TAllParams = {}, TLoaderDeps extends Record<string, any> = {}, TAllContext = AnyContext,
|
|
137
|
-
export interface LoaderFnContext<TAllParams = {}, TLoaderDeps = {}, TAllContext = AnyContext,
|
|
137
|
+
export type RouteLoaderFn<in out TAllParams = {}, in out TLoaderDeps extends Record<string, any> = {}, in out TAllContext = AnyContext, in out TRouteContext = AnyContext, TLoaderData = unknown> = (match: LoaderFnContext<TAllParams, TLoaderDeps, TAllContext, TRouteContext>) => Promise<TLoaderData> | TLoaderData;
|
|
138
|
+
export interface LoaderFnContext<in out TAllParams = {}, in out TLoaderDeps = {}, in out TAllContext = AnyContext, in out TRouteContext = AnyContext> {
|
|
138
139
|
abortController: AbortController;
|
|
139
140
|
preload: boolean;
|
|
140
141
|
params: TAllParams;
|
|
141
142
|
deps: TLoaderDeps;
|
|
142
|
-
context:
|
|
143
|
+
context: Assign<TAllContext, TRouteContext>;
|
|
143
144
|
location: ParsedLocation;
|
|
144
145
|
/**
|
|
145
146
|
* @deprecated Use `throw redirect({ to: '/somewhere' })` instead
|
|
@@ -163,12 +164,12 @@ export type InferFullSearchSchemaInput<TRoute> = TRoute extends {
|
|
|
163
164
|
fullSearchSchemaInput: infer TFullSearchSchemaInput;
|
|
164
165
|
};
|
|
165
166
|
} ? TFullSearchSchemaInput : {};
|
|
166
|
-
export type ResolveFullSearchSchema<TParentRoute extends AnyRoute, TSearchSchema> =
|
|
167
|
-
export type ResolveFullSearchSchemaInput<TParentRoute extends AnyRoute, TSearchSchemaUsed> =
|
|
168
|
-
export interface AnyRoute extends Route<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any
|
|
167
|
+
export type ResolveFullSearchSchema<TParentRoute extends AnyRoute, TSearchSchema> = Assign<TParentRoute['id'] extends RootRouteId ? Omit<TParentRoute['types']['searchSchema'], keyof RootSearchSchema> : TParentRoute['types']['fullSearchSchema'], TSearchSchema>;
|
|
168
|
+
export type ResolveFullSearchSchemaInput<TParentRoute extends AnyRoute, TSearchSchemaUsed> = Assign<TParentRoute['id'] extends RootRouteId ? Omit<TParentRoute['types']['searchSchemaInput'], keyof RootSearchSchema> : TParentRoute['types']['fullSearchSchemaInput'], TSearchSchemaUsed>;
|
|
169
|
+
export interface AnyRoute extends Route<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> {
|
|
169
170
|
}
|
|
170
171
|
export type MergeFromFromParent<T, U> = IsAny<T, U, T & U>;
|
|
171
|
-
export type ResolveAllParams<TParentRoute extends AnyRoute, TParams
|
|
172
|
+
export type ResolveAllParams<TParentRoute extends AnyRoute, TParams> = Record<never, string> extends TParentRoute['types']['allParams'] ? TParams : UnionToIntersection<TParentRoute['types']['allParams'] & TParams> & {};
|
|
172
173
|
export type RouteConstraints = {
|
|
173
174
|
TParentRoute: AnyRoute;
|
|
174
175
|
TPath: string;
|
|
@@ -186,8 +187,8 @@ export type RouteConstraints = {
|
|
|
186
187
|
TChildren: unknown;
|
|
187
188
|
TRouteTree: AnyRoute;
|
|
188
189
|
};
|
|
189
|
-
export declare function getRouteApi<TId extends RouteIds<RegisteredRouter['routeTree']>, TRoute extends AnyRoute = RouteById<RegisteredRouter['routeTree'], TId>, TFullSearchSchema = TRoute['types']['fullSearchSchema'], TAllParams
|
|
190
|
-
export declare class RouteApi<TId extends RouteIds<RegisteredRouter['routeTree']>, TRoute extends AnyRoute = RouteById<RegisteredRouter['routeTree'], TId>, TFullSearchSchema = TRoute['types']['fullSearchSchema'], TAllParams
|
|
190
|
+
export declare function getRouteApi<TId extends RouteIds<RegisteredRouter['routeTree']>, TRoute extends AnyRoute = RouteById<RegisteredRouter['routeTree'], TId>, TFullSearchSchema = TRoute['types']['fullSearchSchema'], TAllParams = TRoute['types']['allParams'], TAllContext = TRoute['types']['allContext'], TLoaderDeps = TRoute['types']['loaderDeps'], TLoaderData = TRoute['types']['loaderData']>(id: TId): RouteApi<TId, TRoute, TFullSearchSchema, TAllParams, TAllContext, TLoaderDeps, TLoaderData>;
|
|
191
|
+
export declare class RouteApi<TId extends RouteIds<RegisteredRouter['routeTree']>, TRoute extends AnyRoute = RouteById<RegisteredRouter['routeTree'], TId>, TFullSearchSchema = TRoute['types']['fullSearchSchema'], TAllParams = TRoute['types']['allParams'], TAllContext = TRoute['types']['allContext'], TLoaderDeps = TRoute['types']['loaderDeps'], TLoaderData = TRoute['types']['loaderData']> {
|
|
191
192
|
id: TId;
|
|
192
193
|
/**
|
|
193
194
|
* @deprecated Use the `getRouteApi` function instead.
|
|
@@ -198,14 +199,14 @@ export declare class RouteApi<TId extends RouteIds<RegisteredRouter['routeTree']
|
|
|
198
199
|
useMatch: <TRouteTree extends AnyRoute = AnyRoute, TRouteMatchState = RouteMatch<TRouteTree, TId, false>, TSelected = TRouteMatchState>(opts?: {
|
|
199
200
|
select?: ((match: TRouteMatchState) => TSelected) | undefined;
|
|
200
201
|
} | undefined) => TSelected;
|
|
201
|
-
useRouteContext: <TSelected = TAllContext
|
|
202
|
-
select?: ((s: TAllContext) => TSelected) | undefined;
|
|
202
|
+
useRouteContext: <TSelected = Expand<TAllContext>>(opts?: {
|
|
203
|
+
select?: ((s: Expand<TAllContext>) => TSelected) | undefined;
|
|
203
204
|
} | undefined) => TSelected;
|
|
204
|
-
useSearch: <TSelected = TFullSearchSchema
|
|
205
|
-
select?: ((s: TFullSearchSchema) => TSelected) | undefined;
|
|
205
|
+
useSearch: <TSelected = Expand<TFullSearchSchema>>(opts?: {
|
|
206
|
+
select?: ((s: Expand<TFullSearchSchema>) => TSelected) | undefined;
|
|
206
207
|
} | undefined) => TSelected;
|
|
207
|
-
useParams: <TSelected = TAllParams
|
|
208
|
-
select?: ((s: TAllParams) => TSelected) | undefined;
|
|
208
|
+
useParams: <TSelected = Expand<TAllParams>>(opts?: {
|
|
209
|
+
select?: ((s: Expand<TAllParams>) => TSelected) | undefined;
|
|
209
210
|
} | undefined) => TSelected;
|
|
210
211
|
useLoaderDeps: <TSelected = TLoaderDeps>(opts?: {
|
|
211
212
|
select?: ((s: TLoaderDeps) => TSelected) | undefined;
|
|
@@ -213,12 +214,10 @@ export declare class RouteApi<TId extends RouteIds<RegisteredRouter['routeTree']
|
|
|
213
214
|
useLoaderData: <TSelected = TLoaderData>(opts?: {
|
|
214
215
|
select?: ((s: TLoaderData) => TSelected) | undefined;
|
|
215
216
|
} | undefined) => TSelected;
|
|
216
|
-
useNavigate: () =>
|
|
217
|
+
useNavigate: () => UseNavigateResult<string>;
|
|
217
218
|
notFound: (opts?: NotFoundError) => NotFoundError;
|
|
218
219
|
}
|
|
219
|
-
export declare class Route<TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, TSearchSchemaInput extends RouteConstraints['TSearchSchema'] = {}, TSearchSchema extends RouteConstraints['TSearchSchema'] = {},
|
|
220
|
-
TRouteContextReturn
|
|
221
|
-
] extends [never] ? RouteContext : TRouteContextReturn, in out TAllContext = Expand<Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>>, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn, TChildren extends RouteConstraints['TChildren'] = unknown, TRouteTree extends RouteConstraints['TRouteTree'] = AnyRoute> {
|
|
220
|
+
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 TSearchSchemaInput extends RouteConstraints['TSearchSchema'] = {}, in out TSearchSchema extends RouteConstraints['TSearchSchema'] = {}, in out TSearchSchemaUsed = TSearchSchemaInput extends SearchSchemaInput ? Omit<TSearchSchemaInput, keyof SearchSchemaInput> : TSearchSchema, in out TFullSearchSchemaInput = ResolveFullSearchSchemaInput<TParentRoute, TSearchSchemaUsed>, in out TFullSearchSchema = ResolveFullSearchSchema<TParentRoute, TSearchSchema>, in out TParams = Record<ParsePathParams<TPath>, string>, in out TAllParams = ResolveAllParams<TParentRoute, TParams>, TRouteContextReturn extends RouteConstraints['TRouteContext'] = RouteContext, in out TRouteContext = [TRouteContextReturn] extends [never] ? RouteContext : TRouteContextReturn, in out TAllContext = Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>, in out TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, in out TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn, in out TChildren extends RouteConstraints['TChildren'] = unknown> {
|
|
222
221
|
isRoot: TParentRoute extends Route<any> ? true : false;
|
|
223
222
|
options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TRouterContext, TAllContext, TLoaderDeps, TLoaderDataReturn, TLoaderData>;
|
|
224
223
|
parentRoute: TParentRoute;
|
|
@@ -252,7 +251,6 @@ export declare class Route<TParentRoute extends RouteConstraints['TParentRoute']
|
|
|
252
251
|
routeContext: TRouteContext;
|
|
253
252
|
allContext: TAllContext;
|
|
254
253
|
children: TChildren;
|
|
255
|
-
routeTree: TRouteTree;
|
|
256
254
|
routerContext: TRouterContext;
|
|
257
255
|
loaderData: TLoaderData;
|
|
258
256
|
loaderDeps: TLoaderDeps;
|
|
@@ -260,23 +258,23 @@ export declare class Route<TParentRoute extends RouteConstraints['TParentRoute']
|
|
|
260
258
|
init: (opts: {
|
|
261
259
|
originalIndex: number;
|
|
262
260
|
}) => void;
|
|
263
|
-
addChildren: <TNewChildren extends AnyRoute[]>(children: TNewChildren) => Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TLoaderDataReturn, TLoaderData, TNewChildren
|
|
261
|
+
addChildren: <const TNewChildren extends readonly AnyRoute[]>(children: TNewChildren) => Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TLoaderDataReturn, TLoaderData, TNewChildren>;
|
|
264
262
|
updateLoader: <TNewLoaderData = unknown>(options: {
|
|
265
263
|
loader: RouteLoaderFn<TAllParams, TLoaderDeps, TAllContext, TRouteContext, TNewLoaderData>;
|
|
266
|
-
}) => Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TNewLoaderData, TChildren,
|
|
264
|
+
}) => Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TNewLoaderData, TChildren, unknown>;
|
|
267
265
|
update: (options: UpdatableRouteOptions<TAllParams, TFullSearchSchema, TLoaderData>) => this;
|
|
268
266
|
lazy: (lazyFn: () => Promise<LazyRoute<any>>) => this;
|
|
269
|
-
useMatch: <
|
|
267
|
+
useMatch: <TRouteTree extends AnyRoute = AnyRoute, TRouteMatchState = RouteMatch<TRouteTree, TId, false>, TSelected = TRouteMatchState>(opts?: {
|
|
270
268
|
select?: ((match: TRouteMatchState) => TSelected) | undefined;
|
|
271
269
|
} | undefined) => TSelected;
|
|
272
|
-
useRouteContext: <TSelected = TAllContext
|
|
273
|
-
select?: ((search: TAllContext) => TSelected) | undefined;
|
|
270
|
+
useRouteContext: <TSelected = Expand<TAllContext>>(opts?: {
|
|
271
|
+
select?: ((search: Expand<TAllContext>) => TSelected) | undefined;
|
|
274
272
|
} | undefined) => TSelected;
|
|
275
|
-
useSearch: <TSelected = TFullSearchSchema
|
|
276
|
-
select?: ((search: TFullSearchSchema) => TSelected) | undefined;
|
|
273
|
+
useSearch: <TSelected = Expand<TFullSearchSchema>>(opts?: {
|
|
274
|
+
select?: ((search: Expand<TFullSearchSchema>) => TSelected) | undefined;
|
|
277
275
|
} | undefined) => TSelected;
|
|
278
|
-
useParams: <TSelected = TAllParams
|
|
279
|
-
select?: ((search: TAllParams) => TSelected) | undefined;
|
|
276
|
+
useParams: <TSelected = Expand<TAllParams>>(opts?: {
|
|
277
|
+
select?: ((search: Expand<TAllParams>) => TSelected) | undefined;
|
|
280
278
|
} | undefined) => TSelected;
|
|
281
279
|
useLoaderDeps: <TSelected = TLoaderDeps>(opts?: {
|
|
282
280
|
select?: ((s: TLoaderDeps) => TSelected) | undefined;
|
|
@@ -284,13 +282,11 @@ export declare class Route<TParentRoute extends RouteConstraints['TParentRoute']
|
|
|
284
282
|
useLoaderData: <TSelected = TLoaderData>(opts?: {
|
|
285
283
|
select?: ((search: TLoaderData) => TSelected) | undefined;
|
|
286
284
|
} | undefined) => TSelected;
|
|
287
|
-
useNavigate: () =>
|
|
285
|
+
useNavigate: () => UseNavigateResult<string>;
|
|
288
286
|
}
|
|
289
|
-
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>, TSearchSchemaInput extends RouteConstraints['TSearchSchema'] = {}, TSearchSchema extends RouteConstraints['TSearchSchema'] = {}, TSearchSchemaUsed
|
|
290
|
-
TRouteContextReturn
|
|
291
|
-
] extends [never] ? RouteContext : TRouteContextReturn, TAllContext = Expand<Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>>, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn, TChildren extends RouteConstraints['TChildren'] = unknown, TRouteTree extends RouteConstraints['TRouteTree'] = AnyRoute>(options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TRouterContext, TAllContext, TLoaderDeps, TLoaderDataReturn, TLoaderData>): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren, TRouteTree>;
|
|
287
|
+
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>, TSearchSchemaInput extends RouteConstraints['TSearchSchema'] = {}, TSearchSchema extends RouteConstraints['TSearchSchema'] = {}, TSearchSchemaUsed = TSearchSchemaInput extends SearchSchemaInput ? Omit<TSearchSchemaInput, keyof SearchSchemaInput> : TSearchSchema, TFullSearchSchemaInput = ResolveFullSearchSchemaInput<TParentRoute, TSearchSchemaUsed>, TFullSearchSchema = ResolveFullSearchSchema<TParentRoute, TSearchSchema>, TParams = Record<ParsePathParams<TPath>, string>, TAllParams = ResolveAllParams<TParentRoute, TParams>, TRouteContextReturn extends RouteConstraints['TRouteContext'] = RouteContext, TRouteContext = [TRouteContextReturn] extends [never] ? RouteContext : TRouteContextReturn, TAllContext = Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn, TChildren extends RouteConstraints['TChildren'] = unknown>(options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TRouterContext, TAllContext, TLoaderDeps, TLoaderDataReturn, TLoaderData>): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, TParams, TAllParams, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren>;
|
|
292
288
|
export type AnyRootRoute = RootRoute<any, any, any, any, any, any, any, any>;
|
|
293
|
-
export declare function createRootRouteWithContext<TRouterContext extends {}>(): <TSearchSchemaInput extends Record<string, any> = RootSearchSchema, TSearchSchema extends Record<string, any> = RootSearchSchema, TSearchSchemaUsed extends Record<string, any> = RootSearchSchema, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext extends RouteContext = [TRouteContextReturn] extends [never] ? RouteContext : TRouteContextReturn, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn>(options?: Omit<RouteOptions<
|
|
289
|
+
export declare function createRootRouteWithContext<TRouterContext extends {}>(): <TSearchSchemaInput extends Record<string, any> = RootSearchSchema, TSearchSchema extends Record<string, any> = RootSearchSchema, TSearchSchemaUsed extends Record<string, any> = RootSearchSchema, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext extends RouteContext = [TRouteContextReturn] extends [never] ? RouteContext : TRouteContextReturn, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn>(options?: Omit<RouteOptions<any, "__root__", "", TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TSearchSchemaUsed, TSearchSchema, {}, {}, TRouteContextReturn, TRouteContext, TRouterContext, Assign<TRouterContext, TRouteContext>, TLoaderDeps, TLoaderDataReturn, TLoaderData>, "path" | "id" | "stringifyParams" | "parseParams" | "getParentRoute" | "caseSensitive"> | undefined) => RootRoute<TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TRouteContextReturn, TRouteContext, TRouterContext, TLoaderDeps, TLoaderData, [TLoaderData] extends [never] ? undefined : TLoaderData>;
|
|
294
290
|
/**
|
|
295
291
|
* @deprecated Use the `createRootRouteWithContext` function instead.
|
|
296
292
|
*/
|
|
@@ -298,7 +294,9 @@ export declare const rootRouteWithContext: typeof createRootRouteWithContext;
|
|
|
298
294
|
export type RootSearchSchema = {
|
|
299
295
|
__TRootSearchSchema__: '__TRootSearchSchema__';
|
|
300
296
|
};
|
|
301
|
-
export declare class RootRoute<TSearchSchemaInput extends Record<string, any> = RootSearchSchema, TSearchSchema extends Record<string, any> = RootSearchSchema, TSearchSchemaUsed extends Record<string, any> = RootSearchSchema, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext extends RouteContext = [TRouteContextReturn] extends [
|
|
297
|
+
export declare class RootRoute<in out TSearchSchemaInput extends Record<string, any> = RootSearchSchema, in out TSearchSchema extends Record<string, any> = RootSearchSchema, in out TSearchSchemaUsed extends Record<string, any> = RootSearchSchema, TRouteContextReturn extends RouteContext = RouteContext, in out TRouteContext extends RouteContext = [TRouteContextReturn] extends [
|
|
298
|
+
never
|
|
299
|
+
] ? RouteContext : TRouteContextReturn, in out TRouterContext extends {} = {}, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, in out TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn> extends Route<any, // TParentRoute
|
|
302
300
|
'/', // TPath
|
|
303
301
|
'/', // TFullPath
|
|
304
302
|
string, // TCustomId
|
|
@@ -313,12 +311,11 @@ TRouteContextReturn, // TRouteContextReturn
|
|
|
313
311
|
TRouteContext, // TRouteContext
|
|
314
312
|
Assign<TRouterContext, TRouteContext>, // TAllContext
|
|
315
313
|
TRouterContext, // TRouterContext
|
|
316
|
-
TLoaderDeps, TLoaderDataReturn, TLoaderData, any
|
|
317
|
-
any> {
|
|
314
|
+
TLoaderDeps, TLoaderDataReturn, TLoaderData, any> {
|
|
318
315
|
/**
|
|
319
316
|
* @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
|
|
320
317
|
*/
|
|
321
|
-
constructor(options?: Omit<RouteOptions<
|
|
318
|
+
constructor(options?: Omit<RouteOptions<any, // TParentRoute
|
|
322
319
|
RootRouteId, // TCustomId
|
|
323
320
|
'', // TPath
|
|
324
321
|
TSearchSchemaInput, // TSearchSchemaInput
|
|
@@ -332,7 +329,7 @@ any> {
|
|
|
332
329
|
TRouterContext, Assign<TRouterContext, TRouteContext>, // TAllContext
|
|
333
330
|
TLoaderDeps, TLoaderDataReturn, TLoaderData>, 'path' | 'id' | 'getParentRoute' | 'caseSensitive' | 'parseParams' | 'stringifyParams'>);
|
|
334
331
|
}
|
|
335
|
-
export declare function createRootRoute<TSearchSchemaInput extends Record<string, any> = RootSearchSchema, TSearchSchema extends Record<string, any> = RootSearchSchema, TSearchSchemaUsed extends Record<string, any> = RootSearchSchema, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext extends RouteContext = [TRouteContextReturn] extends [never] ? RouteContext : TRouteContextReturn, TRouterContext extends {} = {}, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn>(options?: Omit<RouteOptions<
|
|
332
|
+
export declare function createRootRoute<TSearchSchemaInput extends Record<string, any> = RootSearchSchema, TSearchSchema extends Record<string, any> = RootSearchSchema, TSearchSchemaUsed extends Record<string, any> = RootSearchSchema, TRouteContextReturn extends RouteContext = RouteContext, TRouteContext extends RouteContext = [TRouteContextReturn] extends [never] ? RouteContext : TRouteContextReturn, TRouterContext extends {} = {}, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn>(options?: Omit<RouteOptions<any, // TParentRoute
|
|
336
333
|
RootRouteId, // TCustomId
|
|
337
334
|
'', // TPath
|
|
338
335
|
TSearchSchemaInput, // TSearchSchemaInput
|
|
@@ -391,7 +388,7 @@ export type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {
|
|
|
391
388
|
export type RouteComponent<TProps = any> = SyncRouteComponent<TProps> & AsyncRouteComponent<TProps>;
|
|
392
389
|
export type ErrorRouteComponent = RouteComponent<ErrorComponentProps>;
|
|
393
390
|
export type NotFoundRouteComponent = SyncRouteComponent<NotFoundRouteProps>;
|
|
394
|
-
export declare class NotFoundRoute<TParentRoute extends AnyRootRoute, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends RouteConstraints['TSearchSchema'] = {}, TSearchSchemaUsed extends RouteConstraints['TSearchSchema'] = {}, TFullSearchSchemaInput extends RouteConstraints['TFullSearchSchema'] = ResolveFullSearchSchemaInput<TParentRoute, TSearchSchemaUsed>, TFullSearchSchema = ResolveFullSearchSchema<TParentRoute, TSearchSchema>, TRouteContextReturn extends RouteConstraints['TRouteContext'] = AnyContext, TRouteContext extends RouteConstraints['TRouteContext'] = RouteContext, TAllContext =
|
|
391
|
+
export declare class NotFoundRoute<TParentRoute extends AnyRootRoute, TSearchSchemaInput extends Record<string, any> = {}, TSearchSchema extends RouteConstraints['TSearchSchema'] = {}, TSearchSchemaUsed extends RouteConstraints['TSearchSchema'] = {}, TFullSearchSchemaInput extends RouteConstraints['TFullSearchSchema'] = ResolveFullSearchSchemaInput<TParentRoute, TSearchSchemaUsed>, TFullSearchSchema = ResolveFullSearchSchema<TParentRoute, TSearchSchema>, TRouteContextReturn extends RouteConstraints['TRouteContext'] = AnyContext, TRouteContext extends RouteConstraints['TRouteContext'] = RouteContext, TAllContext = Assign<IsAny<TParentRoute['types']['allContext'], {}>, TRouteContext>, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = unknown, TLoaderData = [TLoaderDataReturn] extends [never] ? undefined : TLoaderDataReturn, TChildren extends RouteConstraints['TChildren'] = unknown> extends Route<TParentRoute, '/404', '/404', '404', '404', TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, {}, {}, TRouteContextReturn, TRouteContext, TAllContext, TRouterContext, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren> {
|
|
395
392
|
constructor(options: Omit<RouteOptions<TParentRoute, string, string, TSearchSchemaInput, TSearchSchema, TSearchSchemaUsed, TFullSearchSchemaInput, TFullSearchSchema, {}, {}, TRouteContextReturn, TRouteContext, TRouterContext, TAllContext, TLoaderDeps, TLoaderDataReturn, TLoaderData>, 'caseSensitive' | 'parseParams' | 'stringifyParams' | 'path' | 'id'>);
|
|
396
393
|
}
|
|
397
394
|
export {};
|
package/dist/cjs/routeInfo.d.cts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import type { AnyRoute } from './route.cjs';
|
|
2
|
-
import type {
|
|
2
|
+
import type { UnionToIntersection, UnionToTuple } from './utils.cjs';
|
|
3
3
|
export type ParseRoute<TRouteTree, TAcc = TRouteTree> = TRouteTree extends {
|
|
4
4
|
types: {
|
|
5
5
|
children: infer TChildren;
|
|
6
6
|
};
|
|
7
|
-
} ? TChildren extends
|
|
7
|
+
} ? TChildren extends ReadonlyArray<unknown> ? ParseRoute<TChildren[number], TAcc | TChildren[number]> : TAcc : TAcc;
|
|
8
8
|
export type RoutesById<TRouteTree extends AnyRoute> = {
|
|
9
9
|
[K in ParseRoute<TRouteTree> as K['id']]: K;
|
|
10
10
|
};
|
|
11
|
-
export type RouteById<TRouteTree extends AnyRoute, TId> = Extract<
|
|
12
|
-
id: TId;
|
|
13
|
-
}>, AnyRoute>;
|
|
11
|
+
export type RouteById<TRouteTree extends AnyRoute, TId> = Extract<RoutesById<TRouteTree>[TId], AnyRoute>;
|
|
14
12
|
export type RouteIds<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree>['id'];
|
|
15
13
|
export type RoutesByPath<TRouteTree extends AnyRoute> = {
|
|
16
14
|
[K in ParseRoute<TRouteTree> as K['fullPath']]: K;
|
|
@@ -26,6 +24,6 @@ type Reduce<TValue extends Array<any>, TResult = unknown> = TValue extends [
|
|
|
26
24
|
infer First,
|
|
27
25
|
...infer Rest
|
|
28
26
|
] ? Reduce<Rest, Reducer<TResult, First>> : TResult;
|
|
29
|
-
export type FullSearchSchema<TRouteTree extends AnyRoute> = Partial<
|
|
30
|
-
export type AllParams<TRouteTree extends AnyRoute> =
|
|
27
|
+
export type FullSearchSchema<TRouteTree extends AnyRoute> = Partial<Reduce<UnionToTuple<ParseRoute<TRouteTree>['types']['fullSearchSchema']>>>;
|
|
28
|
+
export type AllParams<TRouteTree extends AnyRoute> = UnionToIntersection<ParseRoute<TRouteTree>['types']['allParams']>;
|
|
31
29
|
export {};
|