querystring: fix broken stringifyPrimitive

stringifyPrimitive has always failed to stringify numbers since its
introduction in 422d3c9. This went uncaught due to encodeURIComponent's
string coercion.

Fixes: https://github.com/iojs/io.js/issues/1208
PR-URL: https://github.com/iojs/io.js/pull/1213
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Brian White <mscdex@mscdex.net>
This commit is contained in:
Jeremiah Senkpiel 2015-03-19 21:33:04 -04:00
parent a89f5c2156
commit c9aec2b716
1 changed files with 3 additions and 1 deletions

View File

@ -147,8 +147,10 @@ QueryString.escape = function(str) {
};
var stringifyPrimitive = function(v) {
if (typeof v === 'string' || (typeof v === 'number' && isFinite(v)))
if (typeof v === 'string')
return v;
if (typeof v === 'number' && isFinite(v))
return '' + v;
if (typeof v === 'boolean')
return v ? 'true' : 'false';
return '';