UNPKG

@technobuddha/library

Version:
19 lines 1.88 kB
import { day, daysPerWeek } from "./date.js"; import { modulo } from "./modulo.js"; /** * Determine the last day of the week containing a date * @param input - The date * @param options - see {@link DateOptions} * @defaultValue utc false * @returns Midnight of the last day of the week containing the input date * @group Time * @category Week */ export function endOfWeek(input, { utc = false, firstDayOfWeek = day.sunday } = {}) { if (utc) { return new Date(Date.UTC(input.getUTCFullYear(), input.getUTCMonth(), input.getUTCDate() + modulo(daysPerWeek - input.getUTCDay() + firstDayOfWeek - 1, daysPerWeek))); } return new Date(input.getFullYear(), input.getMonth(), input.getDate() + modulo(daysPerWeek - input.getDay() + firstDayOfWeek - 1, daysPerWeek)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kLW9mLXdlZWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW5kLW9mLXdlZWsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixLQUFXLEVBQ1gsRUFBRSxHQUFHLEdBQUcsS0FBSyxFQUFFLGNBQWMsR0FBRyxHQUFHLENBQUMsTUFBTSxLQUFrQixFQUFFO0lBRTlELElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixPQUFPLElBQUksSUFBSSxDQUNiLElBQUksQ0FBQyxHQUFHLENBQ04sS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEVBQ25CLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDaEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsY0FBYyxHQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FDNUUsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBSSxJQUFJLENBQ2IsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEVBQ2hCLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUN6RixDQUFDO0FBQ0osQ0FBQyJ9