Boolean
Works with TypeScript boolean values.
This module exposes the native Boolean constructor together with helpers for checking values, choosing between lazy branches, combining booleans with logical operations, checking collections with every or some, ordering booleans, and reducing boolean values.
Combinators
Signature
declare const and: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Combines two booleans using EQV (aka XNOR): !xor(self, that).
When to use
Use to accept when both boolean operands have the same truth value.
Signature
declare const eqv: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Combines two booleans using an implication: (!self || that).
When to use
Use to model logical implication between a condition and a consequence.
Signature
declare const implies: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Combines two booleans using NAND: !(self && that).
When to use
Use to negate a logical AND result.
Signature
declare const nand: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Combines two booleans using NOR: !(self || that).
When to use
Use to accept only when both boolean operands are false.
Signature
declare const nor: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Negates the given boolean: !self
When to use
Use to invert a boolean value.
Signature
declare function not(self: boolean): boolean;Combines two booleans using OR: self || that.
When to use
Use to accept when either boolean operand is true.
Signature
declare const or: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Combines two booleans using XOR: (!self && that) || (self && !that).
When to use
Use to accept when exactly one boolean operand is true.
Signature
declare const xor: {
(that: boolean): (self: boolean) => boolean;
(self: boolean, that: boolean): boolean;
};Constructors
Exposes the global boolean constructor for JavaScript truthiness coercion.
When to use
Use to access native JavaScript truthiness coercion from the Effect module namespace.
Gotchas
This follows native truthiness rules. For example, non-empty strings such as "false" coerce to true.
Signature
declare const Boolean: BooleanConstructor;Guards
Instances
Equivalence
Equivalence instance for booleans using strict equality (===).
When to use
Use when checking boolean equality through APIs that accept an equivalence relation.
Signature
declare const Equivalence: Equ.Equivalence<boolean>;Provides an Order instance for boolean that allows comparing and sorting boolean values. In this ordering, false is considered less than true.
When to use
Use when you need to sort or compare boolean values through APIs that accept an ordering instance where false comes before true.
Signature
declare const Order: order.Order<boolean>;Math
ReducerAnd
Reducer for combining booleans using AND.
When to use
Use to require every accumulated boolean to be true through APIs that consume a Reducer.
Details
The initialValue is true, so combineAll([]) returns true.
Gotchas
combineAll uses the default left-to-right Reducer.make fold and does not short-circuit on false.
See
Signature
declare const ReducerAnd: Reducer.Reducer<boolean>;Reducer for combining booleans using OR.
When to use
Use to reduce boolean values where the result should be true if any combined value is true.
Details
The initialValue is false.
See
ReducerAndfor reducing with AND semanticssomefor checking an iterable directly
Signature
declare const ReducerOr: Reducer.Reducer<boolean>;Pattern Matching
Chooses between two lazy branches based on a boolean value.
When to use
Use to choose between two lazy branches based on a boolean value.
Signature
declare const match: {
<A, B = A>(options: {
readonly onFalse: LazyArg<A>;
readonly onTrue: LazyArg<B>;
}): (value: boolean) => A | B;
<A, B>(
value: boolean,
options: {
readonly onFalse: LazyArg<A>;
readonly onTrue: LazyArg<B>;
},
): A | B;
};Predicates
Checks whether every boolean in a collection is true.
When to use
Use to check that every boolean in an iterable is true.
See
somefor checking whether at least one value istrueReducerAndfor reducing booleans with AND through aReducer
Signature
declare function every(collection: Iterable<boolean>): boolean;Checks whether at least one boolean in a collection is true.
When to use
Use to check that at least one boolean in an iterable is true.
See
Signature
declare function some(collection: Iterable<boolean>): boolean;
Combines two booleans using logical AND:
self && that.When to use
Use to require both boolean operands to be
true.Details
Supports both data-first and data-last forms.