Hyperlinkv0.8.0-beta.28

Number

Number.clampconsteffect/Number.ts:473
(options: { minimum: number; maximum: number }): (self: number) => number
(self: number, options: { minimum: number; maximum: number }): number

Restricts the given number to be within the range specified by the minimum and maximum values.

When to use

Use to force a number into an inclusive range.

Details

  • If the number is less than the minimum value, the function returns the minimum value.
  • If the number is greater than the maximum value, the function returns the maximum value.
  • Otherwise, it returns the original number.

Example (Clamping to a range)

import { Number } from "effect"
import * as assert from "node:assert"

const clamp = Number.clamp({ minimum: 1, maximum: 5 })

assert.equal(clamp(3), 3)
assert.equal(clamp(0), 1)
assert.equal(clamp(6), 5)
Source effect/Number.ts:47310 lines
export const clamp: {
  (options: {
    minimum: number
    maximum: number
  }): (self: number) => number
  (self: number, options: {
    minimum: number
    maximum: number
  }): number
} = order.clamp(Order)