JohnArrowwood / expression-eval

JavaScript expression parsing and evaluation, safely.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

expression-eval

JavaScript expression parsing and evaluation, safely.

Powered by jsep.

Installation

npm install --save expression-eval

Parsing

const expr = require('expression-eval');
const ast = 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"
  }
}

Evaluation

const expr = require('expression-eval');
expr.eval('a + b / c', {a: 2, b: 2, c: 5}); // 0.8

Compilation

const expr = require('expression-eval');
const fn = expr.compile('foo.bar + 10');
fn({foo: {bar: 'baz'}}); // 'baz10'

License

MIT License.

About

JavaScript expression parsing and evaluation, safely.

License:MIT License


Languages

Language:JavaScript 100.0%