1.3.3 • Published 2 years ago

@welingtonms/logical v1.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

logical

Coverage Status npm package Run tests

I have always been fascinated by the simplicity of logical operations and how you can express complex logical structures using it.

That's why I wrote this library, to provides a toolset to perform and chain logical operations.

It follows Javascript's default truthy and falsy definitions.

Instalation

You can add this hook as a dependency by running npm install @welingtonms/logical or yarn add @welingtonms/logical.

Supported operations

AND

  • Accepts multiple parameters. Evaluation occurs from left to right.
import { and } from '@welingtonms/logical';

and( true, true, true ); // true
and( true, false ); // false
ABOutput
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

OR

  • Accepts multiple parameters. Evaluation occurs from left to right.
import { or } from '@welingtonms/logical';

or( false, false, true ); // true
or( false, false ); // false
ABOutput
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

XOR

  • Accepts two parameters.
import { xor } from '@welingtonms/logical';

xor( true, false ); // true
xor( false, false ); // false
ABOutput
truetruefalse
truefalsetrue
falsetruetrue
falsefalsefalse

NOT

  • Accepts one parameter.
import { not } from '@welingtonms/logical';

xor( true, false ); // true
xor( false, false ); // false
ABOutput
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

NAND

  • Accepts multiple parameters. Evaluation occurs from left to right.
import { nand } from '@welingtonms/logical';

nand( true, true, true ); // true
nand( true, false ); // false
ABOutput
truetruefalse
truefalsetrue
falsetruetrue
falsefalsetrue

NOR

  • Accepts multiple parameters. Evaluation occurs from left to right.
import { nor } from '@welingtonms/logical';

nor( true, true, true ); // true
nor( true, false ); // false
ABOutput
truetruefalse
truefalsefalse
falsetruefalse
falsefalsetrue

XNOR

  • Accepts two parameters.
import { xnor } from '@welingtonms/logical';

xnor( true, false ); // true
xnor( false, false ); // false
ABOutput
truetruetrue
truefalsefalse
falsetruefalse
falsefalsetrue

Usage guide

You can also chain operations using default export logical.

First you need to call it with the appropriate initial value (which will depend on the operations you will perform).

When you are done chaining operations, you can call value() to get the result.

import logical from '@welingtonms/logical';

console.log( logical( true ).value() ); // true
console.log( logical( false ).value() ); // false

console.log( logical( true ).xor( false ).value() ); // true