You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
811 B
35 lines
811 B
2 years ago
|
// imported from https://github.com/galkn/querystring
|
||
|
/**
|
||
|
* Compiles a querystring
|
||
|
* Returns string representation of the object
|
||
|
*
|
||
|
* @param {Object}
|
||
|
* @api private
|
||
|
*/
|
||
|
export function encode(obj) {
|
||
|
let str = '';
|
||
|
for (let i in obj) {
|
||
|
if (obj.hasOwnProperty(i)) {
|
||
|
if (str.length)
|
||
|
str += '&';
|
||
|
str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);
|
||
|
}
|
||
|
}
|
||
|
return str;
|
||
|
}
|
||
|
/**
|
||
|
* Parses a simple querystring into an object
|
||
|
*
|
||
|
* @param {String} qs
|
||
|
* @api private
|
||
|
*/
|
||
|
export function decode(qs) {
|
||
|
let qry = {};
|
||
|
let pairs = qs.split('&');
|
||
|
for (let i = 0, l = pairs.length; i < l; i++) {
|
||
|
let pair = pairs[i].split('=');
|
||
|
qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
|
||
|
}
|
||
|
return qry;
|
||
|
}
|