Sha256: 66b4ee8da40887070e81ee1e9b4b6fcda111a3ce16c901bdb026195b48c0d91d

Contents?: true

Size: 1.06 KB

Versions: 62

Compression:

Stored size: 1.06 KB

Contents

define(['../string/typecast', '../lang/isArray', '../object/hasOwn'], function (typecast, isArray, hasOwn) {

    /**
     * Decode query string into an object of keys => vals.
     */
    function decode(queryStr, shouldTypecast) {
        var queryArr = (queryStr || '').replace('?', '').split('&'),
            reg = /([^=]+)=(.+)/,
            i = -1,
            obj = {},
            equalIndex, cur, pValue, pName;

        while ((cur = queryArr[++i])) {
            equalIndex = cur.indexOf('=');
            pName = cur.substring(0, equalIndex);
            pValue = decodeURIComponent(cur.substring(equalIndex + 1));
            if (shouldTypecast !== false) {
                pValue = typecast(pValue);
            }
            if (hasOwn(obj, pName)){
                if(isArray(obj[pName])){
                    obj[pName].push(pValue);
                } else {
                    obj[pName] = [obj[pName], pValue];
                }
            } else {
                obj[pName] = pValue;
           }
        }
        return obj;
    }

    return decode;
});

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.10 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.6 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.5 node_modules/bower/node_modules/mout/src/queryString/decode.js
trusty-festivity-extension-2.5.4 node_modules/bower/node_modules/mout/src/queryString/decode.js