All files / src/object pickByKeys.ts

100% Statements 6/6
50% Branches 1/2
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 121x 2x   2x 4x 4x       2x    
export function pickByKeys<T, K extends keyof T, E>(keys: K[], data: T, extra?: E) {
    const result: Record<string, unknown> = {};
 
    keys.forEach(key => {
      Eif (key in data) {
        result[key as string] = data[key];
      }
    })
 
    return Object.assign(result as Pick<T, K>, extra);
  }