Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@tanstack/react-router

Package Overview
Dependencies
Maintainers
2
Versions
620
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.74.6 to 1.75.0

28

dist/esm/route.d.ts

@@ -183,5 +183,27 @@ import { RootRouteId } from './root.js';

export type AnySearchValidatorAdapter = SearchValidatorAdapter<any, any>;
export interface StandardSchemaValidator<TInput, TOutput> {
readonly '~types'?: StandardSchemaValidatorTypes<TInput, TOutput> | undefined;
readonly '~validate': AnyStandardSchemaValidate;
}
export type AnyStandardSchemaValidator = StandardSchemaValidator<any, any>;
export interface StandardSchemaValidatorTypes<TInput, TOutput> {
readonly input: TInput;
readonly output: TOutput;
}
export interface AnyStandardSchemaValidateSuccess {
readonly value: any;
}
export interface AnyStandardSchemaValidateFailure {
readonly issues: ReadonlyArray<AnyStandardSchemaValidateIssue>;
}
export interface AnyStandardSchemaValidateIssue {
readonly message: string;
}
export interface AnyStandardSchemaValidateInput {
readonly value: any;
}
export type AnyStandardSchemaValidate = (input: AnyStandardSchemaValidateInput) => AnyStandardSchemaValidateSuccess | AnyStandardSchemaValidateFailure;
export type AnySearchValidatorFn = SearchValidatorFn<any, any>;
export type SearchValidatorFn<TInput, TOutput> = (input: TInput) => TOutput;
export type SearchValidator<TInput, TOutput> = SearchValidatorObj<TInput, TOutput> | SearchValidatorFn<TInput, TOutput> | SearchValidatorAdapter<TInput, TOutput> | undefined;
export type SearchValidator<TInput, TOutput> = SearchValidatorObj<TInput, TOutput> | SearchValidatorFn<TInput, TOutput> | SearchValidatorAdapter<TInput, TOutput> | StandardSchemaValidator<TInput, TOutput> | undefined;
export type AnySearchValidator = SearchValidator<any, any>;

@@ -235,5 +257,5 @@ export type DefaultSearchValidator = SearchValidator<Record<string, unknown>, AnySearchSchema>;

export type ResolveSearchSchemaFnInput<TSearchValidator> = TSearchValidator extends (input: infer TSearchSchemaInput) => any ? TSearchSchemaInput extends SearchSchemaInput ? Omit<TSearchSchemaInput, keyof SearchSchemaInput> : ResolveSearchSchemaFn<TSearchValidator> : AnySearchSchema;
export type ResolveSearchSchemaInput<TSearchValidator> = TSearchValidator extends AnySearchValidatorAdapter ? TSearchValidator['types']['input'] : TSearchValidator extends AnySearchValidatorObj ? ResolveSearchSchemaFnInput<TSearchValidator['parse']> : ResolveSearchSchemaFnInput<TSearchValidator>;
export type ResolveSearchSchemaInput<TSearchValidator> = TSearchValidator extends AnyStandardSchemaValidator ? NonNullable<TSearchValidator['~types']>['input'] : TSearchValidator extends AnySearchValidatorAdapter ? TSearchValidator['types']['input'] : TSearchValidator extends AnySearchValidatorObj ? ResolveSearchSchemaFnInput<TSearchValidator['parse']> : ResolveSearchSchemaFnInput<TSearchValidator>;
export type ResolveSearchSchemaFn<TSearchValidator> = TSearchValidator extends (...args: any) => infer TSearchSchema ? TSearchSchema : AnySearchSchema;
export type ResolveSearchSchema<TSearchValidator> = unknown extends TSearchValidator ? TSearchValidator : TSearchValidator extends AnySearchValidatorAdapter ? TSearchValidator['types']['output'] : TSearchValidator extends AnySearchValidatorObj ? ResolveSearchSchemaFn<TSearchValidator['parse']> : ResolveSearchSchemaFn<TSearchValidator>;
export type ResolveSearchSchema<TSearchValidator> = unknown extends TSearchValidator ? TSearchValidator : TSearchValidator extends AnyStandardSchemaValidator ? NonNullable<TSearchValidator['~types']>['output'] : TSearchValidator extends AnySearchValidatorAdapter ? TSearchValidator['types']['output'] : TSearchValidator extends AnySearchValidatorObj ? ResolveSearchSchemaFn<TSearchValidator['parse']> : ResolveSearchSchemaFn<TSearchValidator>;
export type ResolveFullSearchSchema<TParentRoute extends AnyRoute, TSearchValidator> = unknown extends TParentRoute ? ResolveSearchSchema<TSearchValidator> : Assign<InferFullSearchSchema<TParentRoute>, ResolveSearchSchema<TSearchValidator>>;

@@ -240,0 +262,0 @@ export type ResolveFullSearchSchemaInput<TParentRoute extends AnyRoute, TSearchValidator> = Assign<InferFullSearchSchemaInput<TParentRoute>, ResolveSearchSchemaInput<TSearchValidator>>;

@@ -27,2 +27,17 @@ import { createMemoryHistory, createBrowserHistory, parseHref } from "@tanstack/history";

}
function validateSearch(validateSearch2, input) {
if (validateSearch2 == null) return {};
if ("~validate" in validateSearch2) {
const result = validateSearch2["~validate"]({ value: input });
if ("value" in result) return result.value;
throw new SearchParamError(JSON.stringify(result.issues, void 0, 2));
}
if ("parse" in validateSearch2) {
return validateSearch2.parse(input);
}
if (typeof validateSearch2 === "function") {
return validateSearch2(input);
}
return {};
}
function createRouter(options) {

@@ -331,6 +346,8 @@ return new Router(options);

if (route.options.validateSearch) {
const validator = typeof route.options.validateSearch === "object" ? route.options.validateSearch.parse : route.options.validateSearch;
validatedSearch = {
...validatedSearch,
...validator({ ...validatedSearch, ...search })
...validateSearch(route.options.validateSearch, {
...validatedSearch,
...search
}) ?? {}
};

@@ -1472,4 +1489,3 @@ }

try {
const validator = typeof route.options.validateSearch === "object" ? route.options.validateSearch.parse : route.options.validateSearch;
const search = (validator == null ? void 0 : validator(parentSearch)) ?? {};
const search = validateSearch(route.options.validateSearch, parentSearch) ?? {};
return [

@@ -1476,0 +1492,0 @@ {

2

package.json
{
"name": "@tanstack/react-router",
"version": "1.74.6",
"version": "1.75.0",
"description": "Modern and scalable routing for React applications",

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

@@ -501,2 +501,34 @@ import invariant from 'tiny-invariant'

export interface StandardSchemaValidator<TInput, TOutput> {
readonly '~types'?: StandardSchemaValidatorTypes<TInput, TOutput> | undefined
readonly '~validate': AnyStandardSchemaValidate
}
export type AnyStandardSchemaValidator = StandardSchemaValidator<any, any>
export interface StandardSchemaValidatorTypes<TInput, TOutput> {
readonly input: TInput
readonly output: TOutput
}
export interface AnyStandardSchemaValidateSuccess {
readonly value: any
}
export interface AnyStandardSchemaValidateFailure {
readonly issues: ReadonlyArray<AnyStandardSchemaValidateIssue>
}
export interface AnyStandardSchemaValidateIssue {
readonly message: string
}
export interface AnyStandardSchemaValidateInput {
readonly value: any
}
export type AnyStandardSchemaValidate = (
input: AnyStandardSchemaValidateInput,
) => AnyStandardSchemaValidateSuccess | AnyStandardSchemaValidateFailure
export type AnySearchValidatorFn = SearchValidatorFn<any, any>

@@ -510,2 +542,3 @@

| SearchValidatorAdapter<TInput, TOutput>
| StandardSchemaValidator<TInput, TOutput>
| undefined

@@ -629,7 +662,9 @@

export type ResolveSearchSchemaInput<TSearchValidator> =
TSearchValidator extends AnySearchValidatorAdapter
? TSearchValidator['types']['input']
: TSearchValidator extends AnySearchValidatorObj
? ResolveSearchSchemaFnInput<TSearchValidator['parse']>
: ResolveSearchSchemaFnInput<TSearchValidator>
TSearchValidator extends AnyStandardSchemaValidator
? NonNullable<TSearchValidator['~types']>['input']
: TSearchValidator extends AnySearchValidatorAdapter
? TSearchValidator['types']['input']
: TSearchValidator extends AnySearchValidatorObj
? ResolveSearchSchemaFnInput<TSearchValidator['parse']>
: ResolveSearchSchemaFnInput<TSearchValidator>

@@ -645,7 +680,9 @@ export type ResolveSearchSchemaFn<TSearchValidator> = TSearchValidator extends (

? TSearchValidator
: TSearchValidator extends AnySearchValidatorAdapter
? TSearchValidator['types']['output']
: TSearchValidator extends AnySearchValidatorObj
? ResolveSearchSchemaFn<TSearchValidator['parse']>
: ResolveSearchSchemaFn<TSearchValidator>
: TSearchValidator extends AnyStandardSchemaValidator
? NonNullable<TSearchValidator['~types']>['output']
: TSearchValidator extends AnySearchValidatorAdapter
? TSearchValidator['types']['output']
: TSearchValidator extends AnySearchValidatorObj
? ResolveSearchSchemaFn<TSearchValidator['parse']>
: ResolveSearchSchemaFn<TSearchValidator>

@@ -652,0 +689,0 @@ export type ResolveFullSearchSchema<

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 too big to display

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