import { Identity } from "../hkt"; import { $Exists } from "../hkt/list"; import { IsEmpty, List } from "../list"; /** * gets the boolean OR of booleans `A` and `B` * * @remarks * does not distribute over `A` or `B` * * @undefined_behavior `A` is `any`, `unknown`, `never`, or `boolean` * @undefined_behavior `B` is `any`, `unknown`, `never`, or `boolean` * * @since 0.0.2 * * @example * ```ts * type e0 = Or // true * type e1 = Or // true * type e2 = Or // true * type e3 = Or // false * ``` */ export type Or = [ A ] extends [true] ? true : [B] extends [true] ? true : false; export declare namespace Or { /** * gets the boolean OR of booleans `A` and `B` * * @remarks * distributes over `A` and `B` * * @undefined_behavior `A` is `any`, `unknown`, `never`, or `boolean` * @undefined_behavior `B` is `any`, `unknown`, `never`, or `boolean` * * @since 0.0.9 */ type Distributive = A extends true ? true : B extends true ? true : false; /** * unbounded logical OR * * @undefined_behavior an element is `any`, `unknown`, `never`, or `boolean` * * @since 0.0.9 */ type Unbounded, Vacuous = false> = IsEmpty extends true ? Vacuous : $Exists, L>; } //# sourceMappingURL=or.d.ts.map