boole

0.2.2 • Public • Published

boole

chained logical conditions: and, or, not, xor

Usage

The following logical operators are available:

  • and
  • or
  • not
  • xor

A boole chain should always end with isTrue() or isFalse()

import boole from 'boole'
 
const x = 3
 
if (boole(< 4).and(> 10).isFalse()) {
  console.log('x is smaller than 4 AND greater than 10 is FALSE')
}
 
if (boole(< 4).or(> 10).isTrue()) {
  console.log('x is smaller than 4 OR greater than 10 is TRUE')
}
 
if (boole.not(> 10).isTrue()) {
  console.log('x is NOT greater than 10 is TRUE')
}
 
if (boole(< 4).xor(> 10).isTrue()) {
  console.log('if x is smaller then 4 is true, then x is greater than 10 is false, and viceversa')
}

Operators can be chained.

if (boole(< 4).and(> 1).or(> 10).isTrue()) {
  console.log('x is smaller that 4 AND x is greater than 1 OR greater than 10 is TRUE')
}

If first argument is omitted, expression can start with a negation.

if (boole().not(> 10).and(< 4).isTrue()) {
  console.log('x is NOT greater than 10 AND is smaller than 4 is TRUE')
}

It is possible to create truthy and falsy functions.

// Start from a given function.
const lowerThanFour = (x) => x < 4
 
// Create a truthy function.
const isLowerThanFour = boole(lowerThanFour).isTrue()
 
if (isLowerThanFour(3).isTrue()) {
  console.log('isLowerThanFour is a truthy function, 3 is lower than 4 is TRUE')
}
 
if (isLowerThanFour(10).isFalse()) {
  console.log('isLowerThanFour is a truthy function, 10 is lower than 4 is FALSE')
}
 
// Create a falsy function.
const isNotLowerThanFour = boole(lowerThanFour).isFalse()
 
if (isNotLowerThanFour(10).isTrue()) {
  console.log('isNotLowerThanFour is a falsy function, 10 is NOT lower than 4 is TRUE')
}
 
if (isNotLowerThanFour(3).isFalse()) {
  console.log('isNotLowerThanFour is a falsy function, 3 is NOT lower than 4 is FALSE')
}

License

MIT

Package Sidebar

Install

npm i boole

Weekly Downloads

0

Version

0.2.2

License

MIT

Unpacked Size

7.22 kB

Total Files

6

Last publish

Collaborators

  • fibo