Skip to content

Num.Whole

Num / Whole

Import

typescript
import { Num } from '@wollybeard/kit'

// Access via namespace
Num.Whole.someFunction()
typescript
import * as Num from '@wollybeard/kit/num'

// Access via namespace
Num.Whole.someFunction()

Functions

[F] is

typescript
(value: unknown): boolean

Parameters:

  • 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

typescript
(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

typescript
(value: number): (number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }) | null

Parameters:

  • 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

typescript
(value: string): (number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }) | null

Parameters:

  • 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

typescript
(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

typescript
(value: number): (number & { [WholeBrand]: true; } & { [IntBrand]: true; } & { [NonNegativeBrand]: true; }) | null

Parameters:

  • 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

typescript
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.