UNPKG

@technobuddha/library

Version:
18 lines 1.84 kB
import { day, daysPerWeek } from "./date.js"; import { modulo } from "./modulo.js"; /** * Determine the start of the week for a date * @param input - The date * @param options - see {@link DateOptions} * @defaultValue utc false * @returns The date value for midnight on the first day of the specified week * @group Time * @category Week */ export function beginningOfWeek(input, { utc = false, firstDayOfWeek = day.sunday } = {}) { if (utc) { return new Date(Date.UTC(input.getUTCFullYear(), input.getUTCMonth(), input.getUTCDate() - modulo(input.getUTCDay() + daysPerWeek - firstDayOfWeek, daysPerWeek))); } return new Date(input.getFullYear(), input.getMonth(), input.getDate() - modulo(input.getDay() + daysPerWeek - firstDayOfWeek, daysPerWeek)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVnaW5uaW5nLW9mLXdlZWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmVnaW5uaW5nLW9mLXdlZWsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixLQUFXLEVBQ1gsRUFBRSxHQUFHLEdBQUcsS0FBSyxFQUFFLGNBQWMsR0FBRyxHQUFHLENBQUMsTUFBTSxLQUFrQixFQUFFO0lBRTlELElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixPQUFPLElBQUksSUFBSSxDQUNiLElBQUksQ0FBQyxHQUFHLENBQ04sS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEVBQ25CLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLFdBQVcsR0FBRyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQzNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLElBQUksSUFBSSxDQUNiLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUNoQixLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxXQUFXLEdBQUcsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUNyRixDQUFDO0FBQ0osQ0FBQyJ9