Solución

@alexiis-dev·29/5/2026TypeScript
solution.tsTypeScript
const ELECTRONICS_DISCOUNT = 0.15
const CLOTHING_DISCOUNT = 0.20
const FOOD_DISCOUNT = 0.05
const OTHER = 0
const TAX = 1.21

type Category = 'electronics' | 'clothing' | 'food'

function getDiscount(category: Category, price: number) {
  switch(category) {
    case 'electronics': return price * ELECTRONICS_DISCOUNT;
    case 'clothing': return price * CLOTHING_DISCOUNT;
    case 'food': return price * FOOD_DISCOUNT;
    default: return price * OTHER
  }
}

export function getProductFinalPrice(price: number, category: Category, stock: number): number {
  // Verificar si el stock es válido
  if(price <= 0) return -1
  if(stock <= 0) return -1
  let discount: number = getDiscount(category, price)
  let discounted = price - discount;
  return +(discounted * TAX).toFixed(2);
}
0respuestas
Respuestas

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.