Socket
Socket
Sign inDemoInstall

@tanstack/react-router

Package Overview
Dependencies
Maintainers
2
Versions
581
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tanstack/react-router - npm Package Compare versions

Comparing version 1.49.0 to 1.49.1

5

dist/esm/fileRoute.d.ts
import { NoInfer } from '@tanstack/react-store';
import { ParsePathParams } from './link.js';
import { AnyContext, AnyPathParams, AnyRoute, AnySearchValidator, DefaultSearchValidator, FileBaseRouteOptions, ResolveAllParamsFromParent, ResolveLoaderData, Route, RouteConstraints, RouteLoaderFn, UpdatableRouteOptions } from './route.js';
import { AnyContext, AnyPathParams, AnyRoute, AnySearchValidator, DefaultSearchValidator, FileBaseRouteOptions, ResolveAllParamsFromParent, ResolveLoaderData, ResolveParams, Route, RouteConstraints, RouteLoaderFn, UpdatableRouteOptions } from './route.js';
import { MakeRouteMatch } from './Matches.js';

@@ -21,3 +20,3 @@ import { RegisteredRouter } from './router.js';

});
createRoute: <TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TParams = Record<ParsePathParams<TPath>, string>, TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>, TChildren = unknown>(options?: FileBaseRouteOptions<TParentRoute, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderDataReturn, AnyContext, TRouteContextFn, TBeforeLoadFn> & UpdatableRouteOptions<TParentRoute, TId, TAllParams, TSearchValidator, TLoaderData, TLoaderDeps, AnyContext, TRouteContextFn, TBeforeLoadFn>) => Route<TParentRoute, TPath, TFullPath, TFilePath, TId, TSearchValidator, TParams, TAllParams, AnyContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren>;
createRoute: <TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TParams = ResolveParams<TPath>, TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>, TChildren = unknown>(options?: FileBaseRouteOptions<TParentRoute, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderDataReturn, AnyContext, TRouteContextFn, TBeforeLoadFn> & UpdatableRouteOptions<TParentRoute, TId, TAllParams, TSearchValidator, TLoaderData, TLoaderDeps, AnyContext, TRouteContextFn, TBeforeLoadFn>) => Route<TParentRoute, TPath, TFullPath, TFilePath, TId, TSearchValidator, TParams, TAllParams, AnyContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren>;
}

@@ -24,0 +23,0 @@ /**

2

dist/esm/link.d.ts

@@ -9,3 +9,3 @@ import { AnyRouter, ParsedLocation } from '.';

export type Split<TValue, TIncludeTrailingSlash = true> = TValue extends unknown ? string extends TValue ? Array<string> : TValue extends string ? CleanPath<TValue> extends '' ? [] : TIncludeTrailingSlash extends true ? CleanPath<TValue> extends `${infer T}/` ? [...Split<T>, '/'] : CleanPath<TValue> extends `/${infer U}` ? Split<U> : CleanPath<TValue> extends `${infer T}/${infer U}` ? [...Split<T>, ...Split<U>] : [TValue] : CleanPath<TValue> extends `${infer T}/${infer U}` ? [...Split<T>, ...Split<U>] : TValue extends string ? [TValue] : never : never : never;
export type ParsePathParams<T extends string, TAcc = never> = T extends `${string}$${infer TPossiblyParam}` ? TPossiblyParam extends `${infer TParam}/${infer TRest}` ? ParsePathParams<TRest, TParam extends '' ? '_splat' : TParam | TAcc> : TPossiblyParam extends '' ? '_splat' : TPossiblyParam | TAcc : TAcc;
export type ParsePathParams<T extends string, TAcc = never> = T extends `${string}$${string}` ? T extends `${string}$${infer TPossiblyParam}` ? TPossiblyParam extends `${string}/${string}` ? TPossiblyParam extends `${infer TParam}/${infer TRest}` ? ParsePathParams<TRest, TParam extends '' ? TAcc : TParam | TAcc> : never : TPossiblyParam extends '' ? TAcc : TPossiblyParam | TAcc : TAcc : TAcc;
export type Join<T, TDelimiter extends string = '/'> = T extends [] ? '' : T extends [infer L extends string] ? L : T extends [

@@ -12,0 +12,0 @@ infer L extends string,

@@ -199,11 +199,8 @@ import { last } from "./utils.js";

if (routeSegment.type === "wildcard") {
if (baseSegment == null ? void 0 : baseSegment.value) {
const _splat = decodeURI(
joinPaths(baseSegments.slice(i).map((d) => d.value))
);
params["*"] = _splat;
params["_splat"] = _splat;
return true;
}
return false;
const _splat = decodeURI(
joinPaths(baseSegments.slice(i).map((d) => d.value))
);
params["*"] = _splat;
params["_splat"] = _splat;
return true;
}

@@ -210,0 +207,0 @@ if (routeSegment.type === "pathname") {

@@ -36,4 +36,9 @@ import { RootRouteId } from './root.js';

export type RouteOptions<TParentRoute extends AnyRoute = AnyRoute, TCustomId extends string = string, TPath extends string = string, TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TParams = AnyPathParams, TAllParams = TParams, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext> = BaseRouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderDataReturn, TRouterContext, TRouteContextFn, TBeforeLoadFn> & UpdatableRouteOptions<NoInfer<TParentRoute>, NoInfer<TCustomId>, NoInfer<TAllParams>, NoInfer<TSearchValidator>, NoInfer<TLoaderData>, NoInfer<TLoaderDeps>, NoInfer<TRouterContext>, NoInfer<TRouteContextFn>, NoInfer<TBeforeLoadFn>>;
export type ParseParamsFn<TPath extends string, TParams> = (rawParams: Record<ParsePathParams<TPath>, string>) => TParams extends Record<ParsePathParams<TPath>, any> ? TParams : Record<ParsePathParams<TPath>, any>;
export type StringifyParamsFn<TPath extends string, TParams> = (params: TParams) => Record<ParsePathParams<TPath>, string>;
export type ParseSplatParams<TPath extends string> = TPath extends `${string}$` ? '_splat' : TPath extends `${string}$/${string}` ? '_splat' : never;
export interface SplatParams {
_splat?: string;
}
export type ResolveParams<TPath extends string> = ParseSplatParams<TPath> extends never ? Record<ParsePathParams<TPath>, string> : Record<ParsePathParams<TPath>, string> & SplatParams;
export type ParseParamsFn<TPath extends string, TParams> = (rawParams: ResolveParams<TPath>) => TParams extends Record<ParsePathParams<TPath>, any> ? TParams : Record<ParsePathParams<TPath>, any>;
export type StringifyParamsFn<TPath extends string, TParams> = (params: TParams) => ResolveParams<TPath>;
export type ParamsOptions<TPath extends string, TParams> = {

@@ -282,3 +287,3 @@ params?: {

}
export declare class Route<in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, in out TSearchValidator extends AnySearchValidator = DefaultSearchValidator, in out TParams = Record<ParsePathParams<TPath>, string>, in out TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>, in out TRouterContext = AnyContext, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, in out TLoaderData = ResolveLoaderData<TLoaderDataReturn>, in out TChildren = unknown> {
export declare class Route<in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, in out TSearchValidator extends AnySearchValidator = DefaultSearchValidator, in out TParams = ResolveParams<TPath>, in out TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>, in out TRouterContext = AnyContext, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, in out TLoaderData = ResolveLoaderData<TLoaderDataReturn>, in out TChildren = unknown> {
isRoot: TParentRoute extends Route<any> ? true : false;

@@ -353,3 +358,3 @@ options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TAllParams, TLoaderDeps, TLoaderDataReturn, TLoaderData, TRouterContext, TRouteContextFn, TBeforeLoadFn>;

}
export declare function createRoute<TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, TPath extends RouteConstraints['TPath'] = '/', TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TParams = Record<ParsePathParams<TPath>, string>, TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>, TChildren = unknown>(options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TAllParams, TLoaderDeps, TLoaderDataReturn, TLoaderData, AnyContext, TRouteContextFn, TBeforeLoadFn>): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, TAllParams, AnyContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren>;
export declare function createRoute<TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, TPath extends RouteConstraints['TPath'] = '/', TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TParams = ResolveParams<TPath>, TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>, TChildren = unknown>(options: RouteOptions<TParentRoute, TCustomId, TPath, TSearchValidator, TParams, TAllParams, TLoaderDeps, TLoaderDataReturn, TLoaderData, AnyContext, TRouteContextFn, TBeforeLoadFn>): Route<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, TAllParams, AnyContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderDataReturn, TLoaderData, TChildren>;
export type AnyRootRoute = RootRoute<any, any, any, any, any, any, any, any>;

@@ -356,0 +361,0 @@ export type RootRouteOptions<TSearchValidator extends AnySearchValidator = DefaultSearchValidator, TRouterContext = {}, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderDataReturn = {}, TLoaderData = ResolveLoaderData<TLoaderDataReturn>> = Omit<RouteOptions<any, // TParentRoute

{
"name": "@tanstack/react-router",
"version": "1.49.0",
"version": "1.49.1",
"description": "Modern and scalable routing for React applications",

@@ -5,0 +5,0 @@ "author": "Tanner Linsley",

@@ -20,2 +20,3 @@ import warning from 'tiny-warning'

ResolveLoaderData,
ResolveParams,
ResolveRouteContext,

@@ -77,3 +78,3 @@ Route,

TSearchValidator extends AnySearchValidator = DefaultSearchValidator,
TParams = Record<ParsePathParams<TPath>, string>,
TParams = ResolveParams<TPath>,
TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>,

@@ -80,0 +81,0 @@ TRouteContextFn = AnyContext,

@@ -340,12 +340,9 @@ import { last } from './utils'

if (routeSegment.type === 'wildcard') {
if (baseSegment?.value) {
const _splat = decodeURI(
joinPaths(baseSegments.slice(i).map((d) => d.value)),
)
// TODO: Deprecate *
params['*'] = _splat
params['_splat'] = _splat
return true
}
return false
const _splat = decodeURI(
joinPaths(baseSegments.slice(i).map((d) => d.value)),
)
// TODO: Deprecate *
params['*'] = _splat
params['_splat'] = _splat
return true
}

@@ -352,0 +349,0 @@

@@ -90,4 +90,19 @@ import invariant from 'tiny-invariant'

export type ParseSplatParams<TPath extends string> = TPath extends `${string}$`
? '_splat'
: TPath extends `${string}$/${string}`
? '_splat'
: never
export interface SplatParams {
_splat?: string
}
export type ResolveParams<TPath extends string> =
ParseSplatParams<TPath> extends never
? Record<ParsePathParams<TPath>, string>
: Record<ParsePathParams<TPath>, string> & SplatParams
export type ParseParamsFn<TPath extends string, TParams> = (
rawParams: Record<ParsePathParams<TPath>, string>,
rawParams: ResolveParams<TPath>,
) => TParams extends Record<ParsePathParams<TPath>, any>

@@ -99,3 +114,3 @@ ? TParams

params: TParams,
) => Record<ParsePathParams<TPath>, string>
) => ResolveParams<TPath>

@@ -822,3 +837,3 @@ export type ParamsOptions<TPath extends string, TParams> = {

in out TSearchValidator extends AnySearchValidator = DefaultSearchValidator,
in out TParams = Record<ParsePathParams<TPath>, string>,
in out TParams = ResolveParams<TPath>,
in out TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>,

@@ -1163,3 +1178,3 @@ in out TRouterContext = AnyContext,

TSearchValidator extends AnySearchValidator = DefaultSearchValidator,
TParams = Record<ParsePathParams<TPath>, string>,
TParams = ResolveParams<TPath>,
TAllParams = ResolveAllParamsFromParent<TParentRoute, TParams>,

@@ -1166,0 +1181,0 @@ TRouteContextFn = AnyContext,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc