PokéRogue
    Preparing search index...

    Type Alias LessThan<A, B>

    LessThan: GreaterThanOrEqual<A, B> extends infer Result
        ? Result extends true ? false : true
        : never

    Returns a boolean for whether a given number is less than another number.

    Type Parameters

    • A extends number
    • B extends number
    import type {LessThan} from 'type-fest';

    type A = LessThan<1, -5>;
    //=> false

    type B = LessThan<1, 1>;
    //=> false

    type C = LessThan<1, 5>;
    //=> true

    Note: If either argument is the non-literal number type, the result is boolean.

    import type {LessThan} from 'type-fest';

    type A = LessThan<number, 1>;
    //=> boolean

    type B = LessThan<1, number>;
    //=> boolean

    type C = LessThan<number, number>;
    //=> boolean
    import type {LessThan} from 'type-fest';

    // Use `LessThan` to constrain a function parameter to negative numbers.
    declare function setNegative<N extends number>(value: LessThan<N, 0> extends true ? N : never): void;

    setNegative(-1); // ✅ Allowed
    setNegative(-2); // ✅ Allowed

    // @ts-expect-error
    setNegative(0);

    // @ts-expect-error
    setNegative(1);