ts-gems 2.7.3 → 2.7.5

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/common.d.ts CHANGED
@@ -24,8 +24,9 @@ type JsonType = BasicPrimitive | null | object | (BasicPrimitive | object)[]
24
24
  * @desc Type representing Builtin types in JavaScript
25
25
  */
26
26
  export type Builtin = Primitive | Function | String | Number | Date | Error | RegExp |
27
- ArrayBuffer | DataView | Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array |
28
- Int32Array | Uint32Array | Float32Array | Float64Array;
27
+ Buffer | ArrayBuffer | Int8Array | Uint8Array | Uint8ClampedArray |
28
+ Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array |
29
+ URL | ReadableStream | WritableStream;
29
30
 
30
31
  /**
31
32
  * Maybe
@@ -1,11 +1,11 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
 
3
3
  /**
4
4
  * Combination of Partial and Writable but deeply
5
5
  */
6
6
  export type DeepBuildable<T> = _DeepBuildable<T>;
7
7
  type _DeepBuildable<T> =
8
- IsDeepExcluded<T> extends true ? T
8
+ IfNoDeepValue<T> extends true ? T
9
9
  : { -readonly [P in keyof T]?: _DeepBuildable<Exclude<T[P], undefined>> };
10
10
 
11
11
  /**
@@ -14,6 +14,6 @@ type _DeepBuildable<T> =
14
14
  export type HighDeepBuildable<T> = _HighDeepBuildable<T>;
15
15
  type _HighDeepBuildable<T> =
16
16
  T extends (infer U)[] ? _HighDeepBuildable<U>[]
17
- : IsDeepExcluded<T> extends true ? T
17
+ : IfNoDeepValue<T> extends true ? T
18
18
  : T extends (infer U)[] ? _HighDeepBuildable<U>[]
19
19
  : { -readonly [P in keyof T]?: _HighDeepBuildable<Exclude<T[P], undefined>> };
@@ -1,12 +1,12 @@
1
1
  import { DeepRequired, HighDeepRequired } from './deep-required.js';
2
- import { IsDeepExcluded } from './helpers.js';
2
+ import { IfNoDeepValue } from './helpers.js';
3
3
 
4
4
  /**
5
5
  * Make all properties in T nullable deeply
6
6
  */
7
7
  export type DeepNullish<T> = _DeepNullish<DeepRequired<T>>;
8
8
  type _DeepNullish<T> =
9
- IsDeepExcluded<T> extends true ? T
9
+ IfNoDeepValue<T> extends true ? T
10
10
  : { [P in keyof T]?: _DeepNullish<Exclude<T[P], undefined>> | null };
11
11
 
12
12
 
@@ -16,6 +16,6 @@ type _DeepNullish<T> =
16
16
  export type HighDeepNullish<T> = _HighDeepNullish<HighDeepRequired<T>>;
17
17
  type _HighDeepNullish<T> =
18
18
  T extends (infer U)[] ? _HighDeepNullish<U>[]
19
- : IsDeepExcluded<T> extends true ? T
19
+ : IfNoDeepValue<T> extends true ? T
20
20
  : { [P in keyof T]?: _HighDeepNullish<Exclude<T[P], undefined>> | null };
21
21
 
@@ -1,4 +1,4 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
  import { OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from './keys';
3
3
 
4
4
  /**
@@ -6,7 +6,7 @@ import { OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from './keys';
6
6
  */
7
7
  export type DeepOmitOptional<T> = _DeepOmitOptional<Exclude<T, undefined>>;
8
8
  type _DeepOmitOptional<T, K extends keyof T = Exclude<keyof T, OptionalKeys<T>>> =
9
- IsDeepExcluded<T> extends true ? T
9
+ IfNoDeepValue<T> extends true ? T
10
10
  : { [P in K]-?: DeepOmitOptional<T[P]> };
11
11
 
12
12
  /**
@@ -15,7 +15,7 @@ type _DeepOmitOptional<T, K extends keyof T = Exclude<keyof T, OptionalKeys<T>>>
15
15
  export type HighDeepOmitOptional<T> = _HighDeepOmitOptional<Exclude<T, undefined>>;
16
16
  type _HighDeepOmitOptional<T, K extends keyof T = Exclude<keyof T, OptionalKeys<T>>> =
17
17
  T extends (infer U)[] ? HighDeepOmitOptional<U>[]
18
- : IsDeepExcluded<T> extends true ? T
18
+ : IfNoDeepValue<T> extends true ? T
19
19
  : { [P in K]-?: HighDeepOmitOptional<T[P]> };
20
20
 
21
21
 
@@ -24,7 +24,7 @@ type _HighDeepOmitOptional<T, K extends keyof T = Exclude<keyof T, OptionalKeys<
24
24
  */
25
25
  export type DeepOmitRequired<T> = _DeepOmitRequired<Exclude<T, undefined>>;
26
26
  type _DeepOmitRequired<T, J extends keyof T = Exclude<keyof T, RequiredKeys<T>>> =
27
- IsDeepExcluded<T> extends true ? T
27
+ IfNoDeepValue<T> extends true ? T
28
28
  : { [P in J]?: DeepOmitRequired<Exclude<T[P], undefined>> };
29
29
 
30
30
 
@@ -34,7 +34,7 @@ type _DeepOmitRequired<T, J extends keyof T = Exclude<keyof T, RequiredKeys<T>>>
34
34
  export type HighDeepOmitRequired<T> = _HighDeepOmitRequired<Exclude<T, undefined>>;
35
35
  type _HighDeepOmitRequired<T, J extends keyof T = Exclude<keyof T, RequiredKeys<T>>> =
36
36
  T extends (infer U)[] ? HighDeepOmitRequired<U>[]
37
- : IsDeepExcluded<T> extends true ? T
37
+ : IfNoDeepValue<T> extends true ? T
38
38
  : { [P in J]?: HighDeepOmitRequired<Exclude<T[P], undefined>> };
39
39
 
40
40
 
@@ -43,7 +43,7 @@ type _HighDeepOmitRequired<T, J extends keyof T = Exclude<keyof T, RequiredKeys<
43
43
  */
44
44
  export type DeepOmitReadonly<T> = _DeepOmitReadonly<Exclude<T, undefined>>;
45
45
  type _DeepOmitReadonly<T, J extends keyof T = Exclude<keyof T, ReadonlyKeys<T>>> =
46
- IsDeepExcluded<T> extends true ? T
46
+ IfNoDeepValue<T> extends true ? T
47
47
  : { [P in J]: DeepOmitReadonly<T[P]> };
48
48
 
49
49
 
@@ -53,7 +53,7 @@ type _DeepOmitReadonly<T, J extends keyof T = Exclude<keyof T, ReadonlyKeys<T>>>
53
53
  export type HighDeepOmitReadonly<T> = _HighDeepOmitReadonly<Exclude<T, undefined>>;
54
54
  type _HighDeepOmitReadonly<T, J extends keyof T = Exclude<keyof T, ReadonlyKeys<T>>> =
55
55
  T extends (infer U)[] ? HighDeepOmitReadonly<U>[]
56
- : IsDeepExcluded<T> extends true ? T
56
+ : IfNoDeepValue<T> extends true ? T
57
57
  : { [P in J]: HighDeepOmitReadonly<T[P]> };
58
58
 
59
59
 
@@ -62,7 +62,7 @@ type _HighDeepOmitReadonly<T, J extends keyof T = Exclude<keyof T, ReadonlyKeys<
62
62
  */
63
63
  export type DeepOmitWritable<T> = _DeepOmitWritable<Exclude<T, undefined>>
64
64
  type _DeepOmitWritable<T, K extends keyof T = Exclude<keyof T, WritableKeys<T>>> =
65
- IsDeepExcluded<T> extends true ? T
65
+ IfNoDeepValue<T> extends true ? T
66
66
  : { readonly [P in K]: DeepOmitWritable<T[P]> }
67
67
 
68
68
 
@@ -72,5 +72,5 @@ type _DeepOmitWritable<T, K extends keyof T = Exclude<keyof T, WritableKeys<T>>>
72
72
  export type HighDeepOmitWritable<T> = _HighDeepOmitWritable<Exclude<T, undefined>>
73
73
  type _HighDeepOmitWritable<T, K extends keyof T = Exclude<keyof T, WritableKeys<T>>> =
74
74
  T extends (infer U)[] ? HighDeepOmitWritable<U>[]
75
- : IsDeepExcluded<T> extends true ? T
75
+ : IfNoDeepValue<T> extends true ? T
76
76
  : { readonly [P in K]: HighDeepOmitWritable<T[P]> }
@@ -1,11 +1,11 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
 
3
3
  /**
4
4
  * Partial but deeply
5
5
  */
6
6
  export type DeepPartial<T> = _DeepPartial<T>;
7
7
  type _DeepPartial<T> =
8
- IsDeepExcluded<T> extends true ? T
8
+ IfNoDeepValue<T> extends true ? T
9
9
  : { [P in keyof T]?: _DeepPartial<Exclude<T[P], undefined>> };
10
10
 
11
11
  /**
@@ -14,5 +14,5 @@ type _DeepPartial<T> =
14
14
  export type HighDeepPartial<T> = _HighDeepPartial<T>;
15
15
  type _HighDeepPartial<T> =
16
16
  T extends (infer U)[] ? _HighDeepPartial<U>[]
17
- : IsDeepExcluded<T> extends true ? T
17
+ : IfNoDeepValue<T> extends true ? T
18
18
  : { [P in keyof T]?: _HighDeepPartial<Exclude<T[P], undefined>> };
@@ -1,4 +1,4 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
  import { JsonKeys, OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from './keys';
3
3
 
4
4
  /**
@@ -6,7 +6,7 @@ import { JsonKeys, OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from
6
6
  */
7
7
  export type DeepPickOptional<T> = _DeepPickOptional<Exclude<T, undefined>>;
8
8
  type _DeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
9
- IsDeepExcluded<T> extends true ? T
9
+ IfNoDeepValue<T> extends true ? T
10
10
  : { [P in K]?: DeepPickOptional<T[P]> };
11
11
 
12
12
  /**
@@ -15,7 +15,7 @@ type _DeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
15
15
  export type HighDeepPickOptional<T> = _HighDeepPickOptional<Exclude<T, undefined>>;
16
16
  type _HighDeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
17
17
  T extends (infer U)[] ? HighDeepPickOptional<U>[]
18
- : IsDeepExcluded<T> extends true ? T
18
+ : IfNoDeepValue<T> extends true ? T
19
19
  : { [P in K]?: HighDeepPickOptional<T[P]> };
20
20
 
21
21
 
@@ -24,7 +24,7 @@ type _HighDeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
24
24
  */
25
25
  export type DeepPickRequired<T> = _DeepPickRequired<Exclude<T, undefined>>;
26
26
  type _DeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
27
- IsDeepExcluded<T> extends true ? T
27
+ IfNoDeepValue<T> extends true ? T
28
28
  : { [P in J]-?: DeepPickRequired<T[P]> };
29
29
 
30
30
 
@@ -34,7 +34,7 @@ type _DeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
34
34
  export type HighDeepPickRequired<T> = _HighDeepPickRequired<Exclude<T, undefined>>;
35
35
  type _HighDeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
36
36
  T extends (infer U)[] ? HighDeepPickRequired<U>[]
37
- : IsDeepExcluded<T> extends true ? T
37
+ : IfNoDeepValue<T> extends true ? T
38
38
  : { [P in J]-?: HighDeepPickRequired<T[P]> };
39
39
 
40
40
 
@@ -43,7 +43,7 @@ type _HighDeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
43
43
  */
44
44
  export type DeepPickReadonly<T> = _DeepPickReadonly<Exclude<T, undefined>>;
45
45
  type _DeepPickReadonly<T, K extends keyof T = ReadonlyKeys<T>> =
46
- IsDeepExcluded<T> extends true ? T
46
+ IfNoDeepValue<T> extends true ? T
47
47
  : { [P in K]: DeepPickReadonly<T[P]> };
48
48
 
49
49
  /**
@@ -52,7 +52,7 @@ type _DeepPickReadonly<T, K extends keyof T = ReadonlyKeys<T>> =
52
52
  export type HighDeepPickReadonly<T> = _HighDeepPickReadonly<Exclude<T, undefined>>;
53
53
  type _HighDeepPickReadonly<T, K extends keyof T = ReadonlyKeys<T>> =
54
54
  T extends (infer U)[] ? HighDeepPickReadonly<U>[]
55
- : IsDeepExcluded<T> extends true ? T
55
+ : IfNoDeepValue<T> extends true ? T
56
56
  : { [P in K]: HighDeepPickReadonly<T[P]> };
57
57
 
58
58
 
@@ -61,7 +61,7 @@ type _HighDeepPickReadonly<T, K extends keyof T = ReadonlyKeys<T>> =
61
61
  */
62
62
  export type DeepPickWritable<T> = _DeepPickWritable<Exclude<T, undefined>>;
63
63
  type _DeepPickWritable<T, K extends keyof T = WritableKeys<T>> =
64
- IsDeepExcluded<T> extends true ? T
64
+ IfNoDeepValue<T> extends true ? T
65
65
  : { [P in K]: DeepPickWritable<T[P]> };
66
66
 
67
67
  /**
@@ -70,7 +70,7 @@ type _DeepPickWritable<T, K extends keyof T = WritableKeys<T>> =
70
70
  export type HighDeepPickWritable<T> = _HighDeepPickWritable<Exclude<T, undefined>>;
71
71
  type _HighDeepPickWritable<T, K extends keyof T = WritableKeys<T>> =
72
72
  T extends (infer U)[] ? HighDeepPickWritable<U>[]
73
- : IsDeepExcluded<T> extends true ? T
73
+ : IfNoDeepValue<T> extends true ? T
74
74
  : { [P in K]: HighDeepPickWritable<T[P]> };
75
75
 
76
76
 
@@ -80,5 +80,5 @@ type _HighDeepPickWritable<T, K extends keyof T = WritableKeys<T>> =
80
80
  export type DeepPickJson<T> = _DeepPickJson<Exclude<T, undefined>>;
81
81
  type _DeepPickJson<T, Keys extends keyof T = JsonKeys<T>> =
82
82
  T extends (infer U)[] ? DeepPickJson<U>[]
83
- : IsDeepExcluded<T> extends true ? T
83
+ : IfNoDeepValue<T> extends true ? T
84
84
  : { [P in Keys]: DeepPickJson<T[P]> };
@@ -1,11 +1,11 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
 
3
3
  /**
4
4
  * Make all properties in T readonly deeply
5
5
  */
6
6
  export type DeepReadonly<T> = _DeepReadonly<T>;
7
7
  type _DeepReadonly<T> =
8
- IsDeepExcluded<T> extends true ? T
8
+ IfNoDeepValue<T> extends true ? T
9
9
  : { readonly [P in keyof T]: _DeepReadonly<T[P]> };
10
10
 
11
11
  /**
@@ -14,6 +14,6 @@ type _DeepReadonly<T> =
14
14
  export type HighDeepReadonly<T> = _HighDeepReadonly<T>;
15
15
  type _HighDeepReadonly<T> =
16
16
  T extends (infer U)[] ? _HighDeepReadonly<U>[]
17
- : IsDeepExcluded<T> extends true ? T
17
+ : IfNoDeepValue<T> extends true ? T
18
18
  : { readonly [P in keyof T]: _HighDeepReadonly<T[P]> };
19
19
 
@@ -1,11 +1,11 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
 
3
3
  /**
4
4
  * Make all properties in T required deeply
5
5
  */
6
6
  export type DeepRequired<T> = _DeepRequired<T>;
7
7
  type _DeepRequired<T> =
8
- IsDeepExcluded<T> extends true ? T
8
+ IfNoDeepValue<T> extends true ? T
9
9
  : { [P in keyof T]-?: _DeepRequired<Exclude<T[P], undefined>> };
10
10
 
11
11
 
@@ -15,5 +15,5 @@ type _DeepRequired<T> =
15
15
  export type HighDeepRequired<T> = _HighDeepRequired<T>;
16
16
  type _HighDeepRequired<T> =
17
17
  T extends (infer U)[] ? _HighDeepRequired<U>[]
18
- : IsDeepExcluded<T> extends true ? T
18
+ : IfNoDeepValue<T> extends true ? T
19
19
  : { [P in keyof T]-?: _HighDeepRequired<Exclude<T[P], undefined>> };
@@ -1,11 +1,11 @@
1
- import { IsDeepExcluded } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers.js';
2
2
 
3
3
  /**
4
4
  * Make all properties in T writable deeply
5
5
  */
6
6
  export type DeepWritable<T> = _DeepWritable<T>;
7
7
  type _DeepWritable<T> =
8
- IsDeepExcluded<T> extends true ? T
8
+ IfNoDeepValue<T> extends true ? T
9
9
  : { -readonly [P in keyof T]: _DeepWritable<T[P]> };
10
10
 
11
11
 
@@ -15,5 +15,5 @@ type _DeepWritable<T> =
15
15
  export type HighDeepWritable<T> = _HighDeepWritable<T>;
16
16
  type _HighDeepWritable<T> =
17
17
  T extends (infer U)[] ? _HighDeepWritable<U>[]
18
- : IsDeepExcluded<T> extends true ? T
18
+ : IfNoDeepValue<T> extends true ? T
19
19
  : { -readonly [P in keyof T]: _HighDeepWritable<T[P]> };
package/lib/helpers.d.ts CHANGED
@@ -4,8 +4,8 @@ import { IfClass, IfTuple } from './type-check.js';
4
4
  /**
5
5
  * Returns true if T is excluded from deep operations
6
6
  */
7
- export type IsDeepExcluded<T> = _IsHighDeepObject<T>;
8
- type _IsHighDeepObject<T> =
7
+ export type IfNoDeepValue<T> = _IfNoDeepValue<T>
8
+ type _IfNoDeepValue<T> =
9
9
  T extends Builtin ? true
10
10
  : IfTuple<T> extends true ? true
11
11
  : IfClass<T> extends true ? true
package/lib/index.d.ts CHANGED
@@ -10,5 +10,6 @@ export * from "./deep-pick";
10
10
  export * from "./deep-readonly";
11
11
  export * from "./deep-required";
12
12
  export * from "./deep-writable";
13
+ export * from "./helpers";
13
14
  export * from "./pick";
14
15
  export * from "./omit";
package/lib/keys.d.ts CHANGED
@@ -56,7 +56,6 @@ type _JsonKeys<T, J = Required<T>> = ValuesOf<{
56
56
  : IfNull<J[K]> extends true ? K
57
57
  : IfJson<Exclude<J[K], undefined>> extends true ? K
58
58
  : never
59
-
60
59
  }>;
61
60
 
62
61
  /**
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "lodash",
13
13
  "underscore"
14
14
  ],
15
- "version": "2.7.3",
15
+ "version": "2.7.5",
16
16
  "types": "lib/index.d.ts",
17
17
  "main": "lib/index.js",
18
18
  "module": "lib/index.js",