Package: effect
Module: Data
Provides a constructor for the specified Case.
Example
import * as assert from "node:assert"
import { Data, Equal } from "effect"
interface Person {
readonly name: string
}
// Creating a constructor for the specified Case
const Person = Data.case<Person>()
// Creating instances of Person
const mike1 = Person({ name: "Mike" })
const mike2 = Person({ name: "Mike" })
const john = Person({ name: "John" })
// Checking equality
assert.deepStrictEqual(Equal.equals(mike1, mike2), true)
assert.deepStrictEqual(Equal.equals(mike1, john), false)
Signature
declare const case: <A>() => Case.Constructor<A>
Since v2.0.0