simple-evaluate
                                
                                
                                
                                    simple-evaluate copied to clipboard
                            
                            
                            
                        A safe parse for simple js expression
Simple Evaluate
A safe parse for simple js expression.
Usage
import evaluate from 'simple-evaluate';
evaluate(null, '12 + 1 > 14');
evaluate({ a }, 'a + 1 > 14');
Support operation include
- Math operator 
+ - * / % - ternary expression 
a ? b : c - Comparison 
> < >= <= == != === !== - Logical 
&& || ! - Negation
 
You can run those expression, for example:
evaluate({}, '!a > 0');
evaluate({}, 'a > 0 || a < -12 || 12 + 2*(4 + 4) < 12');
evaluate({ a: 1 }, '-a * 2');
context find
$. stand for the root value all context, value path only support '.', and not support function call.
since 1.2.0,
$.is optional. That mean$.a.bis equal toa.b
string and boolean
String and boolean support, string start with ' | ", just the same as javascript expression.
Boolean use two key words, true | false.
template string
You can use template string, just like the javascript syntax, for example.
evaluate({ a: 22 }, "`I am ${ a >= 18 ? 'adult' : 'child' }`").should.equal('I am adult');
Operation no support
- Funcion call
 
So, you can not run those expression
evaluation({}, 'a(1) > 0');