type-fest/test-d/is-equal.ts
Takahiro Kato e5a3a57ea0
Add IsEqual type (#522)
Co-authored-by: Sindre Sorhus <sindresorhus@gmail.com>
2022-12-25 23:56:16 +01:00

29 lines
868 B
TypeScript

import {expectError, expectType} from 'tsd';
import type {IsEqual} from '../index';
const notEqualNumberAndString: IsEqual<number, string> = false;
expectType<false>(notEqualNumberAndString);
const equalNumbers: IsEqual<1, 1> = true;
expectType<true>(equalNumbers);
const notEqualAnyAndNumber: IsEqual<any, number> = false;
expectType<false>(notEqualAnyAndNumber);
const notEqualUnionAndNumber: IsEqual<1 | 2, 1> = false;
expectType<false>(notEqualUnionAndNumber);
const notEqualAnyAndNever: IsEqual<any, never> = false;
expectType<false>(notEqualAnyAndNever);
const notEqualArrayOfAnyAndArrayOfNever: IsEqual<[any], [never]> = false;
expectType<false>(notEqualArrayOfAnyAndArrayOfNever);
declare const anything: any;
// Missing all generic parameters.
expectError<IsEqual>(anything);
// Missing `Y` generic parameter.
expectError<IsEqual<number>>(anything);