JavaScript expression parsing and evaluation, safely.
Powered by jsep.
npm install --save expression-eval
constexpr=require('expression-eval');constast=expr.parse('1 + foo');The result of the parse is an AST (abstract syntax tree), like:
{
"type": "BinaryExpression",
"operator": "+",
"left": {
"type": "Literal",
"value": 1,
"raw": "1"
},
"right": {
"type": "Identifier",
"name": "foo"
}
}constexpr=require('expression-eval');constast=expr.parse('a + b / c');// abstract syntax tree (AST)constvalue=expr.eval(ast,{a: 2,b: 2,c: 5});// 2.4constexpr=require('expression-eval');constfn=expr.compile('foo.bar + 10');fn({foo: {bar: 'baz'}});// 'baz10'MIT License.