Hyperlinkv0.8.0-beta.28

Types

Types.EqualsWithtypeeffect/Types.ts:312
EqualsWith<A, B, Y, N>

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"
modelsEquals
Source effect/Types.ts:3121 lines
export type EqualsWith<A, B, Y, N> = (<T>() => T extends A ? 1 : 2) extends (<T>() => T extends B ? 1 : 2) ? Y : N
Referenced by 4 symbols