Package: effect
Module: Redacted
Generates an equivalence relation for Redacted<A> values based on an
equivalence relation for the underlying values A. This function is useful
for comparing Redacted instances without exposing their contents.
When to use
Use when you need to compare wrapped secrets through an approved equality rule without exposing the underlying values at each comparison site.
Example (Comparing redacted values)
import { Equivalence, Redacted } from "effect"
import * as assert from "node:assert"
const API_KEY1 = Redacted.make("1234567890")
const API_KEY2 = Redacted.make("1-34567890")
const API_KEY3 = Redacted.make("1234567890")
const equivalence = Redacted.makeEquivalence(Equivalence.strictEqual<string>())
assert.equal(equivalence(API_KEY1, API_KEY2), false)
assert.equal(equivalence(API_KEY1, API_KEY3), true)
Signature
declare const makeEquivalence: <A>(isEquivalent: Equivalence.Equivalence<A>) => Equivalence.Equivalence<Redacted<A>>
Since v4.0.0