Files
web/components/HotelReservation/SelectRate/utils.ts

24 lines
693 B
TypeScript

import type { RoomsAvailability } from "@/types/trpc/routers/hotel/roomAvailability"
export function combineRoomAvailabilities({
availabilityResults,
}: {
availabilityResults: Array<[RoomsAvailability | undefined | null, unknown]>
}): RoomsAvailability | null {
return availabilityResults.reduce<RoomsAvailability | null>(
(combinedResult, [currentResult, error]) => {
if (error || !currentResult) return combinedResult
if (!combinedResult) return currentResult
return {
...currentResult,
roomConfigurations: [
...combinedResult.roomConfigurations,
...currentResult.roomConfigurations,
],
}
},
null
)
}