Num.InRange
Num / InRange
Import
typescript
import { Num } from '@wollybeard/kit'
// Access via namespace
Num.InRange.someFunction()
typescript
import * as Num from '@wollybeard/kit/num'
// Access via namespace
Num.InRange.someFunction()
Functions
[F]
is
typescript
<Min extends number, Max extends number > (value: unknown, min: Min, max: Max): boolean
Type predicate to check if value is within a specific range.
[F]
from
typescript
<Min extends number, Max extends number > (value: number, min: Min, max: Max): InRange<Min, Max>
Construct an InRange number. Throws if the value is outside the range.
[F]
tryFrom
typescript
<Min extends number, Max extends number > (value: number, min: Min, max: Max): InRange<Min, Max> | null
Try to construct an InRange number. Returns null if the value is outside the range.
[F]
clamp
typescript
<_T extends number, Min extends number, Max extends number > (value: _T, min: Min, max: Max): Clamp<_T, Min, Max>
Clamp a number to a range. Forces the value to be within the specified minimum and maximum bounds.
[F]
clampOn
typescript
<_T extends number>(value: _T): <Min extends number, Max extends number>(min: Min, max: Max) => Clamp<_T, Min, Max>
[F]
clampWith
typescript
<Min extends number, Max extends number > (min: Min, max: Max): <_T extends number>(value: _T) => Clamp<_T, Min, Max>
[F]
isOn
typescript
(value: unknown): <Min extends number, Max extends number>(min: Min, max: Max) => boolean
[F]
isWith
typescript
<Min extends number, Max extends number > (min: Min, max: Max): (value: unknown) => value is InRange<Min, Max>
Types
[∩]
InRange
typescript
type InRange<Min extends number, Max extends number> = number & {
[InRangeBrand]: { min: Min; max: Max }
}
Range-constrained number.
[T]
Clamp
typescript
type Clamp<_T extends number, Min extends number, Max extends number> = InRange<
Min,
Max
>
Type-level clamp transformation. Ensures the result type is within the specified range.