JavaScript (TypeScript) math expression evaluator library
- git clone https://github.com/tsv2013/expression-evaluator.git
- cd expression-evaluator
- npm i
- npm test
- npm run build
var ee = new ExpressionEvaluator(); var res1 = ee.evaluate("6 / 2 + 1 + 2*2 - 5"); var res2 = ee.evaluate("false or false"); ExpressionEvaluator.operations["myFunc"] = { priority: 100, function: (a, b) => (a+b)/2 } ExpressionEvaluator.operations["mySq"] = { priority: 100, function: a => a*a } ExpressionEvaluator.operations["mySecond"] = { priority: 100, function: (a, b, c) => b } var ee = new ExpressionEvaluator(); var result = ee.evaluate("mySecond(5, myFunc(2,4), mySq(2))"); var ee = new ExpressionEvaluator(); var evaluationContext = { propertyName: 1 }; var result = ee.evaluate("{propertyName} + 1", evaluationContext);