Skip to content

isValidDateRange

isValidDateRange({ value1, value2, options, }: IsValidDateRangeProps): boolean
import { isValidDateRange } from "@northguild/gmt/plain/validate";

Return whether value1 is before value2.

  • Validates both dates using regex and Temporal.PlainDate.from().
  • Rejects leap seconds in either date.
  • When options.allowEqual is true, equality is considered valid as well.
Parameter Type Description
value1 `` first ISO PlainDate string
value2 `` second ISO PlainDate string
options `` optional allowEqual flag

boolean indicating whether the date range is valid

isValidDateRange({ value1: "2024-02-28", value2: "2024-02-29" }) // true
isValidDateRange({ value1: "2024-02-29", value2: "2024-02-28" }) // false
isValidDateRange({ value1: "2024-02-29", value2: "2024-02-29" }) // false
isValidDateRange({ value1: "2024-02-29", value2: "2024-02-29", options: { allowEqual: true } }) // true

plain/validate/isValidDateRange.ts