All files / src/walk predWalker.js

0% Statements 0/9
0% Branches 0/2
0% Functions 0/3
0% Lines 0/9
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                                                 
var fnName = require( '../utils/fnName' );
var Problem = require( '../models/Problem' );
 
function predWalker( clause ) {
  return {
    trailblaze: predTraiblaze,
    reconstruct: predReconstruct,
  }
 
  function predTraiblaze( x ) {
    var predFn = clause.exprs[ 0 ];
    if ( !predFn( x ) ) {
      return new Problem( x, clause, [], 'Predicate ' + fnName( predFn ) + '() returns false' );
    } else {
      return x;
    }
  }
 
  function predReconstruct( x ) {
    return x;
  }
}
 
module.exports = predWalker;