import { eachWeekendOfInterval } from "./eachWeekendOfInterval.js"; import { endOfMonth } from "./endOfMonth.js"; import { startOfMonth } from "./startOfMonth.js"; /** * The {@link eachWeekendOfMonth} function options. */ /** * @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). * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments. * * @param date - The given month * @param options - An object with options * * @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, options) { const start = startOfMonth(date, options); const end = endOfMonth(date, options); return eachWeekendOfInterval({ start, end }, options); } // Fallback for modularized imports: export default eachWeekendOfMonth;