@tanstack/form-core 1.3.0 → 1.3.1

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.
@@ -23,12 +23,13 @@ export type DeepRecordObjectUnion<T, TPrefix extends string, TAcc, TAllKeys exte
23
23
  export type DeepRecordUnion<T, TPrefix extends string = '', TAcc = never> = IsAny<T> extends true ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepRecordArrayUnion<T, TPrefix, TAcc> : DeepRecordTupleUnion<T, TPrefix, TAcc> : T extends object ? DeepRecordObjectUnion<T, TPrefix, TAcc> : TAcc;
24
24
  export type UnionToIntersection<T> = (T extends any ? (param: T) => any : never) extends (param: infer TI) => any ? TI : never;
25
25
  export type DeepRecord<T> = UnionToIntersection<DeepRecordUnion<T>>;
26
+ type UnionKeys<T> = T extends any ? keyof T : never;
26
27
  /**
27
28
  * The keys of an object or array, deeply nested.
28
29
  */
29
- export type DeepKeys<T> = unknown extends T ? string : keyof DeepRecord<T> & string;
30
+ export type DeepKeys<T> = unknown extends T ? string : UnionKeys<DeepRecordUnion<T>> & string;
30
31
  /**
31
32
  * Infer the type of a deeply nested property within an object or an array.
32
33
  */
33
- export type DeepValue<TValue, TAccessor> = DeepRecord<TValue>[TAccessor & keyof DeepRecord<TValue>];
34
+ export type DeepValue<TValue, TAccessor> = TValue extends any ? DeepRecord<TValue>[TAccessor & keyof DeepRecord<TValue>] : never;
34
35
  export {};
@@ -23,12 +23,13 @@ export type DeepRecordObjectUnion<T, TPrefix extends string, TAcc, TAllKeys exte
23
23
  export type DeepRecordUnion<T, TPrefix extends string = '', TAcc = never> = IsAny<T> extends true ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepRecordArrayUnion<T, TPrefix, TAcc> : DeepRecordTupleUnion<T, TPrefix, TAcc> : T extends object ? DeepRecordObjectUnion<T, TPrefix, TAcc> : TAcc;
24
24
  export type UnionToIntersection<T> = (T extends any ? (param: T) => any : never) extends (param: infer TI) => any ? TI : never;
25
25
  export type DeepRecord<T> = UnionToIntersection<DeepRecordUnion<T>>;
26
+ type UnionKeys<T> = T extends any ? keyof T : never;
26
27
  /**
27
28
  * The keys of an object or array, deeply nested.
28
29
  */
29
- export type DeepKeys<T> = unknown extends T ? string : keyof DeepRecord<T> & string;
30
+ export type DeepKeys<T> = unknown extends T ? string : UnionKeys<DeepRecordUnion<T>> & string;
30
31
  /**
31
32
  * Infer the type of a deeply nested property within an object or an array.
32
33
  */
33
- export type DeepValue<TValue, TAccessor> = DeepRecord<TValue>[TAccessor & keyof DeepRecord<TValue>];
34
+ export type DeepValue<TValue, TAccessor> = TValue extends any ? DeepRecord<TValue>[TAccessor & keyof DeepRecord<TValue>] : never;
34
35
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/form-core",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Powerful, type-safe, framework agnostic forms.",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
package/src/util-types.ts CHANGED
@@ -96,15 +96,18 @@ export type UnionToIntersection<T> = (
96
96
 
97
97
  export type DeepRecord<T> = UnionToIntersection<DeepRecordUnion<T>>
98
98
 
99
+ type UnionKeys<T> = T extends any ? keyof T : never
100
+
99
101
  /**
100
102
  * The keys of an object or array, deeply nested.
101
103
  */
102
104
  export type DeepKeys<T> = unknown extends T
103
105
  ? string
104
- : keyof DeepRecord<T> & string
106
+ : UnionKeys<DeepRecordUnion<T>> & string
105
107
 
106
108
  /**
107
109
  * Infer the type of a deeply nested property within an object or an array.
108
110
  */
109
- export type DeepValue<TValue, TAccessor> = DeepRecord<TValue>[TAccessor &
110
- keyof DeepRecord<TValue>]
111
+ export type DeepValue<TValue, TAccessor> = TValue extends any
112
+ ? DeepRecord<TValue>[TAccessor & keyof DeepRecord<TValue>]
113
+ : never