ts-gems 2.7.1 → 2.7.2

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/keys.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IfEquals, IfCompatible, IfUndefined, IfAny, IfJson } from './type-check';
1
+ import { IfEquals, IfCompatible, IfUndefined, IfAny, IfJson, IfNull } from './type-check';
2
2
 
3
3
  /**
4
4
  * KeyOf
@@ -18,9 +18,9 @@ export type ValuesOf<T> = T[keyof T];
18
18
  */
19
19
  export type RequiredKeys<T> = _RequiredKeys<T>
20
20
  export type _RequiredKeys<T> = {
21
- [K in keyof T]-?: IfUndefined<T[K]> extends true
22
- ? never
23
- : T extends { [K1 in K]: any } ? K : never
21
+ [K in keyof T]-?: IfUndefined<T[K]> extends true ? never
22
+ : T extends { [K1 in K]: any } ? K
23
+ : never
24
24
  }[keyof T];
25
25
 
26
26
  /**
@@ -29,9 +29,9 @@ export type _RequiredKeys<T> = {
29
29
  */
30
30
  export type OptionalKeys<T> = _OptionalKeys<T>
31
31
  export type _OptionalKeys<T> = {
32
- [K in keyof T]-?: IfUndefined<T[K]> extends true
33
- ? never
34
- : T extends { [K1 in K]: any } ? never : K
32
+ [K in keyof T]-?: IfUndefined<T[K]> extends true ? never
33
+ : T extends { [K1 in K]: any } ? never
34
+ : K
35
35
  }[keyof T];
36
36
 
37
37
 
@@ -49,10 +49,8 @@ export type ReadonlyKeys<T> = {
49
49
  export type JsonKeys<T> = _JsonKeys<T>;
50
50
  type _JsonKeys<T, J = Required<T>> = ValuesOf<{
51
51
  [K in keyof J]: K extends symbol ? never
52
- : IfUndefined<J[K]> extends true
53
- ? never
54
- : IfJson<J[K]> extends true
55
- ? K
52
+ : IfNull<J[K]> extends true ? K
53
+ : IfJson<Exclude<J[K], undefined>> extends true ? K
56
54
  : never
57
55
 
58
56
  }>;
@@ -77,23 +75,22 @@ export type WritableJsonKeys<T> = Extract<{
77
75
  */
78
76
  export type FunctionKeys<T> = ValuesOf<{
79
77
  [K in keyof T]-?: IfUndefined<T[K]> extends false ?
80
- IfAny<T[K]> extends false ?
81
- T[K] extends Function ? K
78
+ IfAny<T[K]> extends false
79
+ ? T[K] extends Function ? K
82
80
  : never : never : never;
83
81
  }>;
84
82
 
85
83
  /**
86
84
  * @desc Returns non function keys of an object
87
85
  */
88
- export type NonFunctionKeys<T> = ValuesOf<{
86
+ export type NonFunctionKeys<T> = ValuesOf<{
89
87
  [K in keyof T]-?: IfUndefined<T[K]> extends false ?
90
- IfAny<T[K]> extends false ?
91
- T[K] extends Function ? never
88
+ IfAny<T[K]> extends false
89
+ ? T[K] extends Function ? never
92
90
  : K : K : K;
93
91
  }>;
94
92
 
95
93
 
96
-
97
94
  /**
98
95
  * @desc Returns keys that match given type
99
96
  */
@@ -1,4 +1,4 @@
1
- import {Primitive, Type} from './common';
1
+ import { Primitive, Type } from './common';
2
2
 
3
3
  type NonObj = Primitive | Function;
4
4
 
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "lodash",
13
13
  "underscore"
14
14
  ],
15
- "version": "2.7.1",
15
+ "version": "2.7.2",
16
16
  "types": "lib/index.d.ts",
17
17
  "main": "lib/index.js",
18
18
  "module": "lib/index.js",
@@ -32,10 +32,10 @@
32
32
  "lib/"
33
33
  ],
34
34
  "devDependencies": {
35
- "@types/jest": "^29.5.4",
36
- "eslint": "^8.49.0",
35
+ "@types/jest": "^29.5.11",
36
+ "eslint": "^8.55.0",
37
37
  "jest": "^29.7.0",
38
38
  "ts-jest": "^29.1.1",
39
- "typescript": "^5.2.2"
39
+ "typescript": "^5.3.3"
40
40
  }
41
41
  }