Sha256: 2148fdbb917f500f9c07ab15302dcecf3a5f9e28359abf016e976ef3fd06f5e7
Contents?: true
Size: 838 Bytes
Versions: 69
Compression:
Stored size: 838 Bytes
Contents
var forOwn = require('../object/forOwn'); var isArray = require('../lang/isArray'); var forEach = require('../array/forEach'); /** * Encode object into a query string. */ function encode(obj){ var query = [], arrValues, reg; forOwn(obj, function (val, key) { if (isArray(val)) { arrValues = key + '='; reg = new RegExp('&'+key+'+=$'); forEach(val, function (aValue) { arrValues += encodeURIComponent(aValue) + '&' + key + '='; }); query.push(arrValues.replace(reg, '')); } else { query.push(key + '=' + encodeURIComponent(val)); } }); return (query.length) ? '?' + query.join('&') : ''; } module.exports = encode;
Version data entries
69 entries across 69 versions & 2 rubygems