bool-expr-generator
A simple generator of boolean expressions.
Installation
NPM
npm install --save bool-expr-generator
Usage
;const boolGenerator = ;let expr = boolGenerator; // 'true && false' // You may pass an option object to the constructorconst boolGenerator = complexity: 3 operators: "||" "&&" "^" operatorsDisplayed: "^": "XOR" "&&": "AND" "||": "OR" logicalValues: true false 0 1 invertedValue: true;let expr = boolGenerator; // 'false XOR 1 OR true'// If cou customised the operatorsDisplayed option you can use the convert method to convert the expression into an evaluable oneconsole; // 'false ^ 1 || true'// Update options:boolGeneratoroptionscomplexity: 4;console; // true XOR 1 AND !0 OR !0 // You can also use a nested expression with or without its own optionsconst boolGenerator = logicalValues: true false BoolExpr // Note that it is advised to specify the logicalValues;let expr = boolGenerator; // 'false && (0 || 1)'
Option object
Key | Type | Default | Example | Description |
---|---|---|---|---|
complexity | integer | Array<integer> |
2 | 3 | [2, 4] |
Length of the expression, if an array is supplied the complexity will be a random value of it |
operators | Array<string> |
['\|\|', '&&'] |
['\|\|', '&&', '^'] |
The logical operators to be used |
operatorsDisplayed | Object |
{} |
{'^': 'XOR'} |
How the operators will be displayed in the expresssion |
logicalValues | Array |
[true, false] |
[0, 1, true, false] |
The logical values that can be included into the expression |
invertedValue | boolean | float |
false |
true | .3 |
Whether to add the inverted logical values or probability to have an inverted value for each logical values |