File: src/Helpers/url.js
/**
Deserializes a url string, and returns an object containg the keys and values
var url = 'website.com?name=tyler&location=canada';
var obj = window.deserializeURL(url);
// obj ==> { name: 'tyler', location: 'canada' }
@method deserializeURL
@for window
@param {String} url A url string
@return {Object} Returns an object containing key-value pairs from the arguements in the url
**/
window.deserializeURL = function(url) {
var query,
vars,
varArray = {};
if (url.split('?').length === 1) {
return {};
}
query = url.split('?')[1];
vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
varArray[pair[0]] = pair[1];
}
return varArray;
};
/**
Constructs the query string for a url from an object
var obj = { name: 'tyler', location: 'canada' };
var qs = window.serializeURL(obj);
// qs ==> '?name=tyler&location=canada'
@method serializeURL
@for window
@param {Object} obj An object containing key-value pairs to be serialized
@return {String} Returns the query string constructed from the object
**/
window.serializeURL = function(obj) {
var arr = [],
str = '?';
for (var i in obj) {
arr.push(i + '=' + obj[i]);
}
str += arr.join('&');
return str;
};