@tanstack/router-core 1.120.4-alpha.12 → 1.120.4-alpha.15
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/index.cjs +0 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/redirect.cjs +0 -2
- package/dist/cjs/redirect.cjs.map +1 -1
- package/dist/cjs/redirect.d.cts +0 -1
- package/dist/cjs/router.cjs +4 -0
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +1 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/redirect.d.ts +0 -1
- package/dist/esm/redirect.js +1 -3
- package/dist/esm/redirect.js.map +1 -1
- package/dist/esm/router.d.ts +1 -0
- package/dist/esm/router.js +4 -0
- package/dist/esm/router.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +0 -1
- package/src/redirect.ts +0 -2
- package/src/router.ts +6 -0
package/dist/cjs/router.d.cts
CHANGED
|
@@ -513,6 +513,7 @@ export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrai
|
|
|
513
513
|
*/
|
|
514
514
|
constructor(options: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>);
|
|
515
515
|
startTransition: StartTransitionFn;
|
|
516
|
+
isShell: boolean;
|
|
516
517
|
update: UpdateFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>;
|
|
517
518
|
get state(): RouterState<TRouteTree, import('./Matches.cjs').RouteMatch<any, any, any, any, any, any, any>>;
|
|
518
519
|
buildRouteTree: () => void;
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type { UseNavigateResult } from './useNavigate.js';
|
|
|
33
33
|
export type { UseLoaderDepsResult, ResolveUseLoaderDeps } from './useLoaderDeps.js';
|
|
34
34
|
export type { UseLoaderDataResult, ResolveUseLoaderData } from './useLoaderData.js';
|
|
35
35
|
export type { Redirect, ResolvedRedirect, AnyRedirect } from './redirect.js';
|
|
36
|
-
export { redirect, isRedirect, isResolvedRedirect,
|
|
36
|
+
export { redirect, isRedirect, isResolvedRedirect, parseRedirect, } from './redirect.js';
|
|
37
37
|
export type { NotFoundError } from './not-found.js';
|
|
38
38
|
export { isNotFound, notFound } from './not-found.js';
|
|
39
39
|
export { defaultGetScrollRestorationKey, restoreScroll, storageKey, getCssSelector, scrollRestorationCache, setupScrollRestoration, handleHashScroll, } from './scroll-restoration.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { PathParamError, RouterCore, SearchParamError, componentTypes, defaultSe
|
|
|
9
9
|
import { retainSearchParams, stripSearchParams } from "./searchMiddleware.js";
|
|
10
10
|
import { defaultParseSearch, defaultStringifySearch, parseSearchWith, stringifySearchWith } from "./searchParams.js";
|
|
11
11
|
import { createControlledPromise, deepEqual, escapeJSON, functionalUpdate, isPlainArray, isPlainObject, last, pick, replaceEqualDeep, shallow } from "./utils.js";
|
|
12
|
-
import { isRedirect, isResolvedRedirect, parseRedirect, redirect
|
|
12
|
+
import { isRedirect, isResolvedRedirect, parseRedirect, redirect } from "./redirect.js";
|
|
13
13
|
import { isNotFound, notFound } from "./not-found.js";
|
|
14
14
|
import { defaultGetScrollRestorationKey, getCssSelector, handleHashScroll, restoreScroll, scrollRestorationCache, setupScrollRestoration, storageKey } from "./scroll-restoration.js";
|
|
15
15
|
export {
|
|
@@ -74,7 +74,6 @@ export {
|
|
|
74
74
|
stripSearchParams,
|
|
75
75
|
trimPath,
|
|
76
76
|
trimPathLeft,
|
|
77
|
-
trimPathRight
|
|
78
|
-
tsrRedirectHeaderKey
|
|
77
|
+
trimPathRight
|
|
79
78
|
};
|
|
80
79
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/redirect.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { NavigateOptions } from './link.js';
|
|
2
2
|
import { AnyRouter, RegisteredRouter } from './router.js';
|
|
3
|
-
export declare const tsrRedirectHeaderKey = "X-Tanstack-Router-Redirect-Options";
|
|
4
3
|
export type AnyRedirect = Redirect<any, any, any, any, any>;
|
|
5
4
|
/**
|
|
6
5
|
* @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RedirectType)
|
package/dist/esm/redirect.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const tsrRedirectHeaderKey = "X-Tanstack-Router-Redirect-Options";
|
|
2
1
|
function redirect(opts) {
|
|
3
2
|
opts.statusCode = opts.statusCode || opts.code || 307;
|
|
4
3
|
const headers = new Headers(opts.headers || {});
|
|
@@ -28,7 +27,6 @@ export {
|
|
|
28
27
|
isRedirect,
|
|
29
28
|
isResolvedRedirect,
|
|
30
29
|
parseRedirect,
|
|
31
|
-
redirect
|
|
32
|
-
tsrRedirectHeaderKey
|
|
30
|
+
redirect
|
|
33
31
|
};
|
|
34
32
|
//# sourceMappingURL=redirect.js.map
|
package/dist/esm/redirect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirect.js","sources":["../../src/redirect.ts"],"sourcesContent":["import type { NavigateOptions } from './link'\nimport type { AnyRouter, RegisteredRouter } from './router'\n\nexport
|
|
1
|
+
{"version":3,"file":"redirect.js","sources":["../../src/redirect.ts"],"sourcesContent":["import type { NavigateOptions } from './link'\nimport type { AnyRouter, RegisteredRouter } from './router'\n\nexport type AnyRedirect = Redirect<any, any, any, any, any>\n\n/**\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RedirectType)\n */\nexport type Redirect<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string | undefined = undefined,\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '.',\n> = Response & {\n options: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>\n redirectHandled?: boolean\n}\n\nexport type RedirectOptions<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string | undefined = undefined,\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '.',\n> = {\n href?: string\n /**\n * @deprecated Use `statusCode` instead\n **/\n code?: number\n /**\n * The HTTP status code to use when redirecting.\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RedirectType#statuscode-property)\n */\n statusCode?: number\n /**\n * If provided, will throw the redirect object instead of returning it. This can be useful in places where `throwing` in a function might cause it to have a return type of `never`. In that case, you can use `redirect({ throw: true })` to throw the redirect object instead of returning it.\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RedirectType#throw-property)\n */\n throw?: any\n /**\n * The HTTP headers to use when redirecting.\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RedirectType#headers-property)\n */\n headers?: HeadersInit\n} & NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>\n\nexport type ResolvedRedirect<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string = '',\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '',\n> = Redirect<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>\n\nexport function redirect<\n TRouter extends AnyRouter = RegisteredRouter,\n const TTo extends string | undefined = '.',\n const TFrom extends string = string,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(\n opts: RedirectOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,\n): Redirect<TRouter, TFrom, TTo, TMaskFrom, TMaskTo> {\n opts.statusCode = opts.statusCode || opts.code || 307\n const headers = new Headers(opts.headers || {})\n\n const response = new Response(null, {\n status: opts.statusCode,\n headers,\n })\n\n ;(response as Redirect<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>).options =\n opts\n\n if (opts.throw) {\n throw response\n }\n\n return response as Redirect<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>\n}\n\nexport function isRedirect(obj: any): obj is AnyRedirect {\n return obj instanceof Response && !!(obj as any).options\n}\n\nexport function isResolvedRedirect(\n obj: any,\n): obj is AnyRedirect & { options: { href: string } } {\n return isRedirect(obj) && !!obj.options.href\n}\n\nexport function parseRedirect(obj: any) {\n if (typeof obj === 'object' && obj.isSerializedRedirect) {\n return redirect(obj)\n }\n\n return undefined\n}\n"],"names":[],"mappings":"AAwDO,SAAS,SAOd,MACmD;AACnD,OAAK,aAAa,KAAK,cAAc,KAAK,QAAQ;AAClD,QAAM,UAAU,IAAI,QAAQ,KAAK,WAAW,CAAA,CAAE;AAExC,QAAA,WAAW,IAAI,SAAS,MAAM;AAAA,IAClC,QAAQ,KAAK;AAAA,IACb;AAAA,EAAA,CACD;AAEC,WAA+D,UAC/D;AAEF,MAAI,KAAK,OAAO;AACR,UAAA;AAAA,EAAA;AAGD,SAAA;AACT;AAEO,SAAS,WAAW,KAA8B;AACvD,SAAO,eAAe,YAAY,CAAC,CAAE,IAAY;AACnD;AAEO,SAAS,mBACd,KACoD;AACpD,SAAO,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,QAAQ;AAC1C;AAEO,SAAS,cAAc,KAAU;AACtC,MAAI,OAAO,QAAQ,YAAY,IAAI,sBAAsB;AACvD,WAAO,SAAS,GAAG;AAAA,EAAA;AAGd,SAAA;AACT;"}
|
package/dist/esm/router.d.ts
CHANGED
|
@@ -513,6 +513,7 @@ export declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrai
|
|
|
513
513
|
*/
|
|
514
514
|
constructor(options: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>);
|
|
515
515
|
startTransition: StartTransitionFn;
|
|
516
|
+
isShell: boolean;
|
|
516
517
|
update: UpdateFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>;
|
|
517
518
|
get state(): RouterState<TRouteTree, import('./Matches.js').RouteMatch<any, any, any, any, any, any, any>>;
|
|
518
519
|
buildRouteTree: () => void;
|
package/dist/esm/router.js
CHANGED
|
@@ -46,6 +46,7 @@ class RouterCore {
|
|
|
46
46
|
this.isScrollRestoring = false;
|
|
47
47
|
this.isScrollRestorationSetup = false;
|
|
48
48
|
this.startTransition = (fn) => fn();
|
|
49
|
+
this.isShell = false;
|
|
49
50
|
this.update = (newOptions) => {
|
|
50
51
|
var _a;
|
|
51
52
|
if (newOptions.notFoundRoute) {
|
|
@@ -100,6 +101,9 @@ class RouterCore {
|
|
|
100
101
|
"selector(:active-view-transition-type(a)"
|
|
101
102
|
);
|
|
102
103
|
}
|
|
104
|
+
if (this.latestLocation.search.__TSS_SHELL) {
|
|
105
|
+
this.isShell = true;
|
|
106
|
+
}
|
|
103
107
|
};
|
|
104
108
|
this.buildRouteTree = () => {
|
|
105
109
|
const { routesById, routesByPath, flatRoutes } = processRouteTree({
|