import { eachWeekendOfInterval } from "./eachWeekendOfInterval.mjs"; import { endOfMonth } from "./endOfMonth.mjs"; import { startOfMonth } from "./startOfMonth.mjs"; /** * @name eachWeekendOfMonth * @category Month Helpers * @summary List all the Saturdays and Sundays in the given month. * * @description * Get all the Saturdays and Sundays in the given month. * * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). * * @param date - The given month * * @returns An array containing all the Saturdays and Sundays * * @example * // Lists all Saturdays and Sundays in the given month * const result = eachWeekendOfMonth(new Date(2022, 1, 1)) * //=> [ * // Sat Feb 05 2022 00:00:00, * // Sun Feb 06 2022 00:00:00, * // Sat Feb 12 2022 00:00:00, * // Sun Feb 13 2022 00:00:00, * // Sat Feb 19 2022 00:00:00, * // Sun Feb 20 2022 00:00:00, * // Sat Feb 26 2022 00:00:00, * // Sun Feb 27 2022 00:00:00 * // ] */ export function eachWeekendOfMonth(date) { const start = startOfMonth(date); const end = endOfMonth(date); return eachWeekendOfInterval({ start, end }); } // Fallback for modularized imports: export default eachWeekendOfMonth;