in lib/utils/milestones.js [39:75]
export function getMilestonePagination({
dayOfWeek = 4,
startDate = new Date(),
} = {}) {
// The nearest release milestone to the starting point.
let nextMilestone = getNextMilestone({ dayOfWeek, startDate });
const prev = new Date(
nextMilestone.getFullYear(),
nextMilestone.getMonth(),
nextMilestone.getDate() - 7,
);
// Set next Milestone to 7 days time if we're starting on current milestone date already.
if (
formatDateToMilestone(startDate) === formatDateToMilestone(nextMilestone)
) {
nextMilestone = new Date(
nextMilestone.getFullYear(),
nextMilestone.getMonth(),
nextMilestone.getDate() + 7,
);
}
// The current milestone closest to today.
const currentMilestone = getNextMilestone(dayOfWeek);
return {
// The milestone before the startDate.
prevFromStart: formatDateToMilestone(prev),
// The startDate milestone (might not be a typical release day).
start: formatDateToMilestone(startDate),
// The milestone after the startDate.
nextFromStart: formatDateToMilestone(nextMilestone),
// The current closest milestone to today.
current: formatDateToMilestone(currentMilestone),
};
}