ziko
Version:
A versatile JavaScript library offering a rich set of Hyperscript Based UI components, advanced mathematical utilities, interactivity ,animations, client side routing and more ...
40 lines (34 loc) • 927 B
JavaScript
function parseQueryParams(queryString) {
const params = {};
queryString.replace(/[A-Z0-9]+?=([\w|:|\/\.]*)/gi, (match) => {
const [key, value] = match.split('=');
params[key] = value;
});
return params;
}
function defineParamsGetter(target ){
Object.defineProperties(target, {
'QueryParams': {
get: function() {
return parseQueryParams(globalThis.location.search.substring(1));
},
configurable: false,
enumerable: true
},
'HashParams': {
get: function() {
const hash = globalThis.location.hash.substring(1);
return hash.split("#");
},
configurable: false,
enumerable: true
}
});
}
/*
/users?name=ziko&age=26
/users#name=ziko
*/
export{
defineParamsGetter
}