All files / src/utils isValid.js

0% Statements 0/12
0% Branches 0/6
0% Functions 0/1
0% Lines 0/12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19                                     
var isProblem = require( './isProblem' );
var isPred = require( './isPred' );
var isClause = require( './isClause' );
var conform = require( './conform' );
 
function isValid( expr, x ) {
  if ( !expr ) {
    throw new Error( 'Clause is required' );
  } else if ( isClause( expr ) ) {
    return !( isProblem( conform( expr, x ) ) );
  } else if ( isPred( expr ) ) {
    return expr( x );
  } else {
    return true;
  }
}
 
module.exports = isValid;