(self: boolean, that: boolean): booleanEquivalence instance for booleans using strict equality (===).
When to use
Use when checking boolean equality through APIs that accept an equivalence relation.
Example (Comparing booleans for equivalence)
import { Boolean } from "effect"
console.log(Boolean.Equivalence(true, true)) // true
console.log(Boolean.Equivalence(true, false)) // falseexport const const Equivalence: Equ.Equivalence<boolean>Equivalence instance for booleans using strict equality (===).
When to use
Use when checking boolean equality through APIs that accept an equivalence
relation.
Example (Comparing booleans for equivalence)
import { Boolean } from "effect"
console.log(Boolean.Equivalence(true, true)) // true
console.log(Boolean.Equivalence(true, false)) // false
Equivalence: import EquEqu.type Equivalence<in A> = (
self: A,
that: A
) => boolean
Represents an equivalence relation over type A.
When to use
Use as a type annotation when you accept or return an equivalence function.
Details
- Returns
boolean: true if values are equivalent, false otherwise
- Must satisfy reflexive, symmetric, and transitive properties
Example (Defining simple number equivalence)
import type { Equivalence } from "effect"
const numberEq: Equivalence.Equivalence<number> = (a, b) => a === b
console.log(numberEq(1, 1)) // true
console.log(numberEq(1, 2)) // false
Example (Defining custom object equivalence)
import type { Equivalence } from "effect"
interface Point {
x: number
y: number
}
const pointEq: Equivalence.Equivalence<Point> = (a, b) =>
a.x === b.x && a.y === b.y
console.log(pointEq({ x: 1, y: 2 }, { x: 1, y: 2 })) // true
Equivalence<boolean> = import EquEqu.const Boolean: Equivalence<boolean>Equivalence instance for booleans using strict equality (===).
When to use
Use when you need to supply boolean equality.
Example (Comparing booleans)
import { Equivalence } from "effect"
console.log(Equivalence.Boolean(true, true)) // true
console.log(Equivalence.Boolean(true, false)) // false
Boolean