19 lines
589 B
TypeScript
19 lines
589 B
TypeScript
/**
|
|
* The week a calendar draws, shared by the component and by whoever fetches the
|
|
* reservations for it: the fetch is narrowed to the window on the backend, so
|
|
* both sides have to agree on where a week starts.
|
|
*/
|
|
|
|
/** Monday, at midnight local time */
|
|
export function startOfWeek(date: Date): Date {
|
|
const start = new Date(date)
|
|
start.setHours(0, 0, 0, 0)
|
|
start.setDate(start.getDate() - ((start.getDay() + 6) % 7))
|
|
return start
|
|
}
|
|
|
|
export function addDays(date: Date, days: number): Date {
|
|
const next = new Date(date)
|
|
next.setDate(next.getDate() + days)
|
|
return next
|
|
}
|