import { constructFrom } from "./constructFrom.mjs"; /** * @name constructNow * @category Generic Helpers * @summary Constructs a new current date using the passed value constructor. * @pure false * * @description * The function constructs a new current date using the constructor from * the reference date. It helps to build generic functions that accept date * extensions and use the current date. * * It defaults to `Date` if the passed reference date is a number or a string. * * @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 reference date to take constructor from * * @returns Current date initialized using the given date constructor * * @example * import { constructNow, isSameDay } from 'date-fns' * * function isToday( * date: DateType | number | string, * ): boolean { * // If we were to use `new Date()` directly, the function would behave * // differently in different timezones and return false for the same date. * return isSameDay(date, constructNow(date)); * } */ export function constructNow(date) { return constructFrom(date, Date.now()); } // Fallback for modularized imports: export default constructNow;