type-plus
    Preparing search index...

    Type Alias IsNotInteger<T, $O>

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

    Is T not an integer, including bigint.

    import type { IsNotInteger } from 'type-plus'

    type R = IsNotInteger<1.1> // true
    type R = IsNotInteger<number> // true as it contains non-integer

    type R = IsNotInteger<0> // false
    type R = IsNotInteger<1n> // false

    Type Parameters