function getMaxValues()

in src/app/customers/cases/form/detail/validator/max-term.validators.ts [111:151]


function getMaxValues(temporalUnit: ChronoUnit, maximum: number): MaxValues {

  const weekBase = 52;
  const monthBase = 12;

  let maxWeeks = 0;
  let maxMonths = 0;
  let maxYears = 0;

  switch (temporalUnit) {
    case 'WEEKS': {
      maxWeeks = maximum;
      maxMonths = (maximum * monthBase) / weekBase;
      maxYears = maximum / weekBase;
      break;
    }

    case 'MONTHS': {
      maxWeeks = (maximum * weekBase) / monthBase;
      maxMonths = maximum;
      maxYears = maximum / monthBase;
      break;
    }

    case 'YEARS': {
      maxWeeks = maximum * weekBase;
      maxMonths = maximum * monthBase;
      maxYears = maximum;
      break;
    }

    default:
      break;
  }

  return {
    maxWeeks: Math.floor(maxWeeks),
    maxMonths: Math.floor(maxMonths),
    maxYears: Math.floor(maxYears)
  };
}