Solución

JL@juanluisabreu_4c541ef6
·2/4/2026TypeScript
solution.tsTypeScript
function getDiscountRate(categoria: string): number{
  const CATEGORY_ELECTRONIC = "electronics";
  const CATEGORY_CLOTHING = "clothing";
  const CATEGORY_FOOD = "food";
  
  const CATEGORY_ELECTRONIC_RATE = 0.15;
  const CATEGORY_CLOTHING_RATE = 0.20;
  const CATEGORY_FOOD_RATE = 0.05;
  const DEFUALT_OTHER_CATEGORY = 0.00;

  if (categoria === CATEGORY_ELECTRONIC) {
    return CATEGORY_ELECTRONIC_RATE;
  } else if (categoria === CATEGORY_CLOTHING) {
    return CATEGORY_CLOTHING_RATE;
  } else if (categoria === CATEGORY_FOOD) {
    return CATEGORY_FOOD_RATE
  } else {
    return DEFUALT_OTHER_CATEGORY
  }

}
export function getProductFinalPrice(precio: number, categoria: string, inventario: number): number {
  const DEFAULT_INVALID_INPUT = -1;
  const TAX_RATE = 1.21;


  let descuento = 0;

  // Verificar si el stock es válido
  if (inventario <= 0) return DEFAULT_INVALID_INPUT;

  // Verificar si el precio es válido
  if (precio <= 0) return DEFAULT_INVALID_INPUT;

  descuento = precio * getDiscountRate(categoria);

  // Calcular el precio con descuento aplicado
  let discounted = precio - descuento;

  // Aplicar el impuesto sobre el precio con descuento
  let result = discounted * TAX_RATE;

  // Redondear a dos decimales
  return Math.round(result * 100) / 100;
}
0respuestas
Respuestas
0

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.
Markdown