The first boolean literal type (true or false).
The second boolean literal type (true or false).
type T_T = BoolOr<true, true>; // true
type T_F = BoolOr<true, false>; // true
type F_T = BoolOr<false, true>; // true
type F_F = BoolOr<false, false>; // false
// Useful for fallback conditions
type HasAnyFlag<T> = T extends { flagA: infer A, flagB: infer B }
? A extends boolean
? B extends boolean
? BoolOr<A, B>
: A
: B extends boolean
? B
: false
: false;
Performs a logical OR operation on two boolean literal types
AandB. This is the type-level equivalent of the JavaScript||operator. Returnstruewhen at least one operand istrue.