types(utils): pick type (#8179)

This commit is contained in:
neverland
2021-02-19 19:38:47 +08:00
committed by GitHub
parent d67031a98d
commit 8696f4ee70
4 changed files with 8 additions and 6 deletions
+2 -2
View File
@@ -38,9 +38,9 @@ export function get(object: any, path: string): any {
return result;
}
export function pick(obj: Record<string, any>, keys: string[]) {
export function pick<T, U extends keyof T>(obj: T, keys: ReadonlyArray<U>) {
return keys.reduce((ret, key) => {
ret[key] = obj[key];
return ret;
}, {} as Record<string, any>);
}, {} as Pick<T, U>);
}