docs: function parseQueryString(query) {
    const result = {};
  
    _.each(query.replace(/\+/g, ' ').split('&'), (key) => {
      const index = key.indexOf('=');
      let val = '';
  
      if (index >= 0) {
        val = decodeURIComponent(key.slice(index + 1));
        key = key.slice(0, index);
      }
      if (!key) return;
  
      key = decodeURIComponent(key);
  
      // brackets notation for array value
      if (key.slice(-2) === '[]') {
        key = key.slice(0, -2);
        val = [val];
      }
  
      // if there are multiple values per key, concatenate
      result[key] = _.has(result, key) ? [].concat(result[key], val) : val;
    });
  
    return result;
  }