export const searchParams = (props) => {
const { path = '', param = {}, encode = false } = props || {}
const decodeUrl = decodeURIComponent(window.location.search);
const decodeUrlObj = Object.fromEntries(new URLSearchParams(decodeUrl.slice(1)));
const urlParamsObj = {
...decodeUrlObj,
...param
}
const queryParams = new URLSearchParams()
Object.entries(urlParamsObj).forEach(([key, value]) => {
queryParams.append(key, value)
})
let paramsUrl = ''
if (queryParams.toString()) {
if (encode) {
paramsUrl = `?${encodeURIComponent(queryParams.toString())}`
} else {
paramsUrl = `?${queryParams.toString()}`
}
}
const pathName = path || window.location.pathname
window.history.pushState({}, '', pathName + paramsUrl)
}