rivo
Version:
🤖 The ultimate library you need for composable type-level programming in TypeScript, powered by HKT.
23 lines (20 loc) • 619 B
TypeScript
import type { Compare } from "./Compare";
import type { Arg0, Arg1, Fn } from "../HKT";
import type { AssertBool } from "../helpers";
import type { LT } from "../typeclass/Ord";
/**
* Check if `N` is greater than or equal to `M`.
*
* Sig: `(n: number, m: number) => boolean`
*/
export type GTE<N extends number, M extends number> = AssertBool<
Compare<N, M> extends LT ? false : true
>;
/**
* [Fn] Check if `n` is greater than or equal to `m`.
*
* Sig: `(n: number, m: number) => boolean`
*/
export default interface GTEFn extends Fn<[number, number], boolean> {
def: () => GTE<Arg0<this>, Arg1<this>>;
}