The first boolean literal type (true or false).
The second boolean literal type (true or false).
type T_T = BoolAnd<true, true>; // true
type T_F = BoolAnd<true, false>; // false
type F_T = BoolAnd<false, true>; // false
type F_F = BoolAnd<false, false>; // false
// Useful for combining conditions
type HasBothFlags<T> = T extends { flagA: infer A, flagB: infer B }
? A extends boolean
? B extends boolean
? BoolAnd<A, B>
: false
: false
: false;
Performs a logical AND operation on two boolean literal types
AandB. This is the type-level equivalent of the JavaScript&&operator. Returnstrueonly when both operands aretrue.