effect-io-ai

Package: effect
Module: Data

Data.case

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>

Source

Since v2.0.0