Skip to content

intervalsOverlapUnix

intervalsOverlapUnix(aStart: string | number, aEnd: string | number, bStart: string | number, bEnd: string | number): boolean
import { intervalsOverlapUnix } from "@northguild/gmt/unix/interval";

Return true when intervals [aStart, aEnd] and [bStart, bEnd] share at least one instant.

  • Compares numeric Unix epoch values directly.
  • Adjacent intervals (e.g. aEnd === bStart) do NOT overlap — returns false.
  • Returns false if either interval is invalid (start > end).
  • Returns false on invalid input (non-numeric types, non-finite values).
Parameter Type Description
aStart string | number Unix epoch value (seconds or milliseconds) — first interval start
aEnd string | number Unix epoch value (seconds or milliseconds) — first interval end
bStart string | number Unix epoch value (seconds or milliseconds) — second interval start
bEnd string | number Unix epoch value (seconds or milliseconds) — second interval end

true if intervals overlap, or false on invalid input

intervalsOverlapUnix(0, 1700000000, 1000000, 2000000) // true
intervalsOverlapUnix(0, 1000000, 1000000, 2000000) // false (adjacent)
intervalsOverlapUnix(0, 1000000, 1000001, 2000000) // false (disjoint)
intervalsOverlapUnix(NaN, 1700000000, 1000000, 2000000) // false
intervalsOverlapUnix("0", "1700000000", "1000000", "2000000") // true

unix/interval/intervalsOverlapUnix.ts