* convert closest-polyfill to ts * make remark respect host property in client setup
23 lines
587 B
TypeScript
23 lines
587 B
TypeScript
/** converts widnow.location.search into object */
|
|
export function parseQuery(search: string): { [key: string]: string } {
|
|
if (search.length < 2) return {};
|
|
return search
|
|
.substr(1)
|
|
.split('&')
|
|
.map(
|
|
(chunk): [string, string] => {
|
|
const parts = chunk.split('=');
|
|
if (parts.length < 2) {
|
|
parts[1] = '';
|
|
} else {
|
|
parts[1] = decodeURIComponent(parts[1]);
|
|
}
|
|
return parts as [string, string];
|
|
}
|
|
)
|
|
.reduce<{ [key: string]: string }>((c, x) => {
|
|
c[x[0]] = x[1];
|
|
return c;
|
|
}, {});
|
|
}
|