type-fest/source/if-never.d.ts
Tommy 4045737499
Add IsX/IfX types for any/never/unknown (#564)
Co-authored-by: Sindre Sorhus <sindresorhus@gmail.com>
2023-04-06 00:07:21 +09:00

25 lines
498 B
TypeScript

import type {IsNever} from './is-never';
/**
An if-else-like type that resolves depending on whether the given type is `never`.
@see {@link IsNever}
@example
```
import type {IfNever} from 'type-fest';
type ShouldBeTrue = IfNever<never>;
//=> true
type ShouldBeBar = IfNever<'not never', 'foo', 'bar'>;
//=> 'bar'
```
@category Type Guard
@category Utilities
*/
export type IfNever<T, TypeIfNever = true, TypeIfNotNever = false> = (
IsNever<T> extends true ? TypeIfNever : TypeIfNotNever
);