effect-io-ai

Package: effect
Module: Types

Types.Equals

Determines if two types are exactly equal at the type level.

When to use

Use to assert type equality in conditional types or type-level tests.

Details

Example (Checking type equality)

import type { Types } from "effect"

type Yes = Types.Equals<{ a: number }, { a: number }> // true
type No = Types.Equals<{ a: number }, { a: string }> // false
type AnyCheck = Types.Equals<any, string> // false

See

Signature

type Equals<X, Y> = (<T>() => T extends X ? 1 : 2) extends <
  T
>() => T extends Y ? 1 : 2 ? true
  : false

Source

Since v2.0.0