Have ideas to improve npm?Join in the discussion! »

    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

    Install

    npm i boole

    DownloadsWeekly Downloads

    6

    Version

    0.2.2

    License

    MIT

    Unpacked Size

    7.22 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar