All files / actions/validators index.js

12.5% Statements 1/8
0% Branches 0/2
0% Functions 0/2
12.5% Lines 1/8

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 24 25 26                        1x                          
import * as R from 'ramda';
 
import { cartLineItems } from './cart';
 
class SchemaValidationError extends Error {
  constructor (errors) {
    super('Invalid schema');
    this.name = 'SchemaValidationError';
    this.errors = errors;
  }
}
 
const schemaValidator = (validationFunction, payload) => {
  const { data, errors } = validationFunction(payload);
  if (!R.isEmpty(errors)) {
    throw new SchemaValidationError(errors);
  } else {
    return data;
  }
};
 
export {
  cartLineItems,
  schemaValidator
};