Skip to content

intervalContainsUtc

intervalContainsUtc(intervalStart: string, intervalEnd: string, pointOrStart: string, pointEnd?: string): boolean
import { intervalContainsUtc } from "@northguild/gmt/utc/interval";

Return true when pointOrStart falls within the interval [intervalStart, intervalEnd]

  • (3-arg), or when the inner interval [innerStart, innerEnd] is fully contained within the outer interval [intervalStart, intervalEnd] (4-arg).
  • Uses Temporal.Instant.compare for comparison (same instant semantics).
  • Always-inclusive boundaries: start <= point <= end.
  • Returns false if intervalStart > intervalEnd (invalid outer interval).
  • Returns false if innerStart > innerEnd in 4-arg mode (invalid inner interval).
  • Returns false on invalid input (wrong type, malformed strings, leap seconds).
Parameter Type Description
intervalStart string ISO 8601 UTC datetime string for the outer interval start
intervalEnd string ISO 8601 UTC datetime string for the outer interval end
pointOrStart string ISO 8601 UTC datetime string for the point (3-arg) or inner start (4-arg)
pointEnd string optional ISO 8601 UTC datetime string for the inner interval end (4-arg mode)

true if the point or inner interval is contained, or false on invalid input

intervalContainsUtc("2024-01-01T00:00:00Z", "2024-12-31T23:59:59Z", "2024-06-15T12:00:00Z") // true
intervalContainsUtc("2024-01-01T00:00:00Z", "2024-12-31T23:59:59Z", "2024-06-15T12:00:00Z", "2024-07-15T12:00:00Z") // true
intervalContainsUtc("2024-12-31T23:59:59Z", "2024-01-01T00:00:00Z", "2024-06-15T12:00:00Z") // false
intervalContainsUtc("invalid", "2024-12-31T23:59:59Z", "2024-06-15T12:00:00Z") // false

utc/interval/intervalContainsUtc.ts