import { IsNever } from "./never"; import { Not } from "./not"; type _IsUnion = IsNever extends true ? false : T extends U ? Not>> : false; /** * Returns a boolean whether the passed argument is a union * @example * ```ts * // true * type Case1 = IsUnion<'a' | 'b'> * // false * type Case2 = IsUnion<'a'> * ``` */ export type IsUnion = _IsUnion;