@tanstack/router-core 1.132.0-alpha.1 → 1.132.0-alpha.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 +7 -9
- package/dist/cjs/index.cjs +8 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +6 -2
- package/dist/cjs/load-matches.cjs +636 -0
- package/dist/cjs/load-matches.cjs.map +1 -0
- package/dist/cjs/load-matches.d.cts +16 -0
- package/dist/cjs/qss.cjs +19 -19
- package/dist/cjs/qss.cjs.map +1 -1
- package/dist/cjs/qss.d.cts +6 -4
- package/dist/cjs/redirect.cjs +3 -3
- package/dist/cjs/redirect.cjs.map +1 -1
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +0 -4
- package/dist/cjs/router.cjs +64 -632
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +14 -26
- package/dist/cjs/scroll-restoration.cjs +20 -25
- package/dist/cjs/scroll-restoration.cjs.map +1 -1
- package/dist/cjs/scroll-restoration.d.cts +0 -9
- package/dist/cjs/searchParams.cjs +7 -15
- package/dist/cjs/searchParams.cjs.map +1 -1
- package/dist/cjs/ssr/constants.cjs +5 -0
- package/dist/cjs/ssr/constants.cjs.map +1 -0
- package/dist/cjs/ssr/constants.d.cts +1 -0
- package/dist/cjs/ssr/{seroval-plugins.cjs → serializer/ShallowErrorPlugin.cjs} +2 -2
- package/dist/cjs/ssr/serializer/ShallowErrorPlugin.cjs.map +1 -0
- package/dist/cjs/ssr/{seroval-plugins.d.cts → serializer/ShallowErrorPlugin.d.cts} +1 -2
- package/dist/cjs/ssr/serializer/seroval-plugins.cjs +11 -0
- package/dist/cjs/ssr/serializer/seroval-plugins.cjs.map +1 -0
- package/dist/cjs/ssr/serializer/seroval-plugins.d.cts +2 -0
- package/dist/cjs/ssr/serializer/transformer.cjs +50 -0
- package/dist/cjs/ssr/serializer/transformer.cjs.map +1 -0
- package/dist/cjs/ssr/serializer/transformer.d.cts +18 -0
- package/dist/cjs/ssr/ssr-client.cjs +53 -40
- package/dist/cjs/ssr/ssr-client.cjs.map +1 -1
- package/dist/cjs/ssr/ssr-client.d.cts +5 -1
- package/dist/cjs/ssr/ssr-server.cjs +12 -10
- package/dist/cjs/ssr/ssr-server.cjs.map +1 -1
- package/dist/cjs/ssr/ssr-server.d.cts +0 -1
- package/dist/cjs/ssr/tsrScript.cjs +1 -1
- package/dist/cjs/ssr/tsrScript.cjs.map +1 -1
- package/dist/cjs/typePrimitives.d.cts +6 -6
- package/dist/cjs/utils.cjs +14 -7
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +2 -1
- package/dist/esm/Matches.d.ts +7 -9
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/index.d.ts +6 -2
- package/dist/esm/index.js +9 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/load-matches.d.ts +16 -0
- package/dist/esm/load-matches.js +636 -0
- package/dist/esm/load-matches.js.map +1 -0
- package/dist/esm/qss.d.ts +6 -4
- package/dist/esm/qss.js +19 -19
- package/dist/esm/qss.js.map +1 -1
- package/dist/esm/redirect.js +3 -3
- package/dist/esm/redirect.js.map +1 -1
- package/dist/esm/route.d.ts +0 -4
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.d.ts +14 -26
- package/dist/esm/router.js +64 -632
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/scroll-restoration.d.ts +0 -9
- package/dist/esm/scroll-restoration.js +20 -25
- package/dist/esm/scroll-restoration.js.map +1 -1
- package/dist/esm/searchParams.js +7 -15
- package/dist/esm/searchParams.js.map +1 -1
- package/dist/esm/ssr/constants.d.ts +1 -0
- package/dist/esm/ssr/constants.js +5 -0
- package/dist/esm/ssr/constants.js.map +1 -0
- package/dist/esm/ssr/{seroval-plugins.d.ts → serializer/ShallowErrorPlugin.d.ts} +1 -2
- package/dist/esm/ssr/{seroval-plugins.js → serializer/ShallowErrorPlugin.js} +2 -2
- package/dist/esm/ssr/serializer/ShallowErrorPlugin.js.map +1 -0
- package/dist/esm/ssr/serializer/seroval-plugins.d.ts +2 -0
- package/dist/esm/ssr/serializer/seroval-plugins.js +11 -0
- package/dist/esm/ssr/serializer/seroval-plugins.js.map +1 -0
- package/dist/esm/ssr/serializer/transformer.d.ts +18 -0
- package/dist/esm/ssr/serializer/transformer.js +50 -0
- package/dist/esm/ssr/serializer/transformer.js.map +1 -0
- package/dist/esm/ssr/ssr-client.d.ts +5 -1
- package/dist/esm/ssr/ssr-client.js +53 -40
- package/dist/esm/ssr/ssr-client.js.map +1 -1
- package/dist/esm/ssr/ssr-server.d.ts +0 -1
- package/dist/esm/ssr/ssr-server.js +12 -10
- package/dist/esm/ssr/ssr-server.js.map +1 -1
- package/dist/esm/ssr/tsrScript.js +1 -1
- package/dist/esm/ssr/tsrScript.js.map +1 -1
- package/dist/esm/typePrimitives.d.ts +6 -6
- package/dist/esm/utils.d.ts +2 -1
- package/dist/esm/utils.js +14 -7
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/Matches.ts +16 -8
- package/src/index.ts +12 -2
- package/src/load-matches.ts +955 -0
- package/src/qss.ts +27 -24
- package/src/redirect.ts +3 -3
- package/src/route.ts +10 -2
- package/src/router.ts +99 -893
- package/src/scroll-restoration.ts +25 -32
- package/src/searchParams.ts +8 -19
- package/src/ssr/constants.ts +1 -0
- package/src/ssr/{seroval-plugins.ts → serializer/ShallowErrorPlugin.ts} +2 -2
- package/src/ssr/serializer/seroval-plugins.ts +9 -0
- package/src/ssr/serializer/transformer.ts +78 -0
- package/src/ssr/ssr-client.ts +72 -44
- package/src/ssr/ssr-server.ts +18 -10
- package/src/ssr/tsrScript.ts +5 -1
- package/src/typePrimitives.ts +6 -6
- package/src/utils.ts +21 -10
- package/dist/cjs/ssr/seroval-plugins.cjs.map +0 -1
- package/dist/esm/ssr/seroval-plugins.js.map +0 -1
package/dist/esm/router.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Store } from '@tanstack/store';
|
|
2
|
+
import { loadRouteChunk } from './load-matches.js';
|
|
2
3
|
import { ParsePathnameCache } from './path.js';
|
|
3
4
|
import { SearchParser, SearchSerializer } from './searchParams.js';
|
|
4
5
|
import { AnyRedirect, ResolvedRedirect } from './redirect.js';
|
|
@@ -7,12 +8,11 @@ import { Awaitable, ControlledPromise, NoInfer, NonNullableUpdater, PickAsRequir
|
|
|
7
8
|
import { ParsedLocation } from './location.js';
|
|
8
9
|
import { AnyContext, AnyRoute, AnyRouteWithContext, MakeRemountDepsOptionsUnion, RouteMask } from './route.js';
|
|
9
10
|
import { FullSearchSchema, RouteById, RoutePaths, RoutesById, RoutesByPath } from './routeInfo.js';
|
|
10
|
-
import { AnyRouteMatch,
|
|
11
|
+
import { AnyRouteMatch, MakeRouteMatchUnion, MatchRouteOptions } from './Matches.js';
|
|
11
12
|
import { BuildLocationFn, CommitLocationOptions, NavigateFn } from './RouterProvider.js';
|
|
12
13
|
import { Manifest } from './manifest.js';
|
|
13
14
|
import { AnySchema } from './validators.js';
|
|
14
15
|
import { NavigateOptions, ResolveRelativePath, ToOptions } from './link.js';
|
|
15
|
-
import { NotFoundError } from './not-found.js';
|
|
16
16
|
export type ControllablePromise<T = any> = Promise<T> & {
|
|
17
17
|
resolve: (value: T) => void;
|
|
18
18
|
reject: (value?: any) => void;
|
|
@@ -29,7 +29,7 @@ export interface DefaultRouterOptionsExtensions {
|
|
|
29
29
|
}
|
|
30
30
|
export interface RouterOptionsExtensions extends DefaultRouterOptionsExtensions {
|
|
31
31
|
}
|
|
32
|
-
export interface RouterOptions<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated extends Record<string, any> = Record<string, any
|
|
32
|
+
export interface RouterOptions<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated extends Record<string, any> = Record<string, any>, TTransformerConfig = any> extends RouterOptionsExtensions {
|
|
33
33
|
/**
|
|
34
34
|
* The history object that will be used to manage the browser history.
|
|
35
35
|
*
|
|
@@ -320,6 +320,7 @@ export interface RouterOptions<TRouteTree extends AnyRoute, TTrailingSlashOption
|
|
|
320
320
|
* @default false
|
|
321
321
|
*/
|
|
322
322
|
disableGlobalCatchBoundary?: boolean;
|
|
323
|
+
serializationAdapters?: TTransformerConfig;
|
|
323
324
|
}
|
|
324
325
|
export interface RouterState<in out TRouteTree extends AnyRoute = AnyRoute, in out TRouteMatch = MakeRouteMatchUnion> {
|
|
325
326
|
status: 'pending' | 'idle';
|
|
@@ -400,10 +401,10 @@ export type RouterContextOptions<TRouteTree extends AnyRoute> = AnyContext exten
|
|
|
400
401
|
} : {
|
|
401
402
|
context: InferRouterContext<TRouteTree>;
|
|
402
403
|
};
|
|
403
|
-
export type RouterConstructorOptions<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record<string, any
|
|
404
|
+
export type RouterConstructorOptions<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record<string, any>, TTransformerConfig> = Omit<RouterOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>, 'context'> & RouterContextOptions<TRouteTree>;
|
|
404
405
|
export type PreloadRouteFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory> = <TFrom extends RoutePaths<TRouteTree> | string = string, TTo extends string | undefined = undefined, TMaskFrom extends RoutePaths<TRouteTree> | string = TFrom, TMaskTo extends string = ''>(opts: NavigateOptions<RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>, TFrom, TTo, TMaskFrom, TMaskTo>) => Promise<Array<AnyRouteMatch> | undefined>;
|
|
405
406
|
export type MatchRouteFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory> = <TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string | undefined = undefined, TResolved = ResolveRelativePath<TFrom, NoInfer<TTo>>>(location: ToOptions<RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>, TFrom, TTo>, opts?: MatchRouteOptions) => false | RouteById<TRouteTree, TResolved>['types']['allParams'];
|
|
406
|
-
export type UpdateFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record<string, any
|
|
407
|
+
export type UpdateFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record<string, any>, TTransformerConfig extends any> = (newOptions: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>) => void;
|
|
407
408
|
export type InvalidateFn<TRouter extends AnyRouter> = (opts?: {
|
|
408
409
|
filter?: (d: MakeRouteMatchUnion<TRouter>) => boolean;
|
|
409
410
|
sync?: boolean;
|
|
@@ -446,8 +447,8 @@ export interface ServerSsr {
|
|
|
446
447
|
onRenderFinished: (listener: () => void) => void;
|
|
447
448
|
dehydrate: () => Promise<void>;
|
|
448
449
|
}
|
|
449
|
-
export type AnyRouterWithContext<TContext> = RouterCore<AnyRouteWithContext<TContext>, any, any, any, any>;
|
|
450
|
-
export type AnyRouter = RouterCore<any, any, any, any, any>;
|
|
450
|
+
export type AnyRouterWithContext<TContext> = RouterCore<AnyRouteWithContext<TContext>, any, any, any, any, any>;
|
|
451
|
+
export type AnyRouter = RouterCore<any, any, any, any, any, any>;
|
|
451
452
|
export interface ViewTransitionOptions {
|
|
452
453
|
types: Array<string> | ((locationChangeInfo: {
|
|
453
454
|
fromLocation?: ParsedLocation;
|
|
@@ -474,8 +475,8 @@ export declare function getLocationChangeInfo(routerState: {
|
|
|
474
475
|
hrefChanged: boolean;
|
|
475
476
|
hashChanged: boolean;
|
|
476
477
|
};
|
|
477
|
-
export type CreateRouterFn = <TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption = 'never', TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated extends Record<string, any> = Record<string, any
|
|
478
|
-
export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrailingSlashOption extends TrailingSlashOption, in out TDefaultStructuralSharingOption extends boolean, in out TRouterHistory extends RouterHistory = RouterHistory, in out TDehydrated extends Record<string, any> = Record<string, any
|
|
478
|
+
export type CreateRouterFn = <TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption = 'never', TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated extends Record<string, any> = Record<string, any>, TTransformerConfig = any>(options: undefined extends number ? 'strictNullChecks must be enabled in tsconfig.json' : RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>) => RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>;
|
|
479
|
+
export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrailingSlashOption extends TrailingSlashOption, in out TDefaultStructuralSharingOption extends boolean, in out TRouterHistory extends RouterHistory = RouterHistory, in out TDehydrated extends Record<string, any> = Record<string, any>, in out TTransformerConfig = any> {
|
|
479
480
|
tempLocationKey: string | undefined;
|
|
480
481
|
resetNextScroll: boolean;
|
|
481
482
|
shouldViewTransition?: boolean | ViewTransitionOptions;
|
|
@@ -485,7 +486,7 @@ export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrai
|
|
|
485
486
|
isScrollRestoring: boolean;
|
|
486
487
|
isScrollRestorationSetup: boolean;
|
|
487
488
|
__store: Store<RouterState<TRouteTree>>;
|
|
488
|
-
options: PickAsRequired<RouterOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>, 'stringifySearch' | 'parseSearch' | 'context'>;
|
|
489
|
+
options: PickAsRequired<RouterOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>, 'stringifySearch' | 'parseSearch' | 'context'>;
|
|
489
490
|
history: TRouterHistory;
|
|
490
491
|
latestLocation: ParsedLocation<FullSearchSchema<TRouteTree>>;
|
|
491
492
|
basepath: string;
|
|
@@ -498,11 +499,11 @@ export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrai
|
|
|
498
499
|
/**
|
|
499
500
|
* @deprecated Use the `createRouter` function instead
|
|
500
501
|
*/
|
|
501
|
-
constructor(options: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>);
|
|
502
|
+
constructor(options: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>);
|
|
502
503
|
startTransition: StartTransitionFn;
|
|
503
504
|
isShell(): boolean;
|
|
504
505
|
isPrerendering(): boolean;
|
|
505
|
-
update: UpdateFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>;
|
|
506
|
+
update: UpdateFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated, TTransformerConfig>;
|
|
506
507
|
get state(): RouterState<TRouteTree, import('./Matches.js').RouteMatch<any, any, any, any, any, any, any>>;
|
|
507
508
|
buildRouteTree: () => void;
|
|
508
509
|
subscribe: SubscribeFn;
|
|
@@ -528,29 +529,17 @@ export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrai
|
|
|
528
529
|
startViewTransition: (fn: () => Promise<void>) => void;
|
|
529
530
|
updateMatch: UpdateMatchFn;
|
|
530
531
|
getMatch: GetMatchFn;
|
|
531
|
-
loadMatches: ({ location, matches, preload: allPreload, onReady, updateMatch, sync, }: {
|
|
532
|
-
location: ParsedLocation;
|
|
533
|
-
matches: Array<AnyRouteMatch>;
|
|
534
|
-
preload?: boolean;
|
|
535
|
-
onReady?: () => Promise<void>;
|
|
536
|
-
updateMatch?: (id: string, updater: (match: AnyRouteMatch) => AnyRouteMatch) => void;
|
|
537
|
-
getMatch?: (matchId: string) => AnyRouteMatch | undefined;
|
|
538
|
-
sync?: boolean;
|
|
539
|
-
}) => Promise<Array<MakeRouteMatch>>;
|
|
540
532
|
invalidate: InvalidateFn<RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>>;
|
|
541
533
|
resolveRedirect: (redirect: AnyRedirect) => AnyRedirect;
|
|
542
534
|
clearCache: ClearCacheFn<this>;
|
|
543
535
|
clearExpiredCache: () => void;
|
|
544
|
-
loadRouteChunk:
|
|
536
|
+
loadRouteChunk: typeof loadRouteChunk;
|
|
545
537
|
preloadRoute: PreloadRouteFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>;
|
|
546
538
|
matchRoute: MatchRouteFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>;
|
|
547
539
|
ssr?: {
|
|
548
540
|
manifest: Manifest | undefined;
|
|
549
541
|
};
|
|
550
542
|
serverSsr?: ServerSsr;
|
|
551
|
-
_handleNotFound: (matches: Array<AnyRouteMatch>, err: NotFoundError, { updateMatch, }?: {
|
|
552
|
-
updateMatch?: (id: string, updater: (match: AnyRouteMatch) => AnyRouteMatch) => void;
|
|
553
|
-
}) => void;
|
|
554
543
|
hasNotFoundMatch: () => boolean;
|
|
555
544
|
}
|
|
556
545
|
export declare class SearchParamError extends Error {
|
|
@@ -559,7 +548,6 @@ export declare class PathParamError extends Error {
|
|
|
559
548
|
}
|
|
560
549
|
export declare function lazyFn<T extends Record<string, (...args: Array<any>) => any>, TKey extends keyof T = 'default'>(fn: () => Promise<T>, key?: TKey): (...args: Parameters<T[TKey]>) => Promise<Awaited<ReturnType<T[TKey]>>>;
|
|
561
550
|
export declare function getInitialRouterState(location: ParsedLocation): RouterState<any>;
|
|
562
|
-
export declare const componentTypes: readonly ["component", "errorComponent", "pendingComponent", "notFoundComponent"];
|
|
563
551
|
interface RouteLike {
|
|
564
552
|
id: string;
|
|
565
553
|
isRoot?: boolean;
|