// @ts-ignore - Only used in doc comments import type { Nat } from "."; import type { Args, Fn } from "../../HKT"; import type { Every } from "../../List/Every"; import type IsDigitFn from "../../Str/IsDigit"; import type { ToChars } from "../../Str/ToChars"; import type { AssertBool } from "../../helpers"; /** * Check if a value is {@link Nat}. * * Sig: `(x: unknown) => boolean` */ export type IsNat = AssertBool< T extends string | number | bigint ? Every> : false >; /** * [Fn] Check if a value is {@link Nat}. * * Sig: `(x: unknown) => boolean` */ export default interface IsNatFn extends Fn<[unknown], boolean> { def: ([x]: Args) => IsNat; }