c249287a0123143e87dcf0bc1d54fad5a6decbc8
[platform/framework/web/crosswalk-tizen.git] /
1 define(['../object/forOwn','../lang/isArray','../array/forEach'], function (forOwn,isArray,forEach) {
2
3     /**
4      * Encode object into a query string.
5      */
6     function encode(obj){
7         var query = [],
8             arrValues, reg;
9         forOwn(obj, function (val, key) {
10             if (isArray(val)) {
11                 arrValues = key + '=';
12                 reg = new RegExp('&'+key+'+=$');
13                 forEach(val, function (aValue) {
14                     arrValues += encodeURIComponent(aValue) + '&' + key + '=';
15                 });
16                 query.push(arrValues.replace(reg, ''));
17             } else {
18                query.push(key + '=' + encodeURIComponent(val));
19             }
20         });
21         return (query.length) ? '?' + query.join('&') : '';
22     }
23
24     return encode;
25 });