expression-processor
v1.0.2
Published
EP will convert string of condition to boolean value
Downloads
3
Maintainers
Readme
Expression Processor
Expression Processor - like its name - is an evaluator (or filter) for an input string. It can parse a string of condition and return true
or false
depend on key value of the choosen user in the database.
Installation
npm i expression-processor
or yarn add expression-processor
Testing
EP provides some sample cases to be run with jest
. For testing, please install jest
by npm i jest --save-dev
or yarn add jest --dev
and then npm test
or yarn test
.
Usage
- Write down a condition to check (with parentheses). For example, we want to check the type of the phone, the OS and email suffix:
(deviceName == iPhone && phoneOs == IOS && email <matches-regex> @yahoo.com)
- Import the suitable user info
- Execute!!!
Example
Considered the mentioned condition. This is how we use it:
const Run = require("./index");
const condition =
"(deviceName == iPhone && phoneOs == iOS && email <matches-regex> @yahoo.com)";
const userInfo = {
deviceName: "iPhone",
phoneOs: "iOS",
email: "[email protected]",
};
console.log(Run(userInfo, condition)); // return false
Supported operators/filters
| Operator/Filter | Description |
| :----------------: | :----------------------: |
| ||
| OR |
| &&
| AND |
| !
| NOT |
| ()
| Parentheses |
| ==
| EQUAL_TO |
| !=
| NOT_EQUAL_TO |
| <
| LESS_THAN |
| <=
| LESS_THAN_OR_EQUAL_TO |
| >
| GREATER_THAN |
| >=
| GREATER_THAN_OR_EQUAL_TO |
| <contains>
| CONTAINS: |
| <array-contains>
| ARRAY_CONTAINS |
| <in>
| IN |
| <begins-with>
| BEGINS_WITH |
| <ends-with>
| ENDS_WITH |
| <matches-regex>
| MATCHES_REGEX |