logical-expression-parser
v1.0.2
Published
Logical expression parser and evaluates result, suitable for permissions management
Downloads
777
Maintainers
Readme
Logical Expression Parser
This is a logical expression parser for JavaScript, it can parse a logical expression into a AST object and evaluates the result using your token checking function.
Supported logical operators
|
Or&
And!
Not()
Parentheses
How it works
- The parser parse and tokenize the expression, for example one of your function requires
REGISTED&(SPECIAL|INVITED)
- Parser then will pass
REGISTED
,SPECIAL
andINVITED
into your token checking function to get a boolean result - Finaly the parser will evaluates the final result
Example
const LEP = require('logical-expression-parser');
const REQUIREMENTS = 'REGISTED&(SPECIAL|INVITED)';
const LIST_A = ['REGISTED', 'INVITED'];
const LIST_B = ['SPECIAL', 'EXPERT'];
const RESULT_A = LEP.parse(REQUIREMENTS, t => LIST_A.indexOf(t) > -1);
const RESULT_B = LEP.parse(REQUIREMENTS, t => LIST_B.indexOf(t) > -1);
// RESULT_A: true
// RESULT_B: false