From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../date-fns/esm/eachWeekendOfInterval/index.js | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 node_modules/date-fns/esm/eachWeekendOfInterval/index.js (limited to 'node_modules/date-fns/esm/eachWeekendOfInterval/index.js') diff --git a/node_modules/date-fns/esm/eachWeekendOfInterval/index.js b/node_modules/date-fns/esm/eachWeekendOfInterval/index.js new file mode 100644 index 0000000..94db59b --- /dev/null +++ b/node_modules/date-fns/esm/eachWeekendOfInterval/index.js @@ -0,0 +1,45 @@ +import eachDayOfInterval from "../eachDayOfInterval/index.js"; +import isSunday from "../isSunday/index.js"; +import isWeekend from "../isWeekend/index.js"; +import requiredArgs from "../_lib/requiredArgs/index.js"; +/** + * @name eachWeekendOfInterval + * @category Interval Helpers + * @summary List all the Saturdays and Sundays in the given date interval. + * + * @description + * Get all the Saturdays and Sundays in the given date interval. + * + * @param {Interval} interval - the given interval. See [Interval]{@link https://date-fns.org/docs/Interval} + * @returns {Date[]} an array containing all the Saturdays and Sundays + * @throws {TypeError} 1 argument required + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // Lists all Saturdays and Sundays in the given date interval + * const result = eachWeekendOfInterval({ + * start: new Date(2018, 8, 17), + * end: new Date(2018, 8, 30) + * }) + * //=> [ + * // Sat Sep 22 2018 00:00:00, + * // Sun Sep 23 2018 00:00:00, + * // Sat Sep 29 2018 00:00:00, + * // Sun Sep 30 2018 00:00:00 + * // ] + */ +export default function eachWeekendOfInterval(interval) { + requiredArgs(1, arguments); + var dateInterval = eachDayOfInterval(interval); + var weekends = []; + var index = 0; + while (index < dateInterval.length) { + var date = dateInterval[index++]; + if (isWeekend(date)) { + weekends.push(date); + if (isSunday(date)) index = index + 5; + } + } + return weekends; +} \ No newline at end of file -- cgit v1.2.3