mirror of
https://github.com/gnh1201/welsonjs.git
synced 2024-11-26 23:41:42 +00:00
50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
//////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// uri.js
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
// Private APIs / Utility functions
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.VERSIONINFO = "URI Lib (uri.js) version 0.1";
|
|
exports.global = global;
|
|
exports.require = global.require;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
// exports.parseQueryString
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.parseQueryString = function(queryString) {
|
|
var query = {};
|
|
var pairs = [];
|
|
|
|
if(queryString.substring(0, 1) == '?') {
|
|
pairs = queryString.substring(1).split('&');
|
|
} else {
|
|
pairs = queryString.split('&');
|
|
}
|
|
|
|
for (var i = 0; i < pairs.length; i++) {
|
|
var pair = pairs[i].split('=');
|
|
var _k = decodeURIComponent(pair[0]);
|
|
var _v = decodeURIComponent(pair[1] || '');
|
|
var path = _k.split('[').map(function(s) {
|
|
return (s.indexOf(']') < 0 ? s : s.substring(0, s.length -1));
|
|
}).join('/');
|
|
|
|
if(path in query) {
|
|
if (Array.isArray(query[path])) {
|
|
query[path].push(_v);
|
|
} else {
|
|
query[path] = [query[path], _v];
|
|
}
|
|
} else {
|
|
query[path] = _v;
|
|
}
|
|
};
|
|
|
|
return query;
|
|
};
|