export const parseURL = (url) => {
let a = document.createElement('a')
a.href = url
return {
source: url,
protocol: a.protocol.replace(':', ''),
host: a.host,
hostname: a.hostname,
port: a.port,
query: a.search,
params: (function() {
let params = {}
let hashArr = a.search.replace(/^\?/, '').split('&')
for (let i = 0; i < hashArr.length; i++) {
let item = hashArr[i].split('=')
params[item[0]] = item[1] || ''
}
return params
})(),
file: (a.pathname.match(/\/([^/?#]+)$/i) || '')[1],
hash: a.hash.replace('#', ''),
path: a.pathname.replace(/^([^/])/, '/$1'),
relative: (a.href.match(/tps?:\/\/[^/]+(.+)/) || '')[1],
segments: a.pathname.replace(/^\//, '').split('/')
}
}