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.
34 lines
811 B
34 lines
811 B
// 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; |
|
}
|
|
|