All files / Rindu/utils extractNestedObject.ts

50% Statements 2/4
100% Branches 0/0
0% Functions 0/2
33.33% Lines 1/3

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 12 13 14 15 16 1744x                                
export const extractNestedObject = <
  TValue extends Record<K, unknown>,
  TKey extends PropertyKey,
  K extends keyof TValue,
>(
  record: Record<TKey, TValue>,
  key: K
): Record<TKey, TValue[K]> => {
  return (Object.entries(record) as [TKey, TValue][]).reduce(
    (acc, [topLevelKey, value]) => ({
      ...acc,
      [topLevelKey]: value[key],
    }),
    {} as Record<TKey, TValue[K]>
  );
};