parseQueryString static method

Map<String, dynamic> parseQueryString(
  1. String query
)

Implementation

static Map<String, dynamic> parseQueryString(String query) {
  var search = RegExp('([^&=]+)=?([^&]*)');
  var params = Map<String, dynamic>();
  if (query.startsWith('?')) query = query.substring(1);
  decode(String? s) => s == null ? null : Uri.decodeComponent(s.replaceAll('+', ' '));
  for (Match match in search.allMatches(query)) {
    var key = decode(match.group(1));
    var value = decode(match.group(2));
    if (key != null) {
      params[key] = value;
    }
  }
  return params;
}