effect-io-ai

Package: effect
Module: Record

Record.makeEquivalence

Create an Equivalence for records using the provided Equivalence for values. Two records are considered equivalent if they have the same keys and their corresponding values are equivalent.

Example (Comparing records with a value equivalence)

import { Equal, Record } from "effect"
import * as assert from "node:assert"

const recordEquivalence = Record.makeEquivalence(Equal.asEquivalence<number>())

assert.deepStrictEqual(recordEquivalence({ a: 1, b: 2 }, { a: 1, b: 2 }), true)
assert.deepStrictEqual(recordEquivalence({ a: 1, b: 2 }, { a: 1, b: 3 }), false)

Signature

declare const makeEquivalence: <K extends string, A>(equivalence: Equivalence<A>) => Equivalence<ReadonlyRecord<K, A>>

Source

Since v4.0.0