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; |