Skip to content

clampDate

clampDate(value: string, min: string, max: string): string
import { clampDate } from "@northguild/gmt/plain/calculate";

Restrict value to the range [min, max].

  • Returns value if it falls within the bounds (inclusive on both ends).
  • Returns min if value is before min.
  • Returns max if value is after max.
  • Returns "" if any input is invalid or min > max.
Parameter Type Description
value string ISO PlainDate string to clamp
min string ISO PlainDate string for the lower bound (inclusive)
max string ISO PlainDate string for the upper bound (inclusive)

The clamped date string, or “” on invalid input

clampDate("2024-03-15", "2024-03-01", "2024-03-31") // "2024-03-15"
clampDate("2024-02-01", "2024-03-01", "2024-03-31") // "2024-03-01"
clampDate("2024-05-01", "2024-03-01", "2024-03-31") // "2024-03-31"
clampDate("2024-03-15", "2024-03-31", "2024-03-01") // ""
clampDate("invalid", "2024-03-01", "2024-03-31") // ""

plain/calculate/clampDate.ts