Num.NonZero
Num / NonZero
Import
import { Num } from '@wollybeard/kit'
// Access via namespace
Num.NonZero.someFunction()
import * as Num from '@wollybeard/kit/num'
// Access via namespace
Num.NonZero.someFunction()
Functions
[F]
is
(value: unknown): boolean
Parameters:
value
- The value to check
Returns: True if value is a non-zero number
Type predicate to check if value is non-zero.
[F]
from
(value: number): NonZero
Parameters:
value
- The number to convert to NonZero
Returns: The value as a NonZero number
Throws:
- Error if value is zero
Construct a NonZero number. Throws if the value is zero.
[F]
tryFrom
(value: number): NonZero | null
Parameters:
value
- The number to try converting
Returns: The NonZero number or null
Try to construct a NonZero number. Returns null if the value is zero.
[F]
safeDivide
(dividend: number, divisor: NonZero): number
Parameters:
dividend
- The number to dividedivisor
- The NonZero divisor
Returns: The result of the division
Safely divide a number by a NonZero divisor. This operation is guaranteed to never throw.
[F]
safeDiv
(dividend: number, divisor: number): number | null
Parameters:
dividend
- The number to dividedivisor
- The divisor (may be zero)
Returns: The result of the division or null
Try to divide two numbers safely. Returns null if the divisor is zero.
[F]
safeDivOn
(dividend: number): (divisor: number) => number | null
Parameters:
dividend
- The fixed dividend
Returns: A function that divides the dividend by its input
Create a function that safely divides a fixed dividend by any divisor.
[F]
safeDivWith
(divisor: number): (dividend: number) => number | null
Parameters:
divisor
- The fixed divisor
Returns: A function that divides its input by the divisor
Create a function that safely divides any dividend by a fixed divisor.
Types
[∩]
NonZero
type NonZero = number & { [NonZeroBrand]: true }
Non-zero number (≠ 0).
Non-zero numbers are all numbers except zero. They are essential for safe division operations and other mathematical contexts where zero would cause errors or undefined behavior.