Type Alias IfNever<T, TypeIfNever, TypeIfNotNever>

IfNever: IsNever<T> extends true ? TypeIfNever : TypeIfNotNever

An if-else-like type that resolves depending on whether the given type is never.

Type Parameters

  • T
  • TypeIfNever = true
  • TypeIfNotNever = false
import type {IfNever} from 'type-fest';

type ShouldBeTrue = IfNever<never>;
//=> true

type ShouldBeBar = IfNever<'not never', 'foo', 'bar'>;
//=> 'bar'