123456789101112131415161718192021222324252627 |
- 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;
|