Solución
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