/** * checks if number `N` is an integer * * @warning "numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers.ts(80008)" * * @since 0.0.2 * * @todo since all issues are with false positives maybe just Not? * * @example * ```ts * type e0 = IsInteger // never * type e1 = IsInteger // false * type e2 = IsInteger<0> // true * type e3 = IsInteger<1> // true * type e4 = IsInteger<-1> // true * type e5 = IsInteger<0.1> // false * type e6 = IsInteger<-0.1> // false * type e7 = IsInteger<9007199254740992> // true * type e8 = IsInteger<-9007199254740992> // true * * type w0 = IsInteger<9007199254740992.1> // true * ``` */ export type IsInteger = `${N}` extends (infer S extends string) ? `${number}` extends S ? false : S extends `${number}.${number}` ? false : true : false; /** * @since 0.0.2 */ export type IsIntegerNumber = T extends number ? IsInteger : false; //# sourceMappingURL=is-integer.d.ts.map