lib-jsl
Version:
JSL is a JSON based logic programming library meant for embedded use
50 lines (44 loc) • 1.19 kB
JavaScript
var JSL = require('../../..');
var ruleset = [
[ { result : '$x' },
{ $call : [ 'extend',
{ a : 1, b : 2 },
{ c : 3, d : 4 },
['$x']
]}
],
[ { result : '$x' },
{ $call : [ 'extend',
{ a : 1, b : 2 },
{ a : 3, d : 4 }, // <-- a will be set to 3
['$x']
]}
],
[ { result : '$x' },
{ $call : [ 'extend',
{ a : { x : 'a', y : 'q'} , b : 2 },
{ a : 3, d : 4 }, // <-- a will be set to 3
['$x']
]}
],
[ { result : '$x' },
{ $call : [ 'extend',
{ a : 3, d : 4 },
{ a : { x : 'a', y : 'q'} , b : 2 }, // <-- a will be set to {x:'a', y:'b'}
['$x']
]}
],
/* extend will not work with arrays */
[ { result : '$x' },
{ $call : [ 'extend',
[1,2,3],
[4,5,6],
['$x']
]}
]
];
var query = [{result : '$result'}];
var transform = '$result';
var jsl = new JSL ({rules : ruleset, query: query, transform : transform});
var response = jsl.run();
module.exports = response;