Type Alias IsNotPositive<T, $O>

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