ts-gems 1.2.0 → 1.3.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.
@@ -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 ? T
10
+ T extends Builtin ? Exclude<T, undefined>
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>>
@@ -17,14 +17,14 @@ type _DeepPartial<T> =
17
17
  : T extends WeakSet<infer U> ? WeakSet<DeepPartial<U>>
18
18
  : IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepPartial<T[K]> }
19
19
  : T extends (infer U)[] ? DeepPartial<U>[]
20
- : { [P in keyof T]?: DeepPartial<Exclude<T[P], undefined>> };
20
+ : { [P in keyof T]?: DeepPartial<T[P]> };
21
21
 
22
22
  /**
23
23
  * Combination of Partial and Writable but deeply
24
24
  */
25
25
  export type DeepBuildable<T> = _DeepBuildable<T>;
26
26
  type _DeepBuildable<T> =
27
- T extends Builtin ? T
27
+ T extends Builtin ? Exclude<T, undefined>
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>>
@@ -34,14 +34,14 @@ type _DeepBuildable<T> =
34
34
  : T extends WeakSet<infer U> ? WeakSet<DeepBuildable<U>>
35
35
  : IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepBuildable<T[K]> }
36
36
  : T extends (infer U)[] ? DeepBuildable<U>[]
37
- : { -readonly [P in keyof T]?: DeepBuildable<Exclude<T[P], undefined>> };
37
+ : { -readonly [P in keyof T]?: DeepBuildable<T[P]> };
38
38
 
39
39
  /**
40
40
  * Make all properties in T required deeply
41
41
  */
42
42
  export type DeepRequired<T> = _DeepRequired<T>;
43
43
  type _DeepRequired<T> =
44
- T extends Builtin ? T
44
+ T extends Builtin ? Exclude<T, undefined>
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>>
@@ -51,7 +51,7 @@ type _DeepRequired<T> =
51
51
  : T extends WeakSet<infer U> ? WeakSet<DeepRequired<U>>
52
52
  : IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepRequired<T[K]> }
53
53
  : T extends (infer U)[] ? DeepRequired<U>[]
54
- : { [P in keyof T]-?: DeepRequired<Exclude<T[P], undefined>> };
54
+ : { [P in keyof T]-?: DeepRequired<T[P]> };
55
55
 
56
56
 
57
57
  /**
@@ -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 ? T
62
+ T extends Builtin ? Exclude<T, undefined>
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>>
@@ -69,14 +69,14 @@ type _DeepReadonly<T> =
69
69
  : T extends WeakSet<infer U> ? WeakSet<DeepReadonly<U>>
70
70
  : IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepReadonly<T[K]> }
71
71
  : T extends (infer U)[] ? DeepReadonly<U>[]
72
- : { readonly [P in keyof T]: DeepReadonly<Exclude<T[P], undefined>> };
72
+ : { readonly [P in keyof T]: DeepReadonly<T[P]> };
73
73
 
74
74
  /**
75
75
  * Make all properties in T writable deeply
76
76
  */
77
77
  export type DeepWritable<T> = _DeepWritable<T>;
78
78
  type _DeepWritable<T> =
79
- T extends Builtin ? T
79
+ T extends Builtin ? Exclude<T, undefined>
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>>
@@ -86,7 +86,7 @@ type _DeepWritable<T> =
86
86
  : T extends WeakSet<infer U> ? WeakSet<DeepWritable<U>>
87
87
  : IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepWritable<T[K]> }
88
88
  : T extends (infer U)[] ? DeepWritable<U>[]
89
- : { -readonly [P in keyof T]: DeepWritable<Exclude<T[P], undefined>> };
89
+ : { -readonly [P in keyof T]: DeepWritable<T[P]> };
90
90
 
91
91
  /**
92
92
  * Make all properties in T nullable deeply
@@ -103,4 +103,4 @@ type _DeepNullish<T> =
103
103
  : T extends WeakSet<infer U> ? WeakSet<DeepNullish<U>>
104
104
  : IfTuple<T> extends true ? { [K in OptionalKeys<T>]?: DeepNullish<T[K]> }
105
105
  : T extends (infer U)[] ? DeepNullish<U>[] | null | undefined
106
- : { [P in keyof T]: DeepNullish<T[P]>| null | undefined };
106
+ : { [P in keyof T]: DeepNullish<T[P]> | null | undefined };
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "lodash",
13
13
  "underscore"
14
14
  ],
15
- "version": "1.2.0",
15
+ "version": "1.3.0",
16
16
  "types": "lib/index.d.ts",
17
17
  "repository": "git@github.com:panates/ts-gems.git",
18
18
  "author": "Eray Hanoglu <e.hanoglu@panates.com>",