1.1.1 • Published 8 years ago
morph-expressions v1.1.1
morph-expressions
An extremely efficient and flexible parser for Math or Logical expression using Javascript. It has all the basic functions supported with extensive support for new functions, variable etc.
##Install
$ npm install morph-expressions
Usage
import Parser from 'morph-expressions';
const parser = new Parser();
const compiled = parser.parse('1 + 1');
compiled.eval(); // returns 2
You can also specify scope
:
const compiled = parser.parse('x + 1 - y == 0');
compiled.identifiers; // ['x', 'y'] - returns list of identifiers, which used in expression
compiled.eval({ x: 2, y: 3 }); // returns true
//Or
parser.parseAndEval('x + 1 - y == 0', { x: 2, y: 3 }); // returns true
parser.parseAndEval('foo.bar[1] == 5', { foo: { bar: [4, 5, 6] } }); // returns true
For register the custom function or computed properties
parser.registerFunction('sqr', value => value * value);
parser.registerProperty('foo', scope => 'bar');
parser.parseAndEval('sqr(sqr(x))', { x: 2 }); // returns 16
parser.parseAndEval('foo', { x: 2 }); // returns 'bar'
Test
To execute tests for the library, install the project dependencies once:
npm install
Then, the tests can be executed:
npm test