Skip to content

Instantly share code, notes, and snippets.

@LukeMwila
Created April 20, 2019 17:59
Show Gist options
  • Save LukeMwila/f17de295bb89cde3b3828ef1efa31c28 to your computer and use it in GitHub Desktop.
Save LukeMwila/f17de295bb89cde3b3828ef1efa31c28 to your computer and use it in GitHub Desktop.
Functions that return a week from a given date
const getDaysOfWeekFromGivenDate = (
date: Date | null
) => {
if (date) {
const startOfWeek = moment(date).startOf('isoWeek');
const weekArray = moment.weekdays();
const daysOfWeekInSelectedDate = generateWeek(
startOfWeek,
weekArray
);
return daysOfWeekInSelectedDate;
} else {
return [];
}
};
const generateWeek = (
startOfWeek: moment.Moment,
daysOfWeek: Array<string>
): Array<Date> => {
if (startOfWeek && daysOfWeek.length) {
return daysOfWeek.map((d, i) => {
return startOfWeek
.clone()
.add(i, 'd')
.toDate();
});
}
return [];
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment