ts-gems 1.3.0 → 1.4.0
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.
- package/lib/deep-modify.d.ts +5 -5
- package/lib/deep-pick.d.ts +6 -6
- package/lib/type-check.d.ts +8 -7
- package/package.json +1 -1
package/lib/deep-modify.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {OptionalKeys} from './keys';
|
|
|
7
7
|
*/
|
|
8
8
|
export type DeepPartial<T> = _DeepPartial<T>;
|
|
9
9
|
type _DeepPartial<T> =
|
|
10
|
-
T extends Builtin ?
|
|
10
|
+
T extends Builtin ? T
|
|
11
11
|
: T extends Promise<infer U> ? Promise<DeepPartial<U>>
|
|
12
12
|
: T extends Map<infer K, infer V> ? Map<K, DeepPartial<V>>
|
|
13
13
|
: T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<K, DeepPartial<V>>
|
|
@@ -24,7 +24,7 @@ type _DeepPartial<T> =
|
|
|
24
24
|
*/
|
|
25
25
|
export type DeepBuildable<T> = _DeepBuildable<T>;
|
|
26
26
|
type _DeepBuildable<T> =
|
|
27
|
-
T extends Builtin ?
|
|
27
|
+
T extends Builtin ? T
|
|
28
28
|
: T extends Promise<infer U> ? Promise<DeepBuildable<U>>
|
|
29
29
|
: T extends Map<infer K, infer V> ? Map<K, DeepBuildable<V>>
|
|
30
30
|
: T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<K, DeepBuildable<V>>
|
|
@@ -41,7 +41,7 @@ type _DeepBuildable<T> =
|
|
|
41
41
|
*/
|
|
42
42
|
export type DeepRequired<T> = _DeepRequired<T>;
|
|
43
43
|
type _DeepRequired<T> =
|
|
44
|
-
T extends Builtin ?
|
|
44
|
+
T extends Builtin ? T
|
|
45
45
|
: T extends Promise<infer U> ? Promise<DeepRequired<U>>
|
|
46
46
|
: T extends Map<infer K, infer V> ? Map<K, DeepRequired<V>>
|
|
47
47
|
: T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<K, DeepRequired<V>>
|
|
@@ -59,7 +59,7 @@ type _DeepRequired<T> =
|
|
|
59
59
|
*/
|
|
60
60
|
export type DeepReadonly<T> = _DeepReadonly<T>;
|
|
61
61
|
type _DeepReadonly<T> =
|
|
62
|
-
T extends Builtin ?
|
|
62
|
+
T extends Builtin ? T
|
|
63
63
|
: T extends Promise<infer U> ? Promise<DeepReadonly<U>>
|
|
64
64
|
: T extends Map<infer K, infer V> ? Map<K, DeepReadonly<V>>
|
|
65
65
|
: T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<K, DeepReadonly<V>>
|
|
@@ -76,7 +76,7 @@ type _DeepReadonly<T> =
|
|
|
76
76
|
*/
|
|
77
77
|
export type DeepWritable<T> = _DeepWritable<T>;
|
|
78
78
|
type _DeepWritable<T> =
|
|
79
|
-
T extends Builtin ?
|
|
79
|
+
T extends Builtin ? T
|
|
80
80
|
: T extends Promise<infer U> ? Promise<DeepWritable<U>>
|
|
81
81
|
: T extends Map<infer K, infer V> ? Map<K, DeepWritable<V>>
|
|
82
82
|
: T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<K, DeepWritable<V>>
|
package/lib/deep-pick.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ type _DeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
|
|
|
17
17
|
: T extends WeakSet<infer U> ? WeakSet<DeepPickOptional<U>>
|
|
18
18
|
: IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPickOptional<T[K]> }
|
|
19
19
|
: T extends (infer U)[] ? DeepPickOptional<U>[]
|
|
20
|
-
: { [P in K]
|
|
20
|
+
: { [P in K]?: DeepPickOptional<T[P]> };
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Pick all required properties in T deeply
|
|
@@ -34,7 +34,7 @@ type _DeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
|
|
|
34
34
|
: T extends WeakSet<infer U> ? WeakSet<DeepPickRequired<U>>
|
|
35
35
|
: IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPickRequired<T[K]> }
|
|
36
36
|
: T extends (infer U)[] ? DeepPickRequired<U>[]
|
|
37
|
-
: { [P in J]: DeepPickRequired<
|
|
37
|
+
: { [P in J]: DeepPickRequired<T[P]> };
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* Pick all readonly properties in T deeply
|
|
@@ -51,7 +51,7 @@ type _DeepPickReadonly<T, J extends keyof T = ReadonlyKeys<T>> =
|
|
|
51
51
|
: T extends WeakSet<infer U> ? WeakSet<DeepPickReadonly<U>>
|
|
52
52
|
: IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPickReadonly<T[K]> }
|
|
53
53
|
: T extends (infer U)[] ? DeepPickReadonly<U>[]
|
|
54
|
-
: { [P in J]: DeepPickReadonly<
|
|
54
|
+
: { [P in J]: DeepPickReadonly<T[P]> };
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Pick all writable properties in T deeply
|
|
@@ -68,7 +68,7 @@ type _DeepPickWritable<T, K extends keyof T = WritableKeys<T>> =
|
|
|
68
68
|
: T extends WeakSet<infer U> ? WeakSet<DeepPickWritable<U>>
|
|
69
69
|
: IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPickWritable<T[K]> }
|
|
70
70
|
: T extends (infer U)[] ? DeepPickWritable<U>[]
|
|
71
|
-
: { [P in K]: DeepPickWritable<
|
|
71
|
+
: { [P in K]: DeepPickWritable<T[P]> }
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Pick all JSON friendly properties in T deeply
|
|
@@ -85,7 +85,7 @@ type _DeepPickJson<T, Keys extends keyof T = JsonKeys<T>> =
|
|
|
85
85
|
: T extends WeakSet<infer U> ? WeakSet<DeepPickJson<U>>
|
|
86
86
|
: IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPickJson<T[K]> }
|
|
87
87
|
: T extends (infer U)[] ? DeepPickJson<U>[]
|
|
88
|
-
: { [P in Keys]: DeepPickJson<
|
|
88
|
+
: { [P in Keys]: DeepPickJson<T[P]> };
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -103,4 +103,4 @@ type _DeepPickWritableJson<T, Keys extends keyof T = Exclude<JsonKeys<T>, Readon
|
|
|
103
103
|
: T extends WeakSet<infer U> ? WeakSet<DeepPickWritableJson<U>>
|
|
104
104
|
: IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPickWritableJson<T[K]> }
|
|
105
105
|
: T extends (infer U)[] ? DeepPickWritableJson<U>[]
|
|
106
|
-
: { [P in Keys]: DeepPickWritableJson<
|
|
106
|
+
: { [P in Keys]: DeepPickWritableJson<T[P]> };
|
package/lib/type-check.d.ts
CHANGED
|
@@ -69,13 +69,14 @@ export type IfPrimitiveOrAny<T, Y = true, N = false> =
|
|
|
69
69
|
* Returns Y if typeof T is JSON like, N otherwise
|
|
70
70
|
*/
|
|
71
71
|
export type IfJson<T, Y = true, N = false> =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
T extends
|
|
75
|
-
T extends
|
|
76
|
-
|
|
77
|
-
T
|
|
78
|
-
:
|
|
72
|
+
IfAny<T> extends true ? Y :
|
|
73
|
+
IfNull<T> extends true ? Y :
|
|
74
|
+
IfNever<T> extends true ? N :
|
|
75
|
+
T extends Function ? N :
|
|
76
|
+
T extends symbol ? N :
|
|
77
|
+
IfUndefined<T> extends true ? N :
|
|
78
|
+
T extends (infer U)[] ? IfJson<U> extends true ? Y : N
|
|
79
|
+
: Y;
|
|
79
80
|
|
|
80
81
|
export type IfJsonOrAny<T, Y = true, N = false> =
|
|
81
82
|
IfAny<T> extends true ? Y : IfJson<T, Y, N>;
|