feat(sw-452): Implement select room form submit
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { SelectRateSearchParams } from "@/types/components/hotelReservation/selectRate/selectRate"
|
||||
|
||||
function getHotelReservationQueryParams(searchParams: URLSearchParams) {
|
||||
const searchParamsObject: SelectRateSearchParams = Array.from(
|
||||
searchParams.entries()
|
||||
).reduce((acc, [key, value]) => {
|
||||
const keys = key.replace(/\]/g, "").split(/\[|\./) // Split keys by '[' or '.'
|
||||
keys.reduce((nestedAcc, k, i) => {
|
||||
if (i === keys.length - 1) {
|
||||
nestedAcc[k] = value // Assign value at the last key
|
||||
} else {
|
||||
if (!nestedAcc[k]) {
|
||||
nestedAcc[k] = isNaN(Number(keys[i + 1])) ? {} : [] // Initialize as array or object
|
||||
}
|
||||
}
|
||||
return nestedAcc[k]
|
||||
}, acc)
|
||||
return acc
|
||||
}, {} as SelectRateSearchParams)
|
||||
return searchParamsObject
|
||||
}
|
||||
|
||||
export { getHotelReservationQueryParams }
|
||||
Reference in New Issue
Block a user