Skip to content

intervalEngulfsUtc

intervalEngulfsUtc(aStart: string, aEnd: string, bStart: string, bEnd: string): boolean
import { intervalEngulfsUtc } from "@northguild/gmt/utc/interval";

Return true when interval B is fully contained within interval A — every instant of B

  • falls within A.
  • Uses Temporal.Instant.compare for comparison.
  • Equivalent to 4-argument intervalContainsUtc(aStart, aEnd, bStart, bEnd).
  • Returns false if either interval is invalid (start > end).
  • Returns false on invalid input (wrong type, malformed strings, leap seconds).
Parameter Type Description
aStart string ISO 8601 UTC datetime string for the outer interval start
aEnd string ISO 8601 UTC datetime string for the outer interval end
bStart string ISO 8601 UTC datetime string for the inner interval start
bEnd string ISO 8601 UTC datetime string for the inner interval end

true if B is fully contained in A, or false on invalid input

intervalEngulfsUtc("2024-01-01T09:00:00Z", "2024-12-31T17:00:00Z", "2024-06-01T12:00:00Z", "2024-07-01T13:00:00Z") // true
intervalEngulfsUtc("2024-01-01T09:00:00Z", "2024-12-31T17:00:00Z", "2024-01-01T09:00:00Z", "2024-12-31T17:00:00Z") // true (equal intervals)
intervalEngulfsUtc("2024-01-01T09:00:00Z", "2024-12-31T17:00:00Z", "2024-01-01T09:00:00Z", "2024-06-30T12:00:00Z") // true
intervalEngulfsUtc("2024-06-01T12:00:00Z", "2024-07-01T13:00:00Z", "2024-01-01T09:00:00Z", "2024-12-31T17:00:00Z") // false
intervalEngulfsUtc("invalid", "2024-12-31T17:00:00Z", "2024-06-01T12:00:00Z", "2024-07-01T13:00:00Z") // false

utc/interval/intervalEngulfsUtc.ts