@tanstack/solid-router 1.109.2 → 1.111.3
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/Matches.d.cts +1 -3
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/RouterProvider.d.cts +0 -25
- package/dist/cjs/fileRoute.cjs.map +1 -1
- package/dist/cjs/fileRoute.d.cts +2 -14
- package/dist/cjs/index.d.cts +6 -7
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/link.d.cts +2 -74
- package/dist/cjs/not-found.cjs.map +1 -1
- package/dist/cjs/not-found.d.cts +1 -1
- package/dist/cjs/redirects.cjs.map +1 -1
- package/dist/cjs/redirects.d.cts +1 -3
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +10 -50
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +2 -8
- package/dist/cjs/typePrimitives.d.cts +20 -16
- package/dist/cjs/useBlocker.cjs.map +1 -1
- package/dist/cjs/useBlocker.d.cts +1 -1
- package/dist/cjs/useLoaderData.cjs.map +1 -1
- package/dist/cjs/useLoaderData.d.cts +1 -2
- package/dist/cjs/useLoaderDeps.cjs.map +1 -1
- package/dist/cjs/useLoaderDeps.d.cts +1 -2
- package/dist/cjs/useNavigate.cjs.map +1 -1
- package/dist/cjs/useNavigate.d.cts +1 -1
- package/dist/cjs/useParams.cjs.map +1 -1
- package/dist/cjs/useParams.d.cts +1 -2
- package/dist/cjs/useRouteContext.cjs.map +1 -1
- package/dist/cjs/useRouteContext.d.cts +1 -2
- package/dist/cjs/useSearch.cjs.map +1 -1
- package/dist/cjs/useSearch.d.cts +1 -2
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +2 -3
- package/dist/esm/Matches.d.ts +1 -3
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/RouterProvider.d.ts +0 -25
- package/dist/esm/RouterProvider.js.map +1 -1
- package/dist/esm/fileRoute.d.ts +2 -14
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/index.d.ts +6 -7
- package/dist/esm/link.d.ts +2 -74
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/not-found.d.ts +1 -1
- package/dist/esm/not-found.js.map +1 -1
- package/dist/esm/redirects.d.ts +1 -3
- package/dist/esm/redirects.js.map +1 -1
- package/dist/esm/route.d.ts +10 -50
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.d.ts +2 -8
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/typePrimitives.d.ts +20 -16
- package/dist/esm/useBlocker.d.ts +1 -1
- package/dist/esm/useBlocker.js.map +1 -1
- package/dist/esm/useLoaderData.d.ts +1 -2
- package/dist/esm/useLoaderData.js.map +1 -1
- package/dist/esm/useLoaderDeps.d.ts +1 -2
- package/dist/esm/useLoaderDeps.js.map +1 -1
- package/dist/esm/useNavigate.d.ts +1 -1
- package/dist/esm/useNavigate.js.map +1 -1
- package/dist/esm/useParams.d.ts +1 -2
- package/dist/esm/useParams.js.map +1 -1
- package/dist/esm/useRouteContext.d.ts +1 -2
- package/dist/esm/useRouteContext.js.map +1 -1
- package/dist/esm/useSearch.d.ts +1 -2
- package/dist/esm/useSearch.js.map +1 -1
- package/dist/esm/utils.d.ts +2 -3
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/Matches.tsx +11 -15
- package/src/RouterProvider.tsx +0 -48
- package/src/fileRoute.ts +3 -31
- package/src/index.tsx +47 -54
- package/src/link.tsx +5 -429
- package/src/not-found.tsx +1 -1
- package/src/redirects.ts +5 -3
- package/src/route.ts +101 -154
- package/src/router.ts +11 -25
- package/src/typePrimitives.ts +73 -27
- package/src/useBlocker.tsx +1 -1
- package/src/useLoaderData.tsx +1 -2
- package/src/useLoaderDeps.tsx +1 -2
- package/src/useNavigate.tsx +1 -1
- package/src/useParams.tsx +6 -2
- package/src/useRouteContext.ts +2 -2
- package/src/useSearch.tsx +6 -2
- package/src/utils.ts +1 -2
- package/dist/cjs/routeInfo.d.cts +0 -53
- package/dist/esm/routeInfo.d.ts +0 -53
- package/src/routeInfo.ts +0 -239
package/src/useRouteContext.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useMatch } from './useMatch'
|
|
2
2
|
import type { Accessor } from 'solid-js'
|
|
3
|
-
|
|
3
|
+
|
|
4
4
|
import type { AnyRouter, RegisteredRouter } from './router'
|
|
5
5
|
import type { StrictOrFrom } from './utils'
|
|
6
|
-
import type { Expand } from '@tanstack/router-core'
|
|
6
|
+
import type { AllContext, Expand, RouteById } from '@tanstack/router-core'
|
|
7
7
|
|
|
8
8
|
export interface UseRouteContextBaseOptions<
|
|
9
9
|
TRouter extends AnyRouter,
|
package/src/useSearch.tsx
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { useMatch } from './useMatch'
|
|
2
2
|
import type { ThrowConstraint } from './useMatch'
|
|
3
3
|
import type { Accessor } from 'solid-js'
|
|
4
|
-
import type { FullSearchSchema, RouteById } from './routeInfo'
|
|
5
4
|
import type { AnyRouter, RegisteredRouter } from './router'
|
|
6
5
|
import type { StrictOrFrom } from './utils'
|
|
7
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
Expand,
|
|
8
|
+
FullSearchSchema,
|
|
9
|
+
RouteById,
|
|
10
|
+
ThrowOrOptional,
|
|
11
|
+
} from '@tanstack/router-core'
|
|
8
12
|
|
|
9
13
|
export interface UseSearchBaseOptions<
|
|
10
14
|
TRouter extends AnyRouter,
|
package/src/utils.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as Solid from 'solid-js'
|
|
2
|
-
import type { RouteIds } from './routeInfo'
|
|
3
2
|
import type { AnyRouter } from './router'
|
|
4
|
-
import type { ConstrainLiteral } from '@tanstack/router-core'
|
|
3
|
+
import type { ConstrainLiteral, RouteIds } from '@tanstack/router-core'
|
|
5
4
|
|
|
6
5
|
export type StrictOrFrom<
|
|
7
6
|
TRouter extends AnyRouter,
|
package/dist/cjs/routeInfo.d.cts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { InferFileRouteTypes } from './fileRoute.cjs';
|
|
2
|
-
import { AddTrailingSlash, PartialMergeAll, RemoveTrailingSlashes, TrailingSlashOption } from '@tanstack/router-core';
|
|
3
|
-
import { AnyRoute } from './route.cjs';
|
|
4
|
-
import { AnyRouter } from './router.cjs';
|
|
5
|
-
export type ParseRoute<TRouteTree, TAcc = TRouteTree> = TRouteTree extends {
|
|
6
|
-
types: {
|
|
7
|
-
children: infer TChildren;
|
|
8
|
-
};
|
|
9
|
-
} ? unknown extends TChildren ? TAcc : TChildren extends ReadonlyArray<any> ? ParseRoute<TChildren[number], TAcc | TChildren[number]> : ParseRoute<TChildren[keyof TChildren], TAcc | TChildren[keyof TChildren]> : TAcc;
|
|
10
|
-
export type ParseRouteWithoutBranches<TRouteTree> = ParseRoute<TRouteTree> extends infer TRoute extends AnyRoute ? TRoute extends any ? unknown extends TRoute['types']['children'] ? TRoute : TRoute['types']['children'] extends ReadonlyArray<any> ? '/' extends TRoute['types']['children'][number]['path'] ? never : TRoute : '/' extends TRoute['types']['children'][keyof TRoute['types']['children']]['path'] ? never : TRoute : never : never;
|
|
11
|
-
export type CodeRoutesById<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? {
|
|
12
|
-
[K in TRoutes as K['id']]: K;
|
|
13
|
-
} : never;
|
|
14
|
-
export type RoutesById<TRouteTree extends AnyRoute> = InferFileRouteTypes<TRouteTree> extends never ? CodeRoutesById<TRouteTree> : InferFileRouteTypes<TRouteTree>['fileRoutesById'];
|
|
15
|
-
export type RouteById<TRouteTree extends AnyRoute, TId> = Extract<RoutesById<TRouteTree>[TId & keyof RoutesById<TRouteTree>], AnyRoute>;
|
|
16
|
-
export type CodeRouteIds<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? TRoutes['id'] : never;
|
|
17
|
-
export type RouteIds<TRouteTree extends AnyRoute> = InferFileRouteTypes<TRouteTree> extends never ? CodeRouteIds<TRouteTree> : InferFileRouteTypes<TRouteTree>['id'];
|
|
18
|
-
export type ParentPath<TRouter extends AnyRouter> = TrailingSlashOptionByRouter<TRouter> extends 'always' ? '../' : TrailingSlashOptionByRouter<TRouter> extends 'never' ? '..' : '../' | '..';
|
|
19
|
-
export type CurrentPath<TRouter extends AnyRouter> = TrailingSlashOptionByRouter<TRouter> extends 'always' ? './' : TrailingSlashOptionByRouter<TRouter> extends 'never' ? '.' : './' | '.';
|
|
20
|
-
export type ToPath<TRouter extends AnyRouter, TTo extends string> = TrailingSlashOptionByRouter<TRouter> extends 'always' ? AddTrailingSlash<TTo> : TrailingSlashOptionByRouter<TRouter> extends 'never' ? RemoveTrailingSlashes<TTo> : AddTrailingSlash<TTo> | RemoveTrailingSlashes<TTo>;
|
|
21
|
-
export type CatchAllPaths<TRouter extends AnyRouter> = CurrentPath<TRouter> | ParentPath<TRouter>;
|
|
22
|
-
export type CodeRoutesByPath<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? {
|
|
23
|
-
[K in TRoutes as K['fullPath']]: K;
|
|
24
|
-
} : never;
|
|
25
|
-
export type RoutesByPath<TRouteTree extends AnyRoute> = InferFileRouteTypes<TRouteTree> extends never ? CodeRoutesByPath<TRouteTree> : InferFileRouteTypes<TRouteTree>['fileRoutesByFullPath'];
|
|
26
|
-
export type RouteByPath<TRouteTree extends AnyRoute, TPath> = Extract<RoutesByPath<TRouteTree>[TPath & keyof RoutesByPath<TRouteTree>], AnyRoute>;
|
|
27
|
-
export type CodeRoutePaths<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? TRoutes['fullPath'] : never;
|
|
28
|
-
export type RoutePaths<TRouteTree extends AnyRoute> = unknown extends TRouteTree ? string : (InferFileRouteTypes<TRouteTree> extends never ? CodeRoutePaths<TRouteTree> : InferFileRouteTypes<TRouteTree>['fullPaths']) | '/';
|
|
29
|
-
export type RouteToPathAlwaysTrailingSlash<TRoute extends AnyRoute> = TRoute['path'] extends '/' ? TRoute['fullPath'] : TRoute['fullPath'] extends '/' ? TRoute['fullPath'] : `${TRoute['fullPath']}/`;
|
|
30
|
-
export type RouteToPathNeverTrailingSlash<TRoute extends AnyRoute> = TRoute['path'] extends '/' ? TRoute['fullPath'] extends '/' ? TRoute['fullPath'] : RemoveTrailingSlashes<TRoute['fullPath']> : TRoute['fullPath'];
|
|
31
|
-
export type RouteToPathPreserveTrailingSlash<TRoute extends AnyRoute> = RouteToPathNeverTrailingSlash<TRoute> | RouteToPathAlwaysTrailingSlash<TRoute>;
|
|
32
|
-
export type RouteToPathByTrailingSlashOption<TRoute extends AnyRoute> = {
|
|
33
|
-
always: RouteToPathAlwaysTrailingSlash<TRoute>;
|
|
34
|
-
preserve: RouteToPathPreserveTrailingSlash<TRoute>;
|
|
35
|
-
never: RouteToPathNeverTrailingSlash<TRoute>;
|
|
36
|
-
};
|
|
37
|
-
export type TrailingSlashOptionByRouter<TRouter extends AnyRouter> = TrailingSlashOption extends TRouter['options']['trailingSlash'] ? 'never' : NonNullable<TRouter['options']['trailingSlash']>;
|
|
38
|
-
export type RouteToByRouter<TRouter extends AnyRouter, TRoute extends AnyRoute> = RouteToPathByTrailingSlashOption<TRoute>[TrailingSlashOptionByRouter<TRouter>];
|
|
39
|
-
export type CodeRouteToPath<TRouter extends AnyRouter> = ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoute extends AnyRoute ? TRoute extends any ? RouteToByRouter<TRouter, TRoute> : never : never;
|
|
40
|
-
export type FileRouteToPath<TRouter extends AnyRouter, TTo = InferFileRouteTypes<TRouter['routeTree']>['to'], TTrailingSlashOption = TrailingSlashOptionByRouter<TRouter>> = 'never' extends TTrailingSlashOption ? TTo : 'always' extends TTrailingSlashOption ? AddTrailingSlash<TTo> : TTo | AddTrailingSlash<TTo>;
|
|
41
|
-
export type RouteToPath<TRouter extends AnyRouter> = unknown extends TRouter ? string : InferFileRouteTypes<TRouter['routeTree']> extends never ? CodeRouteToPath<TRouter> : FileRouteToPath<TRouter>;
|
|
42
|
-
export type CodeRoutesByToPath<TRouter extends AnyRouter> = ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoutes extends AnyRoute ? {
|
|
43
|
-
[TRoute in TRoutes as RouteToByRouter<TRouter, TRoute>]: TRoute;
|
|
44
|
-
} : never;
|
|
45
|
-
export type RoutesByToPath<TRouter extends AnyRouter> = InferFileRouteTypes<TRouter['routeTree']> extends never ? CodeRoutesByToPath<TRouter> : InferFileRouteTypes<TRouter['routeTree']>['fileRoutesByTo'];
|
|
46
|
-
export type CodeRouteByToPath<TRouter extends AnyRouter, TTo> = Extract<RoutesByToPath<TRouter>[TTo & keyof RoutesByToPath<TRouter>], AnyRoute>;
|
|
47
|
-
export type FileRouteByToPath<TRouter extends AnyRouter, TTo> = 'never' extends TrailingSlashOptionByRouter<TRouter> ? CodeRouteByToPath<TRouter, TTo> : 'always' extends TrailingSlashOptionByRouter<TRouter> ? TTo extends '/' ? CodeRouteByToPath<TRouter, TTo> : TTo extends `${infer TPath}/` ? CodeRouteByToPath<TRouter, TPath> : never : CodeRouteByToPath<TRouter, TTo extends '/' ? TTo : RemoveTrailingSlashes<TTo>>;
|
|
48
|
-
export type RouteByToPath<TRouter extends AnyRouter, TTo> = InferFileRouteTypes<TRouter['routeTree']> extends never ? CodeRouteByToPath<TRouter, TTo> : FileRouteByToPath<TRouter, TTo>;
|
|
49
|
-
export type FullSearchSchema<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['fullSearchSchema']> : never;
|
|
50
|
-
export type FullSearchSchemaInput<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['fullSearchSchemaInput']> : never;
|
|
51
|
-
export type AllParams<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['allParams']> : never;
|
|
52
|
-
export type AllContext<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['allContext']> : never;
|
|
53
|
-
export type AllLoaderData<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['loaderData']> : never;
|
package/dist/esm/routeInfo.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { InferFileRouteTypes } from './fileRoute.js';
|
|
2
|
-
import { AddTrailingSlash, PartialMergeAll, RemoveTrailingSlashes, TrailingSlashOption } from '@tanstack/router-core';
|
|
3
|
-
import { AnyRoute } from './route.js';
|
|
4
|
-
import { AnyRouter } from './router.js';
|
|
5
|
-
export type ParseRoute<TRouteTree, TAcc = TRouteTree> = TRouteTree extends {
|
|
6
|
-
types: {
|
|
7
|
-
children: infer TChildren;
|
|
8
|
-
};
|
|
9
|
-
} ? unknown extends TChildren ? TAcc : TChildren extends ReadonlyArray<any> ? ParseRoute<TChildren[number], TAcc | TChildren[number]> : ParseRoute<TChildren[keyof TChildren], TAcc | TChildren[keyof TChildren]> : TAcc;
|
|
10
|
-
export type ParseRouteWithoutBranches<TRouteTree> = ParseRoute<TRouteTree> extends infer TRoute extends AnyRoute ? TRoute extends any ? unknown extends TRoute['types']['children'] ? TRoute : TRoute['types']['children'] extends ReadonlyArray<any> ? '/' extends TRoute['types']['children'][number]['path'] ? never : TRoute : '/' extends TRoute['types']['children'][keyof TRoute['types']['children']]['path'] ? never : TRoute : never : never;
|
|
11
|
-
export type CodeRoutesById<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? {
|
|
12
|
-
[K in TRoutes as K['id']]: K;
|
|
13
|
-
} : never;
|
|
14
|
-
export type RoutesById<TRouteTree extends AnyRoute> = InferFileRouteTypes<TRouteTree> extends never ? CodeRoutesById<TRouteTree> : InferFileRouteTypes<TRouteTree>['fileRoutesById'];
|
|
15
|
-
export type RouteById<TRouteTree extends AnyRoute, TId> = Extract<RoutesById<TRouteTree>[TId & keyof RoutesById<TRouteTree>], AnyRoute>;
|
|
16
|
-
export type CodeRouteIds<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? TRoutes['id'] : never;
|
|
17
|
-
export type RouteIds<TRouteTree extends AnyRoute> = InferFileRouteTypes<TRouteTree> extends never ? CodeRouteIds<TRouteTree> : InferFileRouteTypes<TRouteTree>['id'];
|
|
18
|
-
export type ParentPath<TRouter extends AnyRouter> = TrailingSlashOptionByRouter<TRouter> extends 'always' ? '../' : TrailingSlashOptionByRouter<TRouter> extends 'never' ? '..' : '../' | '..';
|
|
19
|
-
export type CurrentPath<TRouter extends AnyRouter> = TrailingSlashOptionByRouter<TRouter> extends 'always' ? './' : TrailingSlashOptionByRouter<TRouter> extends 'never' ? '.' : './' | '.';
|
|
20
|
-
export type ToPath<TRouter extends AnyRouter, TTo extends string> = TrailingSlashOptionByRouter<TRouter> extends 'always' ? AddTrailingSlash<TTo> : TrailingSlashOptionByRouter<TRouter> extends 'never' ? RemoveTrailingSlashes<TTo> : AddTrailingSlash<TTo> | RemoveTrailingSlashes<TTo>;
|
|
21
|
-
export type CatchAllPaths<TRouter extends AnyRouter> = CurrentPath<TRouter> | ParentPath<TRouter>;
|
|
22
|
-
export type CodeRoutesByPath<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? {
|
|
23
|
-
[K in TRoutes as K['fullPath']]: K;
|
|
24
|
-
} : never;
|
|
25
|
-
export type RoutesByPath<TRouteTree extends AnyRoute> = InferFileRouteTypes<TRouteTree> extends never ? CodeRoutesByPath<TRouteTree> : InferFileRouteTypes<TRouteTree>['fileRoutesByFullPath'];
|
|
26
|
-
export type RouteByPath<TRouteTree extends AnyRoute, TPath> = Extract<RoutesByPath<TRouteTree>[TPath & keyof RoutesByPath<TRouteTree>], AnyRoute>;
|
|
27
|
-
export type CodeRoutePaths<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? TRoutes['fullPath'] : never;
|
|
28
|
-
export type RoutePaths<TRouteTree extends AnyRoute> = unknown extends TRouteTree ? string : (InferFileRouteTypes<TRouteTree> extends never ? CodeRoutePaths<TRouteTree> : InferFileRouteTypes<TRouteTree>['fullPaths']) | '/';
|
|
29
|
-
export type RouteToPathAlwaysTrailingSlash<TRoute extends AnyRoute> = TRoute['path'] extends '/' ? TRoute['fullPath'] : TRoute['fullPath'] extends '/' ? TRoute['fullPath'] : `${TRoute['fullPath']}/`;
|
|
30
|
-
export type RouteToPathNeverTrailingSlash<TRoute extends AnyRoute> = TRoute['path'] extends '/' ? TRoute['fullPath'] extends '/' ? TRoute['fullPath'] : RemoveTrailingSlashes<TRoute['fullPath']> : TRoute['fullPath'];
|
|
31
|
-
export type RouteToPathPreserveTrailingSlash<TRoute extends AnyRoute> = RouteToPathNeverTrailingSlash<TRoute> | RouteToPathAlwaysTrailingSlash<TRoute>;
|
|
32
|
-
export type RouteToPathByTrailingSlashOption<TRoute extends AnyRoute> = {
|
|
33
|
-
always: RouteToPathAlwaysTrailingSlash<TRoute>;
|
|
34
|
-
preserve: RouteToPathPreserveTrailingSlash<TRoute>;
|
|
35
|
-
never: RouteToPathNeverTrailingSlash<TRoute>;
|
|
36
|
-
};
|
|
37
|
-
export type TrailingSlashOptionByRouter<TRouter extends AnyRouter> = TrailingSlashOption extends TRouter['options']['trailingSlash'] ? 'never' : NonNullable<TRouter['options']['trailingSlash']>;
|
|
38
|
-
export type RouteToByRouter<TRouter extends AnyRouter, TRoute extends AnyRoute> = RouteToPathByTrailingSlashOption<TRoute>[TrailingSlashOptionByRouter<TRouter>];
|
|
39
|
-
export type CodeRouteToPath<TRouter extends AnyRouter> = ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoute extends AnyRoute ? TRoute extends any ? RouteToByRouter<TRouter, TRoute> : never : never;
|
|
40
|
-
export type FileRouteToPath<TRouter extends AnyRouter, TTo = InferFileRouteTypes<TRouter['routeTree']>['to'], TTrailingSlashOption = TrailingSlashOptionByRouter<TRouter>> = 'never' extends TTrailingSlashOption ? TTo : 'always' extends TTrailingSlashOption ? AddTrailingSlash<TTo> : TTo | AddTrailingSlash<TTo>;
|
|
41
|
-
export type RouteToPath<TRouter extends AnyRouter> = unknown extends TRouter ? string : InferFileRouteTypes<TRouter['routeTree']> extends never ? CodeRouteToPath<TRouter> : FileRouteToPath<TRouter>;
|
|
42
|
-
export type CodeRoutesByToPath<TRouter extends AnyRouter> = ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoutes extends AnyRoute ? {
|
|
43
|
-
[TRoute in TRoutes as RouteToByRouter<TRouter, TRoute>]: TRoute;
|
|
44
|
-
} : never;
|
|
45
|
-
export type RoutesByToPath<TRouter extends AnyRouter> = InferFileRouteTypes<TRouter['routeTree']> extends never ? CodeRoutesByToPath<TRouter> : InferFileRouteTypes<TRouter['routeTree']>['fileRoutesByTo'];
|
|
46
|
-
export type CodeRouteByToPath<TRouter extends AnyRouter, TTo> = Extract<RoutesByToPath<TRouter>[TTo & keyof RoutesByToPath<TRouter>], AnyRoute>;
|
|
47
|
-
export type FileRouteByToPath<TRouter extends AnyRouter, TTo> = 'never' extends TrailingSlashOptionByRouter<TRouter> ? CodeRouteByToPath<TRouter, TTo> : 'always' extends TrailingSlashOptionByRouter<TRouter> ? TTo extends '/' ? CodeRouteByToPath<TRouter, TTo> : TTo extends `${infer TPath}/` ? CodeRouteByToPath<TRouter, TPath> : never : CodeRouteByToPath<TRouter, TTo extends '/' ? TTo : RemoveTrailingSlashes<TTo>>;
|
|
48
|
-
export type RouteByToPath<TRouter extends AnyRouter, TTo> = InferFileRouteTypes<TRouter['routeTree']> extends never ? CodeRouteByToPath<TRouter, TTo> : FileRouteByToPath<TRouter, TTo>;
|
|
49
|
-
export type FullSearchSchema<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['fullSearchSchema']> : never;
|
|
50
|
-
export type FullSearchSchemaInput<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['fullSearchSchemaInput']> : never;
|
|
51
|
-
export type AllParams<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['allParams']> : never;
|
|
52
|
-
export type AllContext<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['allContext']> : never;
|
|
53
|
-
export type AllLoaderData<TRouteTree extends AnyRoute> = ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute ? PartialMergeAll<TRoutes['types']['loaderData']> : never;
|
package/src/routeInfo.ts
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import type { InferFileRouteTypes } from './fileRoute'
|
|
2
|
-
import type {
|
|
3
|
-
AddTrailingSlash,
|
|
4
|
-
PartialMergeAll,
|
|
5
|
-
RemoveTrailingSlashes,
|
|
6
|
-
TrailingSlashOption,
|
|
7
|
-
} from '@tanstack/router-core'
|
|
8
|
-
import type { AnyRoute } from './route'
|
|
9
|
-
import type { AnyRouter } from './router'
|
|
10
|
-
|
|
11
|
-
export type ParseRoute<TRouteTree, TAcc = TRouteTree> = TRouteTree extends {
|
|
12
|
-
types: { children: infer TChildren }
|
|
13
|
-
}
|
|
14
|
-
? unknown extends TChildren
|
|
15
|
-
? TAcc
|
|
16
|
-
: TChildren extends ReadonlyArray<any>
|
|
17
|
-
? ParseRoute<TChildren[number], TAcc | TChildren[number]>
|
|
18
|
-
: ParseRoute<
|
|
19
|
-
TChildren[keyof TChildren],
|
|
20
|
-
TAcc | TChildren[keyof TChildren]
|
|
21
|
-
>
|
|
22
|
-
: TAcc
|
|
23
|
-
|
|
24
|
-
export type ParseRouteWithoutBranches<TRouteTree> =
|
|
25
|
-
ParseRoute<TRouteTree> extends infer TRoute extends AnyRoute
|
|
26
|
-
? TRoute extends any
|
|
27
|
-
? unknown extends TRoute['types']['children']
|
|
28
|
-
? TRoute
|
|
29
|
-
: TRoute['types']['children'] extends ReadonlyArray<any>
|
|
30
|
-
? '/' extends TRoute['types']['children'][number]['path']
|
|
31
|
-
? never
|
|
32
|
-
: TRoute
|
|
33
|
-
: '/' extends TRoute['types']['children'][keyof TRoute['types']['children']]['path']
|
|
34
|
-
? never
|
|
35
|
-
: TRoute
|
|
36
|
-
: never
|
|
37
|
-
: never
|
|
38
|
-
|
|
39
|
-
export type CodeRoutesById<TRouteTree extends AnyRoute> =
|
|
40
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
41
|
-
? {
|
|
42
|
-
[K in TRoutes as K['id']]: K
|
|
43
|
-
}
|
|
44
|
-
: never
|
|
45
|
-
|
|
46
|
-
export type RoutesById<TRouteTree extends AnyRoute> =
|
|
47
|
-
InferFileRouteTypes<TRouteTree> extends never
|
|
48
|
-
? CodeRoutesById<TRouteTree>
|
|
49
|
-
: InferFileRouteTypes<TRouteTree>['fileRoutesById']
|
|
50
|
-
|
|
51
|
-
export type RouteById<TRouteTree extends AnyRoute, TId> = Extract<
|
|
52
|
-
RoutesById<TRouteTree>[TId & keyof RoutesById<TRouteTree>],
|
|
53
|
-
AnyRoute
|
|
54
|
-
>
|
|
55
|
-
|
|
56
|
-
export type CodeRouteIds<TRouteTree extends AnyRoute> =
|
|
57
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
58
|
-
? TRoutes['id']
|
|
59
|
-
: never
|
|
60
|
-
|
|
61
|
-
export type RouteIds<TRouteTree extends AnyRoute> =
|
|
62
|
-
InferFileRouteTypes<TRouteTree> extends never
|
|
63
|
-
? CodeRouteIds<TRouteTree>
|
|
64
|
-
: InferFileRouteTypes<TRouteTree>['id']
|
|
65
|
-
|
|
66
|
-
export type ParentPath<TRouter extends AnyRouter> =
|
|
67
|
-
TrailingSlashOptionByRouter<TRouter> extends 'always'
|
|
68
|
-
? '../'
|
|
69
|
-
: TrailingSlashOptionByRouter<TRouter> extends 'never'
|
|
70
|
-
? '..'
|
|
71
|
-
: '../' | '..'
|
|
72
|
-
|
|
73
|
-
export type CurrentPath<TRouter extends AnyRouter> =
|
|
74
|
-
TrailingSlashOptionByRouter<TRouter> extends 'always'
|
|
75
|
-
? './'
|
|
76
|
-
: TrailingSlashOptionByRouter<TRouter> extends 'never'
|
|
77
|
-
? '.'
|
|
78
|
-
: './' | '.'
|
|
79
|
-
|
|
80
|
-
export type ToPath<TRouter extends AnyRouter, TTo extends string> =
|
|
81
|
-
TrailingSlashOptionByRouter<TRouter> extends 'always'
|
|
82
|
-
? AddTrailingSlash<TTo>
|
|
83
|
-
: TrailingSlashOptionByRouter<TRouter> extends 'never'
|
|
84
|
-
? RemoveTrailingSlashes<TTo>
|
|
85
|
-
: AddTrailingSlash<TTo> | RemoveTrailingSlashes<TTo>
|
|
86
|
-
|
|
87
|
-
export type CatchAllPaths<TRouter extends AnyRouter> =
|
|
88
|
-
| CurrentPath<TRouter>
|
|
89
|
-
| ParentPath<TRouter>
|
|
90
|
-
|
|
91
|
-
export type CodeRoutesByPath<TRouteTree extends AnyRoute> =
|
|
92
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
93
|
-
? {
|
|
94
|
-
[K in TRoutes as K['fullPath']]: K
|
|
95
|
-
}
|
|
96
|
-
: never
|
|
97
|
-
|
|
98
|
-
export type RoutesByPath<TRouteTree extends AnyRoute> =
|
|
99
|
-
InferFileRouteTypes<TRouteTree> extends never
|
|
100
|
-
? CodeRoutesByPath<TRouteTree>
|
|
101
|
-
: InferFileRouteTypes<TRouteTree>['fileRoutesByFullPath']
|
|
102
|
-
|
|
103
|
-
export type RouteByPath<TRouteTree extends AnyRoute, TPath> = Extract<
|
|
104
|
-
RoutesByPath<TRouteTree>[TPath & keyof RoutesByPath<TRouteTree>],
|
|
105
|
-
AnyRoute
|
|
106
|
-
>
|
|
107
|
-
|
|
108
|
-
export type CodeRoutePaths<TRouteTree extends AnyRoute> =
|
|
109
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
110
|
-
? TRoutes['fullPath']
|
|
111
|
-
: never
|
|
112
|
-
|
|
113
|
-
export type RoutePaths<TRouteTree extends AnyRoute> = unknown extends TRouteTree
|
|
114
|
-
? string
|
|
115
|
-
:
|
|
116
|
-
| (InferFileRouteTypes<TRouteTree> extends never
|
|
117
|
-
? CodeRoutePaths<TRouteTree>
|
|
118
|
-
: InferFileRouteTypes<TRouteTree>['fullPaths'])
|
|
119
|
-
| '/'
|
|
120
|
-
|
|
121
|
-
export type RouteToPathAlwaysTrailingSlash<TRoute extends AnyRoute> =
|
|
122
|
-
TRoute['path'] extends '/'
|
|
123
|
-
? TRoute['fullPath']
|
|
124
|
-
: TRoute['fullPath'] extends '/'
|
|
125
|
-
? TRoute['fullPath']
|
|
126
|
-
: `${TRoute['fullPath']}/`
|
|
127
|
-
|
|
128
|
-
export type RouteToPathNeverTrailingSlash<TRoute extends AnyRoute> =
|
|
129
|
-
TRoute['path'] extends '/'
|
|
130
|
-
? TRoute['fullPath'] extends '/'
|
|
131
|
-
? TRoute['fullPath']
|
|
132
|
-
: RemoveTrailingSlashes<TRoute['fullPath']>
|
|
133
|
-
: TRoute['fullPath']
|
|
134
|
-
|
|
135
|
-
export type RouteToPathPreserveTrailingSlash<TRoute extends AnyRoute> =
|
|
136
|
-
| RouteToPathNeverTrailingSlash<TRoute>
|
|
137
|
-
| RouteToPathAlwaysTrailingSlash<TRoute>
|
|
138
|
-
|
|
139
|
-
export type RouteToPathByTrailingSlashOption<TRoute extends AnyRoute> = {
|
|
140
|
-
always: RouteToPathAlwaysTrailingSlash<TRoute>
|
|
141
|
-
preserve: RouteToPathPreserveTrailingSlash<TRoute>
|
|
142
|
-
never: RouteToPathNeverTrailingSlash<TRoute>
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export type TrailingSlashOptionByRouter<TRouter extends AnyRouter> =
|
|
146
|
-
TrailingSlashOption extends TRouter['options']['trailingSlash']
|
|
147
|
-
? 'never'
|
|
148
|
-
: NonNullable<TRouter['options']['trailingSlash']>
|
|
149
|
-
|
|
150
|
-
export type RouteToByRouter<
|
|
151
|
-
TRouter extends AnyRouter,
|
|
152
|
-
TRoute extends AnyRoute,
|
|
153
|
-
> = RouteToPathByTrailingSlashOption<TRoute>[TrailingSlashOptionByRouter<TRouter>]
|
|
154
|
-
|
|
155
|
-
export type CodeRouteToPath<TRouter extends AnyRouter> =
|
|
156
|
-
ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoute extends
|
|
157
|
-
AnyRoute
|
|
158
|
-
? TRoute extends any
|
|
159
|
-
? RouteToByRouter<TRouter, TRoute>
|
|
160
|
-
: never
|
|
161
|
-
: never
|
|
162
|
-
|
|
163
|
-
export type FileRouteToPath<
|
|
164
|
-
TRouter extends AnyRouter,
|
|
165
|
-
TTo = InferFileRouteTypes<TRouter['routeTree']>['to'],
|
|
166
|
-
TTrailingSlashOption = TrailingSlashOptionByRouter<TRouter>,
|
|
167
|
-
> = 'never' extends TTrailingSlashOption
|
|
168
|
-
? TTo
|
|
169
|
-
: 'always' extends TTrailingSlashOption
|
|
170
|
-
? AddTrailingSlash<TTo>
|
|
171
|
-
: TTo | AddTrailingSlash<TTo>
|
|
172
|
-
|
|
173
|
-
export type RouteToPath<TRouter extends AnyRouter> = unknown extends TRouter
|
|
174
|
-
? string
|
|
175
|
-
: InferFileRouteTypes<TRouter['routeTree']> extends never
|
|
176
|
-
? CodeRouteToPath<TRouter>
|
|
177
|
-
: FileRouteToPath<TRouter>
|
|
178
|
-
|
|
179
|
-
export type CodeRoutesByToPath<TRouter extends AnyRouter> =
|
|
180
|
-
ParseRouteWithoutBranches<TRouter['routeTree']> extends infer TRoutes extends
|
|
181
|
-
AnyRoute
|
|
182
|
-
? {
|
|
183
|
-
[TRoute in TRoutes as RouteToByRouter<TRouter, TRoute>]: TRoute
|
|
184
|
-
}
|
|
185
|
-
: never
|
|
186
|
-
|
|
187
|
-
export type RoutesByToPath<TRouter extends AnyRouter> =
|
|
188
|
-
InferFileRouteTypes<TRouter['routeTree']> extends never
|
|
189
|
-
? CodeRoutesByToPath<TRouter>
|
|
190
|
-
: InferFileRouteTypes<TRouter['routeTree']>['fileRoutesByTo']
|
|
191
|
-
|
|
192
|
-
export type CodeRouteByToPath<TRouter extends AnyRouter, TTo> = Extract<
|
|
193
|
-
RoutesByToPath<TRouter>[TTo & keyof RoutesByToPath<TRouter>],
|
|
194
|
-
AnyRoute
|
|
195
|
-
>
|
|
196
|
-
|
|
197
|
-
export type FileRouteByToPath<TRouter extends AnyRouter, TTo> =
|
|
198
|
-
'never' extends TrailingSlashOptionByRouter<TRouter>
|
|
199
|
-
? CodeRouteByToPath<TRouter, TTo>
|
|
200
|
-
: 'always' extends TrailingSlashOptionByRouter<TRouter>
|
|
201
|
-
? TTo extends '/'
|
|
202
|
-
? CodeRouteByToPath<TRouter, TTo>
|
|
203
|
-
: TTo extends `${infer TPath}/`
|
|
204
|
-
? CodeRouteByToPath<TRouter, TPath>
|
|
205
|
-
: never
|
|
206
|
-
: CodeRouteByToPath<
|
|
207
|
-
TRouter,
|
|
208
|
-
TTo extends '/' ? TTo : RemoveTrailingSlashes<TTo>
|
|
209
|
-
>
|
|
210
|
-
|
|
211
|
-
export type RouteByToPath<TRouter extends AnyRouter, TTo> =
|
|
212
|
-
InferFileRouteTypes<TRouter['routeTree']> extends never
|
|
213
|
-
? CodeRouteByToPath<TRouter, TTo>
|
|
214
|
-
: FileRouteByToPath<TRouter, TTo>
|
|
215
|
-
|
|
216
|
-
export type FullSearchSchema<TRouteTree extends AnyRoute> =
|
|
217
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
218
|
-
? PartialMergeAll<TRoutes['types']['fullSearchSchema']>
|
|
219
|
-
: never
|
|
220
|
-
|
|
221
|
-
export type FullSearchSchemaInput<TRouteTree extends AnyRoute> =
|
|
222
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
223
|
-
? PartialMergeAll<TRoutes['types']['fullSearchSchemaInput']>
|
|
224
|
-
: never
|
|
225
|
-
|
|
226
|
-
export type AllParams<TRouteTree extends AnyRoute> =
|
|
227
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
228
|
-
? PartialMergeAll<TRoutes['types']['allParams']>
|
|
229
|
-
: never
|
|
230
|
-
|
|
231
|
-
export type AllContext<TRouteTree extends AnyRoute> =
|
|
232
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
233
|
-
? PartialMergeAll<TRoutes['types']['allContext']>
|
|
234
|
-
: never
|
|
235
|
-
|
|
236
|
-
export type AllLoaderData<TRouteTree extends AnyRoute> =
|
|
237
|
-
ParseRoute<TRouteTree> extends infer TRoutes extends AnyRoute
|
|
238
|
-
? PartialMergeAll<TRoutes['types']['loaderData']>
|
|
239
|
-
: never
|