Hyperlinkv0.8.0-beta.28

Tuple

Tuple.makeEquivalenceconsteffect/Tuple.ts:549
<const Elements extends ReadonlyArray<Equivalence.Equivalence<any>>>(
  elements: Elements
): Equivalence.Equivalence<{
  readonly [I in keyof Elements]: [Elements[I]] extends [
    Equivalence.Equivalence<infer A>
  ]
    ? A
    : never
}>

Creates an Equivalence for tuples by comparing corresponding elements using the provided per-position Equivalences. Two tuples are equivalent when all their corresponding elements are equivalent.

When to use

Use when you need an Equivalence to compare tuples element-by-element.

Details

This is an alias of Equivalence.Tuple.

Example (Comparing tuples for equivalence)

import { Equivalence, Tuple } from "effect"

const eq = Tuple.makeEquivalence([
  Equivalence.strictEqual<string>(),
  Equivalence.strictEqual<number>()
])

console.log(eq(["Alice", 30], ["Alice", 30])) // true
console.log(eq(["Alice", 30], ["Bob", 30]))   // false
instancesmakeOrder
Source effect/Tuple.ts:5491 lines
export const makeEquivalence = Equivalence.Tuple