All files / node-checkfront/lib/bookings/schema index.js

91.67% Statements 11/12
50% Branches 1/2
100% Functions 2/2
91.67% Lines 11/12

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 17 18 19 20 21 22 23 242x 2x     2x 2x 2x     2x         2x 2x 2x 2x         2x  
const Ajv = require('ajv');
const getBooking = require('./getBooking');
 
function getAjvValidator(schema) {
  const ajv = new Ajv();
  const validator = ajv.compile(schema);
  return { ajv, validator };
}
 
const ajvValidators = {
  list: getAjvValidator(getBooking),
};
 
function validate(schema, data) {
  const { ajv, validator } = ajvValidators[schema];
  const valid = validator(data);
  Eif (valid) {
    return;
  }
  throw new Error(ajv.errorsText(validator.errors));
}
 
module.exports = validate;