Skip to content

Commit

Permalink
update bower/component
Browse files Browse the repository at this point in the history
  • Loading branch information
nlf committed Oct 7, 2015
1 parent a341cdf commit 56f4fbb
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 5 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "qs",
"main": "dist/qs.js",
"version": "5.1.0",
"version": "5.2.0",
"homepage": "https://github.com/hapijs/qs",
"authors": [
"Nathan LaFreniere <quitlahok@gmail.com>"
Expand Down
2 changes: 1 addition & 1 deletion component.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "qs",
"repository": "hapijs/qs",
"description": "query-string parser / stringifier with nesting support",
"version": "5.1.0",
"version": "5.2.0",
"keywords": ["querystring", "query", "parser"],
"main": "lib/index.js",
"scripts": [
Expand Down
18 changes: 15 additions & 3 deletions dist/qs.js
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ var internals = {
};


internals.stringify = function (obj, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter) {
internals.stringify = function (obj, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort) {

if (typeof filter === 'function') {
obj = filter(prefix, obj);
Expand Down Expand Up @@ -269,7 +269,14 @@ internals.stringify = function (obj, prefix, generateArrayPrefix, strictNullHand
return values;
}

var objKeys = Array.isArray(filter) ? filter : Object.keys(obj);
var objKeys;
if (Array.isArray(filter)) {
objKeys = filter;
} else {
var keys = Object.keys(obj);
objKeys = sort ? keys.sort(sort) : keys;
}

for (var i = 0, il = objKeys.length; i < il; ++i) {
var key = objKeys[i];

Expand Down Expand Up @@ -298,6 +305,7 @@ module.exports = function (obj, options) {
var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : internals.strictNullHandling;
var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : internals.skipNulls;
var encode = typeof options.encode === 'boolean' ? options.encode : internals.encode;
var sort = typeof options.sort === 'function' ? options.sort : null;
var objKeys;
var filter;
if (typeof options.filter === 'function') {
Expand Down Expand Up @@ -333,6 +341,10 @@ module.exports = function (obj, options) {
objKeys = Object.keys(obj);
}

if (sort) {
objKeys.sort(sort);
}

for (var i = 0, il = objKeys.length; i < il; ++i) {
var key = objKeys[i];

Expand All @@ -342,7 +354,7 @@ module.exports = function (obj, options) {
continue;
}

keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter));
keys = keys.concat(internals.stringify(obj[key], key, generateArrayPrefix, strictNullHandling, skipNulls, encode, filter, sort));
}

return keys.join(delimiter);
Expand Down

0 comments on commit 56f4fbb

Please sign in to comment.