export function getMilestonePagination()

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),
  };
}