File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed
Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -1287,3 +1287,17 @@ export async function asyncSome<T>(
12871287export function isDefined < T > ( value : T | null | undefined ) : value is T {
12881288 return value !== undefined && value !== null ;
12891289}
1290+
1291+ /** Like `Object.keys`, but infers the correct key type. */
1292+ export function keysTyped < T extends Record < string , any > > (
1293+ object : T ,
1294+ ) : Array < keyof T > {
1295+ return Object . keys ( object ) as Array < keyof T > ;
1296+ }
1297+
1298+ /** Like `Object.entries`, but infers the correct key type. */
1299+ export function entriesTyped < T extends Record < string , any > > (
1300+ object : T ,
1301+ ) : Array < [ keyof T , NonNullable < T [ keyof T ] > ] > {
1302+ return Object . entries ( object ) as Array < [ keyof T , NonNullable < T [ keyof T ] > ] > ;
1303+ }
You can’t perform that action at this time.
0 commit comments