export function extractUrlParams (urlString: string): Record<'queryMap' | 'hashMap', Record<string, string>> & {path: string} {
const url = new URL(urlString)
const queryMap = Object.fromEntries(url.searchParams.entries())
const hash = url.hash.slice(1)
const hashMap = hash.split('&').reduce((acc, param) => {
const [key, value] = param.split('=')
if (key) {
try {
acc[key] = value ? decodeURIComponent(value) : ''
} catch (error) {
acc[key] = value || ''
console.error(error, `ket => ${key} value => ${value}`)
}
}
return acc
}, {})
return { path: url.origin + url.pathname.length === '/' ? '' : url.pathname, queryMap, hashMap }
}