import type {GreaterThan} from './greater-than.d.ts'; /** Returns a boolean for whether a given number is greater than or equal to another number. @example ``` import type {GreaterThanOrEqual} from 'type-fest'; type A = GreaterThanOrEqual<1, -5>; //=> true type B = GreaterThanOrEqual<1, 1>; //=> true type C = GreaterThanOrEqual<1, 5>; //=> false ``` Note: If either argument is the non-literal `number` type, the result is `boolean`. @example ``` import type {GreaterThanOrEqual} from 'type-fest'; type A = GreaterThanOrEqual; //=> boolean type B = GreaterThanOrEqual<1, number>; //=> boolean type C = GreaterThanOrEqual; //=> boolean ``` @example ``` import type {GreaterThanOrEqual} from 'type-fest'; // Use `GreaterThanOrEqual` to constrain a function parameter to non-negative numbers. declare function setNonNegative(value: GreaterThanOrEqual extends true ? N : never): void; setNonNegative(0); // ✅ Allowed setNonNegative(1); // ✅ Allowed // @ts-expect-error setNonNegative(-1); // @ts-expect-error setNonNegative(-2); ``` */ export type GreaterThanOrEqual = number extends A | B ? boolean : A extends number // For distributing `A` ? B extends number // For distributing `B` ? A extends B ? true : GreaterThan : never // Should never happen : never; // Should never happen export {};