diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-29 11:49:28 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-29 11:49:28 -0700 |
| commit | d55b767039605256c736166a942a9138e3eacfd7 (patch) | |
| tree | 947063b634c50d438a794325f13275e134aa5993 /node_modules/date-fns/getOverlappingDaysInIntervals/index.js | |
| parent | 864ce67d89c77d8ef9c3361f80d619853abcf91c (diff) | |
remove dev node_modules (oops)
Diffstat (limited to 'node_modules/date-fns/getOverlappingDaysInIntervals/index.js')
| -rw-r--r-- | node_modules/date-fns/getOverlappingDaysInIntervals/index.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/node_modules/date-fns/getOverlappingDaysInIntervals/index.js b/node_modules/date-fns/getOverlappingDaysInIntervals/index.js deleted file mode 100644 index 4c98bc9..0000000 --- a/node_modules/date-fns/getOverlappingDaysInIntervals/index.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getOverlappingDaysInIntervals; -var _index = _interopRequireDefault(require("../toDate/index.js")); -var _index2 = _interopRequireDefault(require("../_lib/requiredArgs/index.js")); -var MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000; - -/** - * @name getOverlappingDaysInIntervals - * @category Interval Helpers - * @summary Get the number of days that overlap in two time intervals - * - * @description - * Get the number of days that overlap in two time intervals - * - * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval} - * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval} - * @returns {Number} the number of days that overlap in two time intervals - * @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 adds 1 for each started overlapping day: - * getOverlappingDaysInIntervals( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } - * ) - * //=> 3 - * - * @example - * // For non-overlapping time intervals returns 0: - * getOverlappingDaysInIntervals( - * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, - * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) } - * ) - * //=> 0 - */ - -function getOverlappingDaysInIntervals(dirtyIntervalLeft, dirtyIntervalRight) { - (0, _index2.default)(2, arguments); - var intervalLeft = dirtyIntervalLeft || {}; - var intervalRight = dirtyIntervalRight || {}; - var leftStartTime = (0, _index.default)(intervalLeft.start).getTime(); - var leftEndTime = (0, _index.default)(intervalLeft.end).getTime(); - var rightStartTime = (0, _index.default)(intervalRight.start).getTime(); - var rightEndTime = (0, _index.default)(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'); - } - var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime; - if (!isOverlapping) { - return 0; - } - var overlapStartDate = rightStartTime < leftStartTime ? leftStartTime : rightStartTime; - var overlapEndDate = rightEndTime > leftEndTime ? leftEndTime : rightEndTime; - var differenceInMs = overlapEndDate - overlapStartDate; - return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY); -} -module.exports = exports.default;
\ No newline at end of file |
