Sha256: 9a99f6c0908ffe95483bbcb89747f3538a61c19c57a7b205c5c8c0e5824d80d1
Contents?: true
Size: 833 Bytes
Versions: 63
Compression:
Stored size: 833 Bytes
Contents
/** * Module dependencies. */ var trim = require('trim'); /** * Parse the given query `str`. * * @param {String} str * @return {Object} * @api public */ exports.parse = function(str){ if ('string' != typeof str) return {}; str = trim(str); if ('' == str) return {}; var obj = {}; var pairs = str.split('&'); for (var i = 0; i < pairs.length; i++) { var parts = pairs[i].split('='); obj[parts[0]] = null == parts[1] ? '' : decodeURIComponent(parts[1]); } return obj; }; /** * Stringify the given `obj`. * * @param {Object} obj * @return {String} * @api public */ exports.stringify = function(obj){ if (!obj) return ''; var pairs = []; for (var key in obj) { pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key])); } return pairs.join('&'); };
Version data entries
63 entries across 63 versions & 1 rubygems