Skip to content

Latest commit

 

History

History
31 lines (22 loc) · 723 Bytes

File metadata and controls

31 lines (22 loc) · 723 Bytes

Home > types-kit > IsEquals

IsEquals type

if A equals B, return true, else return false.

Signature:

export type IsEquals<A, B> = (<T>() => T extends A ? 1 : 2) extends <
  T,
>() => T extends B ? 1 : 2
  ? true
  : false

Example

 // Expect: false
 type Foo = IsEquals<1, number>
 // Expect: true
 type Bar = IsEquals<1, 1>
 // notice: The intersection type could not be matched
 // IsEquals<{a: 1} & { b: 2 }, { a:1, b: 2 }> // false
 // IsEquals<Simplify<{a: 1} & { b: 2 }>, { a:1, b: 2 }> // true