docs: function parseQueryString(query, callback) {
    // Break early for empty string.
    if (!query) {
      return;
    }
    // Remove leading `?` so that callers can pass `location.search` directly to
    // this function.
    if (query.startsWith('?')) {
      query = query.slice(1);
    }
  
    var pairs = query.split('&');
    for (var i = 0; i < pairs.length; i++) {
      var separatorIndex = pairs[i].indexOf('=');
      if (separatorIndex >= 0) {
        var key = pairs[i].substring(0, separatorIndex);
        var value = pairs[i].substring(separatorIndex + 1);
        callback(key, urlDecode_(value));
      } else {
        // Treat "?foo" without the "=" as having an empty value.
        var key = pairs[i];
        callback(key, '');
      }
    }
  }