@tanstack/router-core 1.108.0 → 1.111.6

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.
Files changed (52) hide show
  1. package/dist/cjs/RouterProvider.d.cts +9 -1
  2. package/dist/cjs/fileRoute.d.cts +12 -0
  3. package/dist/cjs/index.d.cts +14 -5
  4. package/dist/cjs/link.cjs.map +1 -1
  5. package/dist/cjs/link.d.cts +80 -5
  6. package/dist/cjs/redirect.d.cts +18 -0
  7. package/dist/cjs/route.d.cts +71 -6
  8. package/dist/cjs/routeInfo.d.cts +54 -0
  9. package/dist/cjs/router.cjs.map +1 -1
  10. package/dist/cjs/router.d.cts +15 -0
  11. package/dist/cjs/useLoaderData.d.cts +5 -0
  12. package/dist/cjs/useLoaderDeps.d.cts +5 -0
  13. package/dist/cjs/useNavigate.d.cts +3 -0
  14. package/dist/cjs/useParams.d.cts +5 -0
  15. package/dist/cjs/useRouteContext.d.cts +9 -0
  16. package/dist/cjs/useSearch.d.cts +5 -0
  17. package/dist/cjs/utils.cjs.map +1 -1
  18. package/dist/cjs/utils.d.cts +9 -0
  19. package/dist/esm/RouterProvider.d.ts +9 -1
  20. package/dist/esm/fileRoute.d.ts +12 -0
  21. package/dist/esm/index.d.ts +14 -5
  22. package/dist/esm/link.d.ts +80 -5
  23. package/dist/esm/link.js.map +1 -1
  24. package/dist/esm/redirect.d.ts +18 -0
  25. package/dist/esm/route.d.ts +71 -6
  26. package/dist/esm/routeInfo.d.ts +54 -0
  27. package/dist/esm/router.d.ts +15 -0
  28. package/dist/esm/router.js.map +1 -1
  29. package/dist/esm/useLoaderData.d.ts +5 -0
  30. package/dist/esm/useLoaderDeps.d.ts +5 -0
  31. package/dist/esm/useNavigate.d.ts +3 -0
  32. package/dist/esm/useParams.d.ts +5 -0
  33. package/dist/esm/useRouteContext.d.ts +9 -0
  34. package/dist/esm/useSearch.d.ts +5 -0
  35. package/dist/esm/utils.d.ts +9 -0
  36. package/dist/esm/utils.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/RouterProvider.ts +31 -1
  39. package/src/fileRoute.ts +32 -0
  40. package/src/index.ts +89 -1
  41. package/src/link.ts +445 -37
  42. package/src/redirect.ts +36 -0
  43. package/src/route.ts +250 -28
  44. package/src/routeInfo.ts +235 -0
  45. package/src/router.ts +32 -0
  46. package/src/useLoaderData.ts +20 -0
  47. package/src/useLoaderDeps.ts +13 -0
  48. package/src/useNavigate.ts +13 -0
  49. package/src/useParams.ts +20 -0
  50. package/src/useRouteContext.ts +39 -0
  51. package/src/useSearch.ts +20 -0
  52. package/src/utils.ts +17 -0
@@ -0,0 +1,20 @@
1
+ import type { FullSearchSchema, RouteById } from './routeInfo'
2
+ import type { AnyRouter } from './router'
3
+ import type { Expand } from './utils'
4
+
5
+ export type UseSearchResult<
6
+ TRouter extends AnyRouter,
7
+ TFrom,
8
+ TStrict extends boolean,
9
+ TSelected,
10
+ > = unknown extends TSelected
11
+ ? ResolveUseSearch<TRouter, TFrom, TStrict>
12
+ : TSelected
13
+
14
+ export type ResolveUseSearch<
15
+ TRouter extends AnyRouter,
16
+ TFrom,
17
+ TStrict extends boolean,
18
+ > = TStrict extends false
19
+ ? FullSearchSchema<TRouter['routeTree']>
20
+ : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['fullSearchSchema']>
package/src/utils.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import type { RouteIds } from './routeInfo'
2
+ import type { AnyRouter } from './router'
3
+
1
4
  export type NoInfer<T> = [T][T extends any ? 0 : never]
2
5
  export type IsAny<TValue, TYesResult, TNoResult = TValue> = 1 extends 0 & TValue
3
6
  ? TYesResult
@@ -330,6 +333,20 @@ export type ThrowOrOptional<T, TThrow extends boolean> = TThrow extends true
330
333
  ? T
331
334
  : T | undefined
332
335
 
336
+ export type StrictOrFrom<
337
+ TRouter extends AnyRouter,
338
+ TFrom,
339
+ TStrict extends boolean = true,
340
+ > = TStrict extends false
341
+ ? {
342
+ from?: never
343
+ strict: TStrict
344
+ }
345
+ : {
346
+ from: ConstrainLiteral<TFrom, RouteIds<TRouter['routeTree']>>
347
+ strict?: TStrict
348
+ }
349
+
333
350
  export type ControlledPromise<T> = Promise<T> & {
334
351
  resolve: (value: T) => void
335
352
  reject: (value: any) => void