Skip to content

intervalEngulfsTime

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

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

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

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

intervalEngulfsTime("09:00:00", "17:00:00", "12:00:00", "13:00:00") // true
intervalEngulfsTime("09:00:00", "17:00:00", "09:00:00", "17:00:00") // true (equal intervals)
intervalEngulfsTime("09:00:00", "17:00:00", "09:00:00", "12:00:00") // true
intervalEngulfsTime("12:00:00", "13:00:00", "09:00:00", "17:00:00") // false
intervalEngulfsTime("invalid", "17:00:00", "12:00:00", "13:00:00") // false

plain/interval/intervalEngulfsTime.ts