UNPKG

range-overlaps

Version:

Checks whether two ranges/intervals overlap. Returns true or false.

25 lines (23 loc) 741 B
/** * @fileOverview Checks whether two intervals/ranges overlap. * @author Anton Ivanov <anton@ivanov.hk> */ /** * Checks whether two intervals/ranges overlap. * @param {object} range1 * @param {number} range1.start * @param {number} range1.end * @param {object} range2 * @param {number} range2.start * @param {number} range2.end * @param {boolean} exclusive - By default the search is inclusive. Set this to * true to perform exclusive search. */ function overlaps(range1, range2, exclusive = false) { if (exclusive) { return range1.start < range2.end && range2.start < range1.end; } else { return range1.start <= range2.end && range2.start <= range1.end; } } module.exports = overlaps;