@tanstack/router-core 1.114.25 → 1.114.32

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.
@@ -4,7 +4,7 @@ export { preloadWarning } from './link.cjs';
4
4
  export type { IsRequiredParams, ParsePathParams, AddTrailingSlash, RemoveTrailingSlashes, AddLeadingSlash, RemoveLeadingSlashes, ActiveOptions, LinkOptionsProps, ResolveCurrentPath, ResolveParentPath, ResolveRelativePath, LinkCurrentTargetElement, FindDescendantToPaths, InferDescendantToPaths, RelativeToPath, RelativeToParentPath, RelativeToCurrentPath, AbsoluteToPath, RelativeToPathAutoComplete, NavigateOptions, ToOptions, ToMaskOptions, ToSubOptions, ResolveRoute, SearchParamOptions, PathParamOptions, ToPathOption, LinkOptions, MakeOptionalPathParams, FromPathOption, MakeOptionalSearchParams, MaskOptions, ToSubOptionsProps, RequiredToOptions, } from './link.cjs';
5
5
  export type { RouteToPath, TrailingSlashOptionByRouter, ParseRoute, CodeRouteToPath, RouteIds, FullSearchSchema, FullSearchSchemaInput, AllParams, RouteById, AllContext, RoutePaths, RoutesById, RoutesByPath, AllLoaderData, RouteByPath, } from './routeInfo.cjs';
6
6
  export type { InferFileRouteTypes, FileRouteTypes, FileRoutesByPath, LazyRoute, LazyRouteOptions, } from './fileRoute.cjs';
7
- export type { StartSerializer, Serializable, SerializerParse, SerializerParseBy, SerializerStringify, SerializerStringifyBy, } from './serializer.cjs';
7
+ export type { StartSerializer, Serializable, SerializerParse, SerializerParseBy, SerializerStringify, SerializerStringifyBy, SerializerExtensions, } from './serializer.cjs';
8
8
  export type { ParsedLocation } from './location.cjs';
9
9
  export type { Manifest, RouterManagedTag } from './manifest.cjs';
10
10
  export { isMatch } from './Matches.cjs';
@@ -7,9 +7,16 @@ export interface StartSerializer {
7
7
  export type SerializerStringifyBy<T, TSerializable> = T extends TSerializable ? T : T extends (...args: Array<any>) => any ? 'Function is not serializable' : {
8
8
  [K in keyof T]: SerializerStringifyBy<T[K], TSerializable>;
9
9
  };
10
- export type SerializerParseBy<T, TSerializable> = T extends TSerializable ? T : T extends React.JSX.Element ? ReadableStream : {
10
+ export type SerializerParseBy<T, TSerializable> = T extends TSerializable ? T : unknown extends SerializerExtensions['ReadableStream'] ? {
11
+ [K in keyof T]: SerializerParseBy<T[K], TSerializable>;
12
+ } : T extends SerializerExtensions['ReadableStream'] ? ReadableStream : {
11
13
  [K in keyof T]: SerializerParseBy<T[K], TSerializable>;
12
14
  };
15
+ export interface DefaultSerializerExtensions {
16
+ ReadableStream: unknown;
17
+ }
18
+ export interface SerializerExtensions extends DefaultSerializerExtensions {
19
+ }
13
20
  export type Serializable = Date | undefined | Error | FormData | bigint;
14
21
  export type SerializerStringify<T> = SerializerStringifyBy<T, Serializable>;
15
22
  export type SerializerParse<T> = SerializerParseBy<T, Serializable>;
@@ -4,7 +4,7 @@ export { preloadWarning } from './link.js';
4
4
  export type { IsRequiredParams, ParsePathParams, AddTrailingSlash, RemoveTrailingSlashes, AddLeadingSlash, RemoveLeadingSlashes, ActiveOptions, LinkOptionsProps, ResolveCurrentPath, ResolveParentPath, ResolveRelativePath, LinkCurrentTargetElement, FindDescendantToPaths, InferDescendantToPaths, RelativeToPath, RelativeToParentPath, RelativeToCurrentPath, AbsoluteToPath, RelativeToPathAutoComplete, NavigateOptions, ToOptions, ToMaskOptions, ToSubOptions, ResolveRoute, SearchParamOptions, PathParamOptions, ToPathOption, LinkOptions, MakeOptionalPathParams, FromPathOption, MakeOptionalSearchParams, MaskOptions, ToSubOptionsProps, RequiredToOptions, } from './link.js';
5
5
  export type { RouteToPath, TrailingSlashOptionByRouter, ParseRoute, CodeRouteToPath, RouteIds, FullSearchSchema, FullSearchSchemaInput, AllParams, RouteById, AllContext, RoutePaths, RoutesById, RoutesByPath, AllLoaderData, RouteByPath, } from './routeInfo.js';
6
6
  export type { InferFileRouteTypes, FileRouteTypes, FileRoutesByPath, LazyRoute, LazyRouteOptions, } from './fileRoute.js';
7
- export type { StartSerializer, Serializable, SerializerParse, SerializerParseBy, SerializerStringify, SerializerStringifyBy, } from './serializer.js';
7
+ export type { StartSerializer, Serializable, SerializerParse, SerializerParseBy, SerializerStringify, SerializerStringifyBy, SerializerExtensions, } from './serializer.js';
8
8
  export type { ParsedLocation } from './location.js';
9
9
  export type { Manifest, RouterManagedTag } from './manifest.js';
10
10
  export { isMatch } from './Matches.js';
@@ -7,9 +7,16 @@ export interface StartSerializer {
7
7
  export type SerializerStringifyBy<T, TSerializable> = T extends TSerializable ? T : T extends (...args: Array<any>) => any ? 'Function is not serializable' : {
8
8
  [K in keyof T]: SerializerStringifyBy<T[K], TSerializable>;
9
9
  };
10
- export type SerializerParseBy<T, TSerializable> = T extends TSerializable ? T : T extends React.JSX.Element ? ReadableStream : {
10
+ export type SerializerParseBy<T, TSerializable> = T extends TSerializable ? T : unknown extends SerializerExtensions['ReadableStream'] ? {
11
+ [K in keyof T]: SerializerParseBy<T[K], TSerializable>;
12
+ } : T extends SerializerExtensions['ReadableStream'] ? ReadableStream : {
11
13
  [K in keyof T]: SerializerParseBy<T[K], TSerializable>;
12
14
  };
15
+ export interface DefaultSerializerExtensions {
16
+ ReadableStream: unknown;
17
+ }
18
+ export interface SerializerExtensions extends DefaultSerializerExtensions {
19
+ }
13
20
  export type Serializable = Date | undefined | Error | FormData | bigint;
14
21
  export type SerializerStringify<T> = SerializerStringifyBy<T, Serializable>;
15
22
  export type SerializerParse<T> = SerializerParseBy<T, Serializable>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/router-core",
3
- "version": "1.114.25",
3
+ "version": "1.114.32",
4
4
  "description": "Modern and scalable routing for React applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -46,7 +46,7 @@
46
46
  "dependencies": {
47
47
  "@tanstack/store": "^0.7.0",
48
48
  "tiny-invariant": "^1.3.3",
49
- "@tanstack/history": "1.114.22"
49
+ "@tanstack/history": "1.114.29"
50
50
  },
51
51
  "scripts": {}
52
52
  }
package/src/index.ts CHANGED
@@ -71,6 +71,7 @@ export type {
71
71
  SerializerParseBy,
72
72
  SerializerStringify,
73
73
  SerializerStringifyBy,
74
+ SerializerExtensions,
74
75
  } from './serializer'
75
76
 
76
77
  export type { ParsedLocation } from './location'
package/src/serializer.ts CHANGED
@@ -13,9 +13,17 @@ export type SerializerStringifyBy<T, TSerializable> = T extends TSerializable
13
13
 
14
14
  export type SerializerParseBy<T, TSerializable> = T extends TSerializable
15
15
  ? T
16
- : T extends React.JSX.Element
17
- ? ReadableStream
18
- : { [K in keyof T]: SerializerParseBy<T[K], TSerializable> }
16
+ : unknown extends SerializerExtensions['ReadableStream']
17
+ ? { [K in keyof T]: SerializerParseBy<T[K], TSerializable> }
18
+ : T extends SerializerExtensions['ReadableStream']
19
+ ? ReadableStream
20
+ : { [K in keyof T]: SerializerParseBy<T[K], TSerializable> }
21
+
22
+ export interface DefaultSerializerExtensions {
23
+ ReadableStream: unknown
24
+ }
25
+
26
+ export interface SerializerExtensions extends DefaultSerializerExtensions {}
19
27
 
20
28
  export type Serializable = Date | undefined | Error | FormData | bigint
21
29