Package: effect
Module: Record
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>>
Since v4.0.0