effect-io-ai

Package: effect
Module: Equivalence

Equivalence.Equivalence

Represents an equivalence relation over type A.

When to use

Use as a type annotation when you accept or return an equivalence function.

Details

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

See

Signature

type Equivalence<A> = (self: A, that: A) => boolean

Source

Since v2.0.0