@tanstack/react-router 1.97.18 → 1.97.20

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.
@@ -230,7 +230,14 @@ export function useBlocker(
230
230
  return disabled
231
231
  ? undefined
232
232
  : history.block({ blockerFn: blockerFnComposed, enableBeforeUnload })
233
- }, [shouldBlockFn, enableBeforeUnload, disabled, withResolver, history])
233
+ }, [
234
+ shouldBlockFn,
235
+ enableBeforeUnload,
236
+ disabled,
237
+ withResolver,
238
+ history,
239
+ router,
240
+ ])
234
241
 
235
242
  return resolver
236
243
  }
@@ -60,7 +60,7 @@ export function Navigate<
60
60
  navigate({
61
61
  ...props,
62
62
  } as any)
63
- }, [])
63
+ }, [navigate, props])
64
64
 
65
65
  return null
66
66
  }
package/src/utils.ts CHANGED
@@ -54,11 +54,17 @@ export type IsUnion<T, U extends T = T> = (
54
54
  ? false
55
55
  : true
56
56
 
57
+ export type IsNonEmptyObject<T> = T extends object
58
+ ? keyof T extends never
59
+ ? false
60
+ : true
61
+ : false
62
+
57
63
  export type Assign<TLeft, TRight> = TLeft extends any
58
64
  ? TRight extends any
59
- ? keyof TLeft extends never
65
+ ? IsNonEmptyObject<TLeft> extends false
60
66
  ? TRight
61
- : keyof TRight extends never
67
+ : IsNonEmptyObject<TRight> extends false
62
68
  ? TLeft
63
69
  : keyof TLeft & keyof TRight extends never
64
70
  ? TLeft & TRight
@@ -66,6 +72,16 @@ export type Assign<TLeft, TRight> = TLeft extends any
66
72
  : never
67
73
  : never
68
74
 
75
+ export type IntersectAssign<TLeft, TRight> = TLeft extends any
76
+ ? TRight extends any
77
+ ? IsNonEmptyObject<TLeft> extends false
78
+ ? TRight
79
+ : IsNonEmptyObject<TRight> extends false
80
+ ? TLeft
81
+ : TRight & TLeft
82
+ : never
83
+ : never
84
+
69
85
  export type Timeout = ReturnType<typeof setTimeout>
70
86
 
71
87
  export type Updater<TPrevious, TResult = TPrevious> =