Files
web/packages/booking-flow/lib/contexts/SelectRate/clearRooms.ts
Hrishikesh Vaipurkar 0a4bf40a15 Merged in chore/SW-3321-move-selectratecontext-to- (pull request #2729)
chore(SW-3321): Moved Select rate context to booking-flow package

* chore(SW-3321): Moved Select rate context to booking-flow package

* chore(SW-3321): Optimised code


Approved-by: Joakim Jäderberg
2025-09-02 07:40:01 +00:00

32 lines
892 B
TypeScript

import type { SelectRateBooking } from "../../types/components/selectRate/selectRate"
/**
* Removes room data
*/
export function clearRooms({
selectRateBooking,
roomIndexesToClear,
}: {
selectRateBooking: SelectRateBooking | null
roomIndexesToClear: number[]
}):
| { selectRateBooking: SelectRateBooking; hasUpdated: true }
| { hasUpdated: false } {
if (!selectRateBooking || roomIndexesToClear.length === 0) {
return { hasUpdated: false }
}
roomIndexesToClear.forEach((roomIndex) => {
if (!selectRateBooking?.rooms?.[roomIndex]) {
return
}
selectRateBooking.rooms[roomIndex].roomTypeCode = null
selectRateBooking.rooms[roomIndex].rateCode = null
selectRateBooking.rooms[roomIndex].counterRateCode = null
selectRateBooking.rooms[roomIndex].bookingCode = null
})
return { hasUpdated: true, selectRateBooking: selectRateBooking }
}