extra-boolean
v1.11.0
Published
Boolean data type has two possible truth values to represent logic.
Downloads
312
Maintainers
Readme
Boolean data type has two possible truth values to represent logic. 📦 Node.js, 🌐 Web, 📜 Files, 📰 Docs. 📘 Wiki.
A boolean data type has two possible truth values, usually represented as
true
or false
. It is named after George Boole, who first defined an
algebraic system of logic in the mid 19th century (REF). Boolean
functions can be used to perform logical operations in computer programming,
such as in conditional statements, loops, and branching, to compare input values
with a set of rules to determine the output.
This is a collection of common boolean functions. It includes
the basic gates not, and, or, xor; their complements nand, nor,
xnor; and 2 propositional logic (taught in discrete mathematics) gates
imply, eq; and their complements nimply, neq. There is also a
multiplexer, called select, and a true
counter, called count. count
can help you make custom gates, such as an alternate concept of xnor
which returns true
only if all inputs are the same (standard xnor returns
true
if even inputs are true
). These gates can handle up to eight inputs.
The parse function is influenced by (boolean) package, and is quite good at
translating string
to boolean
. It can also handle double negatives, eg.
not inactive
. You know the and of 2-inputs, but what of 1-input? What of 0?
And what of the other gates? I answer them here.
This package is available in Node.js and Web formats. To use it on the web,
simply use the extra_boolean
global variable after loading with a <script>
tag from the jsDelivr CDN.
Stability: Experimental.
const xboolean = require('extra-boolean');
// import * as xboolean from "extra-boolean";
// import * as xboolean from "https://unpkg.com/extra-boolean/index.mjs"; (deno)
xboolean.parse('1');
xboolean.parse('not off');
xboolean.parse('truthy');
// → true
xboolean.parse('not true');
xboolean.parse('inactive');
xboolean.parse('disabled');
// → false
xboolean.imply(true, false);
// → false
xboolean.eq(false, false);
// → true
xboolean.xor(true, true, true);
// → true
xboolean.select(1, true, false, true);
// → false ^
xboolean.count(true, false, true);
// → 2 ^ ^
Index
| Property | Description | | ---- | ---- | | is | Check if a value is boolean. | | parse | Convert a string to boolean. | | | | | not | Check if a boolean is false. | | imply | Check if antecedent ⇒ consequent. | | nimply | Check if antecedent ⇏ consequent. | | eq | Check if antecedent ⇔ consequent. | | neq | Check if antecedent ⇎ consequent. | | | | | and | Check if all booleans are true. | | nand | Check if any boolean is false. | | or | Check if any boolean is true. | | nor | Check if all booleans are false. | | xor | Check if odd number of booleans are true. | | xnor | Check if even number of booleans are true. | | | | | count | Count number of true booleans. | | select | Check if iᵗʰ boolean is true. |