effect-io-ai

Package: effect
Module: Types

Types.EqualsWith

Determines if two types are equal, returning custom types for each case.

When to use

Use when you need a type-level if/else based on type equality.

Details

Returns Y when A and B are equal, N otherwise.

Example (Choosing a conditional type based on equality)

import type { Types } from "effect"

type R1 = Types.EqualsWith<string, string, "same", "diff"> // "same"
type R2 = Types.EqualsWith<string, number, "same", "diff"> // "diff"

See

Signature

type EqualsWith<A, B, Y, N> = (<T>() => T extends A ? 1 : 2) extends (<T>() => T extends B ? 1 : 2) ? Y : N

Source

Since v3.15.0