Hyperlinkv0.8.0-beta.28

Chunk

Chunk.makeEquivalenceconsteffect/Chunk.ts:170
<A>(isEquivalent: Equivalence.Equivalence<A>): Equivalence.Equivalence<
  Chunk<A>
>

Creates an Equivalence for chunks that compares chunk lengths and then compares corresponding elements with the provided element equivalence.

Example (Comparing chunks for equivalence)

import { Chunk, Equivalence } from "effect"

const chunk1 = Chunk.make(1, 2, 3)
const chunk2 = Chunk.make(1, 2, 3)
const chunk3 = Chunk.make(1, 2, 4)

const eq = Chunk.makeEquivalence(Equivalence.strictEqual<number>())
console.log(eq(chunk1, chunk2)) // true
console.log(eq(chunk1, chunk3)) // false
instances
Source effect/Chunk.ts:1704 lines
export const makeEquivalence = <A>(isEquivalent: Equivalence.Equivalence<A>): Equivalence.Equivalence<Chunk<A>> =>
  Equivalence.make((self, that) =>
    self.length === that.length && toReadonlyArray(self).every((value, i) => isEquivalent(value, getUnsafe(that, i)))
  )
Referenced by 2 symbols