effect-io-ai

Package: effect
Module: Equal

Equal.byReference

Creates a proxy that uses reference equality instead of structural equality.

When to use

Use when you need to compare a plain object or array by identity without mutating the original value.

Details

Example (Opting out of structural equality)

import { Equal } from "effect"

const a = { x: 1 }
const b = { x: 1 }

console.log(Equal.equals(a, b)) // true  (structural)

const aRef = Equal.byReference(a)
console.log(Equal.equals(aRef, b))    // false (reference)
console.log(Equal.equals(aRef, aRef)) // true  (same reference)
console.log(aRef.x)                   // 1     (proxy reads through)

See

Signature

declare const byReference: <T extends object>(obj: T) => T

Source

Since v4.0.0