@magic-libraries/uri
Version:
@magic-libraries/uri type checking module. unifies type checking apis.
37 lines (29 loc) • 633 B
JavaScript
export const encode = (props = {}) => {
const { host = '', params = {} } = props
const query = Object.entries(params)
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
.join('&')
if (!query) {
return host
}
return [host, query].join('?')
}
export const decode = (uri = '') => {
if (!uri) {
return {}
}
const [host, p] = uri.split('?')
const res = { host }
if (p) {
p.split('&').map(param => {
res.params = res.params || {}
const [name, val] = param.split('=')
res.params[name] = val
})
}
return res
}
export default {
encode,
decode,
}