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