ts-gems 2.9.2 → 2.9.3

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.
@@ -1,13 +1,14 @@
1
- import { DeepOmitNever, HighDeepOmitNever } from './deep-omit.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepOmitNever, HighDeepOmitNever } from './deep-omit';
2
+ import { IfNoDeepValue } from './helpers';
3
3
 
4
4
  /**
5
5
  * Combination of Partial and Writable but deeply
6
6
  */
7
7
  export type DeepBuildable<T> = DeepOmitNever<_DeepBuildable<T>>;
8
8
  type _DeepBuildable<T> =
9
- IfNoDeepValue<T> extends true ? T
10
- : { -readonly [P in keyof T]?: _DeepBuildable<Exclude<T[P], undefined>> };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { -readonly [P in keyof T]?: _DeepBuildable<Exclude<T[P], undefined>> };
11
12
 
12
13
  /**
13
14
  * Combination of Partial and Writable but deeply including arrays
@@ -16,5 +17,4 @@ export type HighDeepBuildable<T> = HighDeepOmitNever<_HighDeepBuildable<T>>;
16
17
  type _HighDeepBuildable<T> =
17
18
  T extends (infer U)[] ? _HighDeepBuildable<U>[]
18
19
  : IfNoDeepValue<T> extends true ? T
19
- : T extends (infer U)[] ? _HighDeepBuildable<U>[]
20
- : { -readonly [P in keyof T]?: _HighDeepBuildable<Exclude<T[P], undefined>> };
20
+ : { -readonly [P in keyof T]?: _HighDeepBuildable<Exclude<T[P], undefined>> };
@@ -1,13 +1,14 @@
1
- import { DeepRequired, HighDeepRequired } from './deep-required.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepRequired, HighDeepRequired } from './deep-required';
2
+ import { IfNoDeepValue } from './helpers';
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
- IfNoDeepValue<T> extends true ? T
10
- : { [P in keyof T]?: _DeepNullish<Exclude<T[P], undefined>> | null };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { [P in keyof T]?: _DeepNullish<Exclude<T[P], undefined>> | null };
11
12
 
12
13
 
13
14
  /**
@@ -1,4 +1,4 @@
1
- import { IfNoDeepValue } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers';
2
2
  import { OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from './keys';
3
3
 
4
4
  /**
@@ -6,8 +6,9 @@ import { OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from './keys';
6
6
  */
7
7
  export type DeepOmitOptional<T> = DeepOmitNever<_DeepOmitOptional<T>>;
8
8
  type _DeepOmitOptional<T, K extends keyof T = Exclude<keyof T, OptionalKeys<T>>> =
9
- IfNoDeepValue<T> extends true ? T
10
- : { [P in K]-?: _DeepOmitOptional<Exclude<T[P], undefined>> };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { [P in K]-?: _DeepOmitOptional<Exclude<T[P], undefined>> };
11
12
 
12
13
  /**
13
14
  * Omit all optional properties in T deeply including arrays
@@ -24,8 +25,9 @@ type _HighDeepOmitOptional<T, K extends keyof T = Exclude<keyof T, OptionalKeys<
24
25
  */
25
26
  export type DeepOmitRequired<T> = DeepOmitNever<_DeepOmitRequired<T>>;
26
27
  type _DeepOmitRequired<T, J extends keyof T = Exclude<keyof T, RequiredKeys<T>>> =
27
- IfNoDeepValue<T> extends true ? T
28
- : { [P in J]?: _DeepOmitRequired<Exclude<T[P], undefined>> };
28
+ T extends any[] ? T
29
+ : IfNoDeepValue<T> extends true ? T
30
+ : { [P in J]?: _DeepOmitRequired<Exclude<T[P], undefined>> };
29
31
 
30
32
 
31
33
  /**
@@ -43,8 +45,9 @@ type _HighDeepOmitRequired<T, J extends keyof T = Exclude<keyof T, RequiredKeys<
43
45
  */
44
46
  export type DeepOmitReadonly<T> = DeepOmitNever<_DeepOmitReadonly<Exclude<T, undefined>>>;
45
47
  type _DeepOmitReadonly<T, J extends keyof T = Exclude<keyof T, ReadonlyKeys<T>>> =
46
- IfNoDeepValue<T> extends true ? T
47
- : { [P in J]: _DeepOmitReadonly<Exclude<T[P], undefined>> };
48
+ T extends any[] ? T
49
+ : IfNoDeepValue<T> extends true ? T
50
+ : { [P in J]: _DeepOmitReadonly<Exclude<T[P], undefined>> };
48
51
 
49
52
 
50
53
  /**
@@ -62,8 +65,9 @@ type _HighDeepOmitReadonly<T, J extends keyof T = Exclude<keyof T, ReadonlyKeys<
62
65
  */
63
66
  export type DeepOmitWritable<T> = DeepOmitNever<_DeepOmitWritable<T>>
64
67
  type _DeepOmitWritable<T, K extends keyof T = Exclude<keyof T, WritableKeys<T>>> =
65
- IfNoDeepValue<T> extends true ? T
66
- : { readonly [P in K]: _DeepOmitWritable<Exclude<T[P], undefined>> }
68
+ T extends any[] ? T
69
+ : IfNoDeepValue<T> extends true ? T
70
+ : { readonly [P in K]: _DeepOmitWritable<Exclude<T[P], undefined>> }
67
71
 
68
72
 
69
73
  /**
@@ -80,8 +84,9 @@ type _HighDeepOmitWritable<T, K extends keyof T = Exclude<keyof T, WritableKeys<
80
84
  */
81
85
  export type DeepOmitNever<T> = _DeepOmitNever<T>
82
86
  type _DeepOmitNever<T> =
83
- IfNoDeepValue<T> extends true ? T
84
- : { [P in keyof T as (Exclude<T[P], undefined> extends never ? never : P)]: _DeepOmitNever<Exclude<T[P], undefined>> }
87
+ T extends any[] ? T
88
+ : IfNoDeepValue<T> extends true ? T
89
+ : { [P in keyof T as (Exclude<T[P], undefined> extends never ? never : P)]: _DeepOmitNever<Exclude<T[P], undefined>> }
85
90
 
86
91
 
87
92
  /**
@@ -1,12 +1,13 @@
1
- import { IfNoDeepValue } from './helpers.js';
1
+ import { IfNoDeepValue } from './helpers';
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
- IfNoDeepValue<T> extends true ? T
9
- : { [P in keyof T]?: _DeepPartial<Exclude<T[P], undefined>> };
8
+ T extends any[] ? T
9
+ : IfNoDeepValue<T> extends true ? T
10
+ : { [P in keyof T]?: _DeepPartial<Exclude<T[P], undefined>> };
10
11
 
11
12
  /**
12
13
  * Partial but deeply including arrays
@@ -1,5 +1,5 @@
1
- import { DeepOmitNever, HighDeepOmitNever } from './deep-omit.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepOmitNever, HighDeepOmitNever } from './deep-omit';
2
+ import { IfNoDeepValue } from './helpers';
3
3
  import { JsonKeys, OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from './keys';
4
4
 
5
5
  /**
@@ -7,8 +7,9 @@ import { JsonKeys, OptionalKeys, ReadonlyKeys, RequiredKeys, WritableKeys } from
7
7
  */
8
8
  export type DeepPickOptional<T> = DeepOmitNever<_DeepPickOptional<T>>;
9
9
  type _DeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
10
- IfNoDeepValue<T> extends true ? T
11
- : { [P in K]?: _DeepPickOptional<Exclude<T[P], undefined>> };
10
+ T extends any[] ? T
11
+ : IfNoDeepValue<T> extends true ? T
12
+ : { [P in K]?: _DeepPickOptional<Exclude<T[P], undefined>> };
12
13
 
13
14
  /**
14
15
  * Pick all optional properties in T deeply including arrays
@@ -25,8 +26,9 @@ type _HighDeepPickOptional<T, K extends keyof T = OptionalKeys<T>> =
25
26
  */
26
27
  export type DeepPickRequired<T> = DeepOmitNever<_DeepPickRequired<T>>;
27
28
  type _DeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
28
- IfNoDeepValue<T> extends true ? T
29
- : { [P in J]-?: _DeepPickRequired<Exclude<T[P], undefined>> };
29
+ T extends any[] ? T
30
+ : IfNoDeepValue<T> extends true ? T
31
+ : { [P in J]-?: _DeepPickRequired<Exclude<T[P], undefined>> };
30
32
 
31
33
 
32
34
  /**
@@ -44,8 +46,9 @@ type _HighDeepPickRequired<T, J extends keyof T = RequiredKeys<T>> =
44
46
  */
45
47
  export type DeepPickReadonly<T> = DeepOmitNever<_DeepPickReadonly<T>>;
46
48
  type _DeepPickReadonly<T, K extends keyof T = ReadonlyKeys<T>> =
47
- IfNoDeepValue<T> extends true ? T
48
- : { [P in K]: _DeepPickReadonly<Exclude<T[P], undefined>> };
49
+ T extends any[] ? T
50
+ : IfNoDeepValue<T> extends true ? T
51
+ : { [P in K]: _DeepPickReadonly<Exclude<T[P], undefined>> };
49
52
 
50
53
  /**
51
54
  * Pick all readonly properties in T deeply including arrays
@@ -62,8 +65,9 @@ type _HighDeepPickReadonly<T, K extends keyof T = ReadonlyKeys<T>> =
62
65
  */
63
66
  export type DeepPickWritable<T> = DeepOmitNever<_DeepPickWritable<T>>;
64
67
  type _DeepPickWritable<T, K extends keyof T = WritableKeys<T>> =
65
- IfNoDeepValue<T> extends true ? T
66
- : { [P in K]: _DeepPickWritable<Exclude<T[P], undefined>> };
68
+ T extends any[] ? T
69
+ : IfNoDeepValue<T> extends true ? T
70
+ : { [P in K]: _DeepPickWritable<Exclude<T[P], undefined>> };
67
71
 
68
72
  /**
69
73
  * Pick all writable properties in T deeply including arrays
@@ -1,13 +1,14 @@
1
- import { DeepOmitNever, HighDeepOmitNever } from './deep-omit.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepOmitNever, HighDeepOmitNever } from './deep-omit';
2
+ import { IfNoDeepValue } from './helpers';
3
3
 
4
4
  /**
5
5
  * Make all properties in T readonly deeply
6
6
  */
7
7
  export type DeepReadonly<T> = DeepOmitNever<_DeepReadonly<T>>;
8
8
  type _DeepReadonly<T> =
9
- IfNoDeepValue<T> extends true ? T
10
- : { readonly [P in keyof T]: _DeepReadonly<T[P]> };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { readonly [P in keyof T]: _DeepReadonly<T[P]> };
11
12
 
12
13
  /**
13
14
  * Make all properties in T readonly deeply
@@ -1,13 +1,14 @@
1
- import { DeepOmitNever, HighDeepOmitNever } from './deep-omit.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepOmitNever, HighDeepOmitNever } from './deep-omit';
2
+ import { IfNoDeepValue } from './helpers';
3
3
 
4
4
  /**
5
5
  * Remove null from properties deeply
6
6
  */
7
7
  export type DeepRemoveNulls<T> = DeepOmitNever<_DeepRemoveNulls<T>>;
8
8
  type _DeepRemoveNulls<T> =
9
- IfNoDeepValue<T> extends true ? T
10
- : { [P in keyof T]: _DeepRemoveNulls<Exclude<T[P], null>> };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { [P in keyof T]: _DeepRemoveNulls<Exclude<T[P], null>> };
11
12
 
12
13
 
13
14
  /**
@@ -1,13 +1,14 @@
1
- import { DeepOmitNever, HighDeepOmitNever } from './deep-omit.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepOmitNever, HighDeepOmitNever } from './deep-omit';
2
+ import { IfNoDeepValue } from './helpers';
3
3
 
4
4
  /**
5
5
  * Make all properties in T required deeply
6
6
  */
7
7
  export type DeepRequired<T> = DeepOmitNever<_DeepRequired<T>>;
8
8
  type _DeepRequired<T> =
9
- IfNoDeepValue<T> extends true ? T
10
- : { [P in keyof T]-?: _DeepRequired<Exclude<T[P], undefined>> };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { [P in keyof T]-?: _DeepRequired<Exclude<T[P], undefined>> };
11
12
 
12
13
 
13
14
  /**
@@ -1,13 +1,14 @@
1
- import { DeepOmitNever, HighDeepOmitNever } from './deep-omit.js';
2
- import { IfNoDeepValue } from './helpers.js';
1
+ import { DeepOmitNever, HighDeepOmitNever } from './deep-omit';
2
+ import { IfNoDeepValue } from './helpers';
3
3
 
4
4
  /**
5
5
  * Make all properties in T writable deeply
6
6
  */
7
7
  export type DeepWritable<T> = DeepOmitNever<_DeepWritable<T>>;
8
8
  type _DeepWritable<T> =
9
- IfNoDeepValue<T> extends true ? T
10
- : { -readonly [P in keyof T]: _DeepWritable<T[P]> };
9
+ T extends any[] ? T
10
+ : IfNoDeepValue<T> extends true ? T
11
+ : { -readonly [P in keyof T]: _DeepWritable<T[P]> };
11
12
 
12
13
 
13
14
  /**
package/lib/helpers.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Builtin } from './common.js';
2
- import { IfClass, IfTuple } from './type-check.js';
1
+ import { Builtin } from './common';
2
+ import { IfAny, IfClass, IfTuple } from './type-check';
3
3
 
4
4
  /**
5
5
  * Returns true if T is excluded from deep operations
@@ -7,14 +7,15 @@ import { IfClass, IfTuple } from './type-check.js';
7
7
  export type IfNoDeepValue<T> = _IfNoDeepValue<T>
8
8
  type _IfNoDeepValue<T> =
9
9
  T extends Builtin ? true
10
- : IfTuple<T> extends true ? true
11
- : T extends Function ? true
12
- : IfClass<T> extends true ? true
13
- : T extends Map<any, any> ? true
14
- : T extends ReadonlyMap<any, any> ? true
15
- : T extends WeakMap<any, any> ? true
16
- : T extends Set<any> ? true
17
- : T extends ReadonlySet<any> ? true
18
- : T extends WeakSet<any> ? true
19
- : T extends any[] ? true
20
- : false;
10
+ : IfAny<T> extends true ? T
11
+ : IfTuple<T> extends true ? true
12
+ : T extends Function ? true
13
+ : IfClass<T> extends true ? true
14
+ : T extends Map<any, any> ? true
15
+ : T extends ReadonlyMap<any, any> ? true
16
+ : T extends WeakMap<any, any> ? true
17
+ : T extends Set<any> ? true
18
+ : T extends ReadonlySet<any> ? true
19
+ : T extends WeakSet<any> ? true
20
+ // : T extends any[] ? true
21
+ : false;
package/lib/modify.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { OmitNever } from './omit.js';
1
+ import { OmitNever } from './omit';
2
2
 
3
3
  /**
4
4
  * Make all properties in T writable
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "lodash",
13
13
  "underscore"
14
14
  ],
15
- "version": "2.9.2",
15
+ "version": "2.9.3",
16
16
  "types": "lib/index.d.ts",
17
17
  "main": "lib/index.js",
18
18
  "module": "lib/index.js",