Solución
solution.tsTypeScript
const BASE_FARE = 2.50
const RATE_PER_KM = 1.20
const NIGHT_MULTIPLIER = 1.50
const EXTRA_PASSENGER_TAX = 0.30
const MIN_FARE = 5.00
function isNightFare(time: number) {
return time < 6 || time >= 22
}
function applyShiftRate(km: number, time: number): number {
const dinstanceFare = km * RATE_PER_KM
return isNightFare(time)
? BASE_FARE + dinstanceFare * NIGHT_MULTIPLIER
: BASE_FARE + dinstanceFare
}
function calculatePassengerTax(fare: number, passengers: number): number {
return passengers > 4
? fare + (passengers - 4) * EXTRA_PASSENGER_TAX
: fare
}
function calculateMinFare(fare: number): number { return Math.max(MIN_FARE, fare) }
export function calculateTaxiFare(km: number, time: number, passengers: number): number {
const shiftFare = applyShiftRate(km, time)
const passengerFare = calculatePassengerTax(shiftFare, passengers)
return calculateMinFare(passengerFare);
}0respuestas