UNPKG

lib-jsl

Version:

JSL is a JSON based logic programming library meant for embedded use

47 lines (37 loc) 1.24 kB
var JSL = require('../../jsl.js'); var validator = require('../../validator.js'); var rules = [ [{ tool : { name : 'hammer', color : 'red' } }], [{ tool : { name : 'hammer', color : 'blue' } }], [{ tool : { name : 'hammer', color : 'green' } }], [{ tool : { name : 'ratchet', color : 'red' } }], [{ tool : { name : 'ratchet', color : 'blue' } }], [{ tool : { name : 'ratchet', color : 'green' } }], /*[ { toolSet : '$toolSet' }, { $query : [ [{tool : { name : 'hammer', color : '$color'}}], '$toolSet' ] } ]*/ [ { hammers : '$tool'}, { tool : '$tool'}, { $bind : [ '$tool', { name : 'hammer' } ] } ] ]; //console.log(JSON.stringify(rules, null, 2)); if (!validator.validateJsl(rules)) { console.log('rules validation failed'); process.exit(); } var callbacks = {}; //var query = [{tool : '$tool'}, { bind : [ '$tool', { color : 'red'} ] } ]; //var transform = '$tool'; var query = [{ hammers : '$hammers'}]; var transform = '$hammers'; var jsl = new JSL ({ rules : rules, query : query, transform : transform, callbacks : callbacks }); var retval = jsl.run(); console.log(JSON.stringify(retval, null,2));