API reference@evolu/commonRedacted › createEqRedacted

function createEqRedacted<A>(eq: Eq<A>): Eq<Redacted<A>>;

Defined in: packages/common/src/Redacted.ts:141

Creates an Eq for Redacted values based on an equality function for the underlying type.

Example

import {
  assertFalse,
  assertTrue,
  createEqRedacted,
  createRedacted,
  eqString,
  type Brand,
} from "@evolu/common";

type ApiKey = string & Brand<"ApiKey">;
const eqRedactedApiKey = createEqRedacted<ApiKey>(eqString);

// Apply brands only after validation or at another trusted boundary.
using a = createRedacted("x" as ApiKey);
using b = createRedacted("x" as ApiKey);
using c = createRedacted("y" as ApiKey);

assertTrue(eqRedactedApiKey(a, b));
assertFalse(eqRedactedApiKey(a, c));