/* eslint-disable eslint-comments/no-unlimited-disable */ /* eslint-disable */ // @ts-nocheck import { normalizeDates } from '../_lib/normalizeDates/index.ts'; import type { ContextOptions, DateArg } from '../types.ts'; /** * The {@link isSameMonth} function options. */ export interface IsSameMonthOptions extends ContextOptions {} /** * @name isSameMonth * @category Month Helpers * @summary Are the given dates in the same month (and year)? * * @description * Are the given dates in the same month (and year)? * * @param laterDate - The first date to check * @param earlierDate - The second date to check * @param options - An object with options * * @returns The dates are in the same month (and year) * * @example * // Are 2 September 2014 and 25 September 2014 in the same month? * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25)) * //=> true * * @example * // Are 2 September 2014 and 25 September 2015 in the same month? * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25)) * //=> false */ export function isSameMonth( laterDate: DateArg & {}, earlierDate: DateArg & {}, options?: IsSameMonthOptions | undefined, ): boolean { const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate); return laterDate_.getFullYear() === earlierDate_.getFullYear() && laterDate_.getMonth() === earlierDate_.getMonth(); } /* eslint-enable */