evalogic
A library to evaluate simple logical expression using only these three logical operators: & (and), | (or), and ! (not).
Usage
Install
npm install --save evalogic
Import the evaluate
function
import { evaluate } from 'evalogic';
Evaluating Expression
Single value
evaluate('0'); // false
evaluate('1'); // true
OR expression
evaluate('0|0'); // false
evaluate('1|0'); // true
evaluate('1|1'); // true
evaluate('1|1|0'); // true
AND expression
evaluate('0&0'); // false
evaluate('1&0'); // false
evaluate('1&1'); // true
evaluate('1&1&0'); // false
NOT expression
evaluate('!0'); // true
evaluate('!1'); // false
Expression with parenthesis
evaluate('(0)'); // false
evaluate('(!0)'); // true
evaluate('(0)&(1)'); // false
evaluate('(0|1)&(!1)'); // false
evaluate('((1&1)&(1&0))&(1|0)'); // false
Invalid expression
evaluate('(0|0'); // throws Error: Invalid logical expression
evaluate(')0|0('); // throws Error: Invalid logical expression
evaluate('&0&0'); // throws Error: Invalid logical expression
evaluate('0&&0'); // throws Error: Invalid logical expression
evaluate('(0)(1)'); // throws Error: Invalid logical expression
Development
Tests
npm test
License
MIT