ts-extras
Version:
Essential utilities for TypeScript projects
30 lines (23 loc) • 1.01 kB
TypeScript
import type { IsEqual } from 'type-fest';
/**
Check if two types are equal at compile time.
Returns a boolean type (`true` or `false`) at compile time based on whether the types are equal.
At runtime, this returns nothing (`void`) since it's purely a compile-time utility.
@example
```
import {isEqualType} from 'ts-extras';
// Type-level comparison
const result1 = isEqualType<string, string>(); // Type: true
const result2 = isEqualType<string, number>(); // Type: false
// Value-level comparison
const string1 = 'hello';
const string2 = 'world';
const number = 42;
const result3 = isEqualType(string1, string2); // Type: true (both strings)
const result4 = isEqualType(string1, number); // Type: false (different types)
```
@note The runtime value is `void`. This function is designed for compile-time type checking only, not runtime behavior.
@category Type guard
*/
export declare function isEqualType<A, B>(): IsEqual<A, B>;
export declare function isEqualType<A, B>(a: A, b: B): IsEqual<A, B>;