A library to evaluate simple logical expression using only these three logical operators: & (and), | (or), and ! (not).
npm install --save evalogic
import { evaluate } from 'evalogic';
evaluate('0'); // false
evaluate('1'); // true
evaluate('0|0'); // false
evaluate('1|0'); // true
evaluate('1|1'); // true
evaluate('1|1|0'); // true
evaluate('0&0'); // false
evaluate('1&0'); // false
evaluate('1&1'); // true
evaluate('1&1&0'); // false
evaluate('!0'); // true
evaluate('!1'); // false
evaluate('!0&0&1'); // false
evaluate('(0)'); // false
evaluate('(!0)'); // true
evaluate('(0)&(1)'); // false
evaluate('(0|1)&(!1)'); // false
evaluate('((1&1)&(1&0))&(1|0)'); // false
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
npm test
MIT