Num.Whole
Num / Whole
Import
import { Num } from '@wollybeard/kit'
// Access via namespace
Num.Whole.someFunction()import * as Num from '@wollybeard/kit/num'
// Access via namespace
Num.Whole.someFunction()Functions
[F] is
(value: unknown): booleanParameters:
value- The value to check
Returns: True if value is a whole number
Type predicate to check if value is a whole number. Returns true for non-negative integers (0, 1, 2, 3, ...).
[F] from
(value: number): number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }Parameters:
value- The number to convert to Whole
Returns: The value as a Whole number
Throws:
- Error if value is not a non-negative integer
Construct a Whole number. Throws if the value is not a non-negative integer.
[F] tryFrom
(value: number): (number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }) | nullParameters:
value- The number to try converting
Returns: The Whole number or null
Try to construct a Whole number. Returns null if the value is not a non-negative integer.
[F] parseAsWhole
(value: string): (number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }) | nullParameters:
value- The string to parse
Returns: The parsed whole number or null
Parse a string as a whole number. Returns null if the string doesn't represent a non-negative integer.
[F] next
(value: number): number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }Parameters:
value- The number to get the next whole from
Returns: The next whole number
Get the next whole number. For any number, returns the smallest whole number greater than the input.
[F] prev
(value: number): (number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }) | nullParameters:
value- The number to get the previous whole from
Returns: The previous whole number or null
Get the previous whole number. Returns null if there is no previous whole (i.e., for values = 0).
Types
[∩] Whole
type Whole = number & { [WholeBrand]: true }Whole number (non-negative integer: 0, 1, 2, 3, ...). These are the natural numbers plus zero.
Whole numbers are both integers and non-negative, so they combine both brands for maximum type safety.