sugar
Version:
A Javascript utility library for working with native objects.
21 lines (18 loc) • 683 B
JavaScript
;
var forEach = require('../../common/internal/forEach'),
parseQueryComponent = require('./parseQueryComponent');
function fromQueryStringWithOptions(obj, opts) {
var str = String(obj || '').replace(/^.*?\?/, ''), result = {}, auto;
opts = opts || {};
if (str) {
forEach(str.split('&'), function(p) {
var split = p.split('=');
var key = decodeURIComponent(split[0]);
var val = split.length === 2 ? decodeURIComponent(split[1]) : '';
auto = opts.auto !== false;
parseQueryComponent(result, key, val, opts.deep, auto, opts.separator, opts.transform);
});
}
return result;
}
module.exports = fromQueryStringWithOptions;