diff options
Diffstat (limited to 'node_modules/date-fns/esm/areIntervalsOverlapping/index.js')
| -rw-r--r-- | node_modules/date-fns/esm/areIntervalsOverlapping/index.js | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/node_modules/date-fns/esm/areIntervalsOverlapping/index.js b/node_modules/date-fns/esm/areIntervalsOverlapping/index.js deleted file mode 100644 index eddbdc7..0000000 --- a/node_modules/date-fns/esm/areIntervalsOverlapping/index.js +++ /dev/null @@ -1,73 +0,0 @@ -import toDate from "../toDate/index.js"; -import requiredArgs from "../_lib/requiredArgs/index.js"; -/** - * @name areIntervalsOverlapping - * @category Interval Helpers - * @summary Is the given time interval overlapping with another time interval? - * - * @description - * Is the given time interval overlapping with another time interval? Adjacent intervals do not count as overlapping. - * - * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link https://date-fns.org/docs/Interval} - * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link https://date-fns.org/docs/Interval} - * @param {Object} [options] - the object with options - * @param {Boolean} [options.inclusive=false] - whether the comparison is inclusive or not - * @returns {Boolean} whether the time intervals are overlapping - * @throws {TypeError} 2 arguments required - * @throws {RangeError} The start of an interval cannot be after its end - * @throws {RangeError} Date in interval cannot be `Invalid Date` - * - * @example - * // For overlapping time intervals: - * areIntervalsOverlapping( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } - * ) - * //=> true - * - * @example - * // For non-overlapping time intervals: - * areIntervalsOverlapping( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) } - * ) - * //=> false - * - * @example - * // For adjacent time intervals: - * areIntervalsOverlapping( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 30) } - * ) - * //=> false - * - * @example - * // Using the inclusive option: - * areIntervalsOverlapping( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) } - * ) - * //=> false - * areIntervalsOverlapping( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) }, - * { inclusive: true } - * ) - * //=> true - */ -export default function areIntervalsOverlapping(intervalLeft, intervalRight, options) { - requiredArgs(2, arguments); - var leftStartTime = toDate(intervalLeft === null || intervalLeft === void 0 ? void 0 : intervalLeft.start).getTime(); - var leftEndTime = toDate(intervalLeft === null || intervalLeft === void 0 ? void 0 : intervalLeft.end).getTime(); - var rightStartTime = toDate(intervalRight === null || intervalRight === void 0 ? void 0 : intervalRight.start).getTime(); - var rightEndTime = toDate(intervalRight === null || intervalRight === void 0 ? void 0 : intervalRight.end).getTime(); - - // Throw an exception if start date is after end date or if any date is `Invalid Date` - if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) { - throw new RangeError('Invalid interval'); - } - if (options !== null && options !== void 0 && options.inclusive) { - return leftStartTime <= rightEndTime && rightStartTime <= leftEndTime; - } - return leftStartTime < rightEndTime && rightStartTime < leftEndTime; -}
\ No newline at end of file |
