/* eslint-disable eslint-comments/no-unlimited-disable */ /* eslint-disable */ // @ts-nocheck import { eachWeekendOfInterval } from '../eachWeekendOfInterval/index.ts'; import { endOfYear } from '../endOfYear/index.ts'; import { startOfYear } from '../startOfYear/index.ts'; import type { ContextOptions, DateArg } from '../types.ts'; /** * The {@link eachWeekendOfYear} function options. */ export interface EachWeekendOfYearOptions extends ContextOptions {} /** * @name eachWeekendOfYear * @category Year Helpers * @summary List all the Saturdays and Sundays in the year. * * @description * Get all the Saturdays and Sundays in the year. * * @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 year * @param options - An object with options * * @returns An array containing all the Saturdays and Sundays * * @example * // Lists all Saturdays and Sundays in the year * const result = eachWeekendOfYear(new Date(2020, 1, 1)) * //=> [ * // Sat Jan 03 2020 00:00:00, * // Sun Jan 04 2020 00:00:00, * // ... * // Sun Dec 27 2020 00:00:00 * // ] * ] */ export function eachWeekendOfYear( date: DateArg, options?: EachWeekendOfYearOptions, ): ResultDate[] { const start = startOfYear(date, options); const end = endOfYear(date, options); return eachWeekendOfInterval({ start, end }, options); } /* eslint-enable */