Skip to content

intervalsOverlapUnix

intervalsOverlapUnix(aStart: string | number, aEnd: string | number, bStart: string | number, bEnd: string | number): boolean

Return true when the half-open intervals [aStart, aEnd) and [bStart, bEnd) share at least one instant.

  • Compares numeric Unix epoch values directly: aStart < bEnd && bStart < aEnd, the same rule as intervalsOverlap (SQL:2011 OVERLAPS on closed-open periods).
  • An interval excludes its end, so touching intervals (aEnd equal to bStart) do NOT overlap — returns false.
  • An empty interval (start === end) overlaps an interval only when it lies strictly inside it; at either edge, or against another empty interval, it returns false.
  • Returns false if either interval is invalid (start > end).
  • Returns false on invalid input: non-numeric types, empty strings, and values that are not safe integers (fractions, NaN, ±Infinity, beyond ±(2^53 − 1)).
ParameterTypeDescription
aStartstring | numberUnix epoch value, in the one unit all epoch arguments share — first interval start
aEndstring | numberUnix epoch value, in the one unit all epoch arguments share — first interval end
bStartstring | numberUnix epoch value, in the one unit all epoch arguments share — second interval start
bEndstring | numberUnix epoch value, in the one unit all epoch arguments share — second interval end

true if intervals overlap, or false on invalid input

import { intervalsOverlapUnix } from "@northguild/gmt/unix/interval";
intervalsOverlapUnix(0, 1700000000, 1000000, 2000000) // true
output 

unix/interval/intervalsOverlapUnix.ts