2
0
Files
cal/calcom/packages/lib/weekstart.ts
2024-08-09 00:39:27 +02:00

24 lines
889 B
TypeScript

import { weekdayNames } from "./weekday";
// returns index of input weekName(long) from array starting from Sunday
// as fall back returns 0 i.e. Sunday
export function weekStartNum(weekName = "Sunday") {
const weekDays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const idx = weekDays.indexOf(weekName);
return (idx !== -1 ? idx : 0) as 0 | 1 | 2 | 3 | 4 | 5 | 6;
}
// sorts the availability strings based on the weekStart
export function sortAvailabilityStrings(language: string, weekStart = "Sunday") {
return (a: string, b: string) => {
const weekNames = weekdayNames(language, weekStartNum(weekStart), "short");
const weekIndex = (day: string) => {
for (let i = 0; i < weekNames.length; i++) {
if (day.includes(weekNames[i])) return i;
}
return -1;
};
return weekIndex(a) - weekIndex(b);
};
}