@algosail/boolean
v0.1.0
Published
Small collection of FP utilities for working with boolean values.
Readme
@algosail/boolean
Boolean comparison functions with total ordering (false < true).
Contents
isBool
isBool :: a -> BooleanReturns true only for boolean primitives (true or false).
isBool(true) // => true
isBool(false) // => true
isBool(1) // => false
isBool('true') // => false
isBool(null) // => falseequals
equals :: Boolean -> Boolean -> BooleanTrue only when both values are booleans with the same value.
equals(true)(true) // => true
equals(false)(false) // => true
equals(true)(false) // => false
equals(true)(1) // => false — 1 is not a booleanlte / lt / gte / gt
lte :: Boolean -> Boolean -> Boolean
lt :: Boolean -> Boolean -> Boolean
gte :: Boolean -> Boolean -> Boolean
gt :: Boolean -> Boolean -> BooleanOrdering with false < true.
lte(false)(false) // => true
lte(false)(true) // => true
lte(true)(false) // => false
lt(false)(true) // => true
lt(true)(true) // => false
gte(true)(false) // => true
gt(true)(false) // => true
gt(false)(false) // => falsemin / max
min :: Boolean -> Boolean -> Boolean
max :: Boolean -> Boolean -> BooleanReturn the smaller or larger of two booleans.
min(true)(false) // => false
min(false)(false) // => false
max(true)(false) // => true
max(false)(false) // => falseclamp
clamp :: Boolean -> Boolean -> Boolean -> BooleanClamps a value between lo and hi.
clamp(false)(true)(false) // => false
clamp(false)(true)(true) // => true
// With identical bounds:
clamp(true)(true)(false) // => true
clamp(false)(false)(true) // => false