@tanstack/form-core 1.4.0 → 1.4.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.
|
@@ -11,7 +11,6 @@ type Try<A1, A2, Catch = never> = A1 extends A2 ? A1 : Catch;
|
|
|
11
11
|
* @private
|
|
12
12
|
*/
|
|
13
13
|
export type Narrow<A> = Try<A, [], NarrowRaw<A>>;
|
|
14
|
-
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
15
14
|
export interface AnyDeepKeyAndValue {
|
|
16
15
|
key: string;
|
|
17
16
|
value: any;
|
|
@@ -42,8 +41,7 @@ export interface UnknownDeepKeyAndValue<TParent extends AnyDeepKeyAndValue> {
|
|
|
42
41
|
key: UnknownAccessor<TParent>;
|
|
43
42
|
value: unknown;
|
|
44
43
|
}
|
|
45
|
-
export type
|
|
46
|
-
export type DeepKeysAndValues<T, TParent extends AnyDeepKeyAndValue = never, TAcc = never> = IsAny<T> extends true ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepKeyAndValueArray<TParent, T, TAcc> : DeepKeyAndValueTuple<TParent, T, TAcc> : keyof T extends never ? TAcc | DeepKeyAndValueUnknown<TParent> : T extends object ? DeepKeyAndValueObject<TParent, T, TAcc> : TAcc;
|
|
44
|
+
export type DeepKeysAndValues<T, TParent extends AnyDeepKeyAndValue = never, TAcc = never> = unknown extends T ? TAcc | UnknownDeepKeyAndValue<TParent> : unknown extends T ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepKeyAndValueArray<TParent, T, TAcc> : DeepKeyAndValueTuple<TParent, T, TAcc> : keyof T extends never ? TAcc | UnknownDeepKeyAndValue<TParent> : T extends object ? DeepKeyAndValueObject<TParent, T, TAcc> : TAcc;
|
|
47
45
|
export type DeepRecord<T> = {
|
|
48
46
|
[TRecord in DeepKeysAndValues<T> extends AnyDeepKeyAndValue ? DeepKeysAndValues<T> : never as TRecord['key']]: TRecord['value'];
|
|
49
47
|
};
|
package/dist/esm/util-types.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ type Try<A1, A2, Catch = never> = A1 extends A2 ? A1 : Catch;
|
|
|
11
11
|
* @private
|
|
12
12
|
*/
|
|
13
13
|
export type Narrow<A> = Try<A, [], NarrowRaw<A>>;
|
|
14
|
-
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
15
14
|
export interface AnyDeepKeyAndValue {
|
|
16
15
|
key: string;
|
|
17
16
|
value: any;
|
|
@@ -42,8 +41,7 @@ export interface UnknownDeepKeyAndValue<TParent extends AnyDeepKeyAndValue> {
|
|
|
42
41
|
key: UnknownAccessor<TParent>;
|
|
43
42
|
value: unknown;
|
|
44
43
|
}
|
|
45
|
-
export type
|
|
46
|
-
export type DeepKeysAndValues<T, TParent extends AnyDeepKeyAndValue = never, TAcc = never> = IsAny<T> extends true ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepKeyAndValueArray<TParent, T, TAcc> : DeepKeyAndValueTuple<TParent, T, TAcc> : keyof T extends never ? TAcc | DeepKeyAndValueUnknown<TParent> : T extends object ? DeepKeyAndValueObject<TParent, T, TAcc> : TAcc;
|
|
44
|
+
export type DeepKeysAndValues<T, TParent extends AnyDeepKeyAndValue = never, TAcc = never> = unknown extends T ? TAcc | UnknownDeepKeyAndValue<TParent> : unknown extends T ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepKeyAndValueArray<TParent, T, TAcc> : DeepKeyAndValueTuple<TParent, T, TAcc> : keyof T extends never ? TAcc | UnknownDeepKeyAndValue<TParent> : T extends object ? DeepKeyAndValueObject<TParent, T, TAcc> : TAcc;
|
|
47
45
|
export type DeepRecord<T> = {
|
|
48
46
|
[TRecord in DeepKeysAndValues<T> extends AnyDeepKeyAndValue ? DeepKeysAndValues<T> : never as TRecord['key']]: TRecord['value'];
|
|
49
47
|
};
|
package/package.json
CHANGED
package/src/util-types.ts
CHANGED
|
@@ -19,8 +19,6 @@ type Try<A1, A2, Catch = never> = A1 extends A2 ? A1 : Catch
|
|
|
19
19
|
*/
|
|
20
20
|
export type Narrow<A> = Try<A, [], NarrowRaw<A>>
|
|
21
21
|
|
|
22
|
-
type IsAny<T> = 0 extends 1 & T ? true : false
|
|
23
|
-
|
|
24
22
|
export interface AnyDeepKeyAndValue {
|
|
25
23
|
key: string
|
|
26
24
|
value: any
|
|
@@ -117,15 +115,13 @@ export interface UnknownDeepKeyAndValue<TParent extends AnyDeepKeyAndValue> {
|
|
|
117
115
|
value: unknown
|
|
118
116
|
}
|
|
119
117
|
|
|
120
|
-
export type DeepKeyAndValueUnknown<TParent extends AnyDeepKeyAndValue> =
|
|
121
|
-
UnknownDeepKeyAndValue<TParent>
|
|
122
|
-
|
|
123
118
|
export type DeepKeysAndValues<
|
|
124
119
|
T,
|
|
125
120
|
TParent extends AnyDeepKeyAndValue = never,
|
|
126
121
|
TAcc = never,
|
|
127
|
-
> =
|
|
128
|
-
|
|
122
|
+
> = unknown extends T
|
|
123
|
+
? TAcc | UnknownDeepKeyAndValue<TParent>
|
|
124
|
+
: unknown extends T // this stops runaway recursion when T is any
|
|
129
125
|
? T
|
|
130
126
|
: T extends string | number | boolean | bigint | Date
|
|
131
127
|
? TAcc
|
|
@@ -134,7 +130,7 @@ export type DeepKeysAndValues<
|
|
|
134
130
|
? DeepKeyAndValueArray<TParent, T, TAcc>
|
|
135
131
|
: DeepKeyAndValueTuple<TParent, T, TAcc>
|
|
136
132
|
: keyof T extends never
|
|
137
|
-
? TAcc |
|
|
133
|
+
? TAcc | UnknownDeepKeyAndValue<TParent>
|
|
138
134
|
: T extends object
|
|
139
135
|
? DeepKeyAndValueObject<TParent, T, TAcc>
|
|
140
136
|
: TAcc
|