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