import { startOfWeek } from "./startOfWeek.mjs"; /** * The {@link isSameWeek} function options. */ /** * @name isSameWeek * @category Week Helpers * @summary Are the given dates in the same week (and month and year)? * * @description * Are the given dates in the same week (and month and 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). * * @param dateLeft - The first date to check * @param dateRight - The second date to check * @param options - An object with options * * @returns The dates are in the same week (and month and year) * * @example * // Are 31 August 2014 and 4 September 2014 in the same week? * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4)) * //=> true * * @example * // If week starts with Monday, * // are 31 August 2014 and 4 September 2014 in the same week? * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), { * weekStartsOn: 1 * }) * //=> false * * @example * // Are 1 January 2014 and 1 January 2015 in the same week? * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1)) * //=> false */ export function isSameWeek(dateLeft, dateRight, options) { const dateLeftStartOfWeek = startOfWeek(dateLeft, options); const dateRightStartOfWeek = startOfWeek(dateRight, options); return +dateLeftStartOfWeek === +dateRightStartOfWeek; } // Fallback for modularized imports: export default isSameWeek;