All files / src/helpers ensure-has-all-keys.ts

100% Statements 6/6
100% Branches 2/2
100% Functions 2/2
100% Lines 5/5

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 141x   1x         436x   424x 12x      
import { GeneralError } from '@feathersjs/errors';
 
export default function ensureHasAllKeys<K extends string> (
  obj: Record<K, unknown>,
  keys: K[],
  identifier: string
): void {
  const missingKeys = keys.filter(key => !Object.prototype.hasOwnProperty.call(obj, key));
 
  if (missingKeys.length) {
    throw new GeneralError(`Missing keys: '${missingKeys.join(' ')}'! for ${identifier}`);
  }
}