jsexpr
Version:
String and JSON expression interpolator and evaluator. Interpolates or evaluates a string against a json object, or transforms an object into another based on a json template
30 lines (27 loc) • 759 B
JavaScript
const
expression = require("../../lib/expression"),
Benchmark = require('benchmark');
var suite = new Benchmark.Suite;
// add tests
suite.
add('eval', function() {
let fn = expression.eval("(${a} + ${b.c}) / ${d.e}","eval")
fn({a:20,b:{c:15},d:{e:50}});
}).
add('itval', function() {
let fn = expression.eval("(${a} + ${b.c}) / ${d.e}","iteval")
fn({a:20,b:{c:15},d:{e:50}});
}).
add('ceval', function() {
let fn = expression.eval("(${a} + ${b.c}) / ${d.e}","ceval")
fn({a:20,b:{c:15},d:{e:50}});
}).
on('cycle', function(event) {
console.log(String(event.target));
}).
on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
}).
run({
'async': true
});