dobtco/procure-io

View on GitHub
app/assets/javascripts/jquery.mixins.js

Summary

Maintainability
A
0 mins
Test Coverage
(function($) {
var re = /([^&=]+)=?([^&]*)/g;
var decodeRE = /\+/g;  // Regex for replacing addition symbol with a space
var decode = function (str) {return decodeURIComponent( str.replace(decodeRE, " ") );};
$.urlParams = function() {
    query = document.URL.split('?')[1] || '';
    query = query.replace(/\#$/, '').replace(/\%23$/, '');
    var params = {}, e;
    while ( e = re.exec(query) ) {
        var k = decode( e[1] ), v = decode( e[2] );
        if (k.substring(k.length - 2) === '[]') {
            k = k.substring(0, k.length - 2);
            (params[k] || (params[k] = [])).push(v);
        }
        else params[k] = v;
    }
    return params;
};
})(jQuery);