Type Alias IsNotPositive<T, $O>

IsNotPositive<T, $O>: IsBigint<T, {
        $else: $Else;
        $then: $Then;
        distributive: $O["distributive"];
    }> extends infer R
    ? R extends $Then
        ? NumberPlus.IsNotPositive._Negative<T, bigint, $O>
        : IsNumber<Exclude<T, bigint>, {
                $else: $Else;
                $then: $Then;
                distributive: $O["distributive"];
            }> extends infer R
            ? R extends $Then
                ? NumberPlus.IsNotPositive._Negative<T, number, $O>
                : $ResolveBranch<Exclude<T, number | bigint>, $O, [$Then]>
            : never
    : never

Is T not a positive numeric type.

type R = IsNotPositive<-1> // true
type R = IsNotPositive<-1n> // true

type R = IsNotPositive<0> // false
type R = IsNotPositive<1> // false

type R = IsNotPositive<number> // boolean
type R = IsNotPositive<bigint> // boolean
type R = IsNotPositive<any> // boolean

Type Parameters