Avoid using nested ternary operators as they significantly reduce code readability and make debugging difficult. Complex conditional logic should be refactored into clear, readable structures using if-else statements, early returns, or extracted helper functions.

Why this matters:

How to refactor:

Instead of nested ternaries like this:

slotStartTime = slotStartTime.minute() % interval !== 0
  ? showOptimizedSlots
    ? rangeEnd.diff(slotStartTime, "minutes") % interval > interval - slotStartTime.minute()
      ? slotStartTime.add(interval - slotStartTime.minute(), "minute")
      : slotStartTime.add(rangeEnd.diff(slotStartTime, "minutes") % interval, "minute")
    : slotStartTime.startOf("hour").add(Math.ceil(slotStartTime.minute() / interval) * interval, "minute")
  : slotStartTime;

Refactor to clear conditional blocks:

if (slotStartTime.minute() % interval === 0) {
  // No adjustment needed
  return slotStartTime;
}

if (showOptimizedSlots) {
  const timeDiff = rangeEnd.diff(slotStartTime, "minutes") % interval;
  const minutesToAdd = timeDiff > interval - slotStartTime.minute() 
    ? interval - slotStartTime.minute()
    : timeDiff;
  return slotStartTime.add(minutesToAdd, "minute");
}

return slotStartTime
  .startOf("hour")
  .add(Math.ceil(slotStartTime.minute() / interval) * interval, "minute");

Additional guidelines: