import type { RateEnum } from "@scandic-hotels/common/constants/rate" import type { Rate } from "./types" export function isRateSelected({ selectedRateCode, selectedRoomTypeCode, rate, roomTypeCode, }: { selectedRateCode: RateEnum | string | undefined | null selectedRoomTypeCode: RateEnum | string | undefined | null rate: Rate roomTypeCode: string | null | undefined }) { if (!selectedRateCode || !selectedRoomTypeCode || !rate || !roomTypeCode) { return false } let rateCodes: string[] = [] if ("public" in rate && rate.public) { rateCodes = [...rateCodes, rate.public.rateCode?.toLowerCase()] } if ("member" in rate && rate.member) { rateCodes = [...rateCodes, rate.member.rateCode?.toLowerCase()] } if ("redemption" in rate && rate.redemption) { rateCodes = [...rateCodes, rate.redemption.rateCode?.toLowerCase()] } if ("voucher" in rate && rate.voucher) { rateCodes = [...rateCodes, rate.voucher.rateCode?.toLowerCase()] } if ("corporateCheque" in rate && rate.corporateCheque) { rateCodes = [...rateCodes, rate.corporateCheque.rateCode?.toLowerCase()] } return ( rateCodes.includes(selectedRateCode.toLowerCase()) && selectedRoomTypeCode.toLowerCase() === roomTypeCode.toLowerCase() ) }