parseQueryString static method

Map parseQueryString(
  1. String query
)

Implementation

static Map<dynamic, dynamic> parseQueryString(String query) {
  var search = RegExp('([^&=]+)=?([^&]*)');
  var params = Map<dynamic, 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));
    params[key] = value;
  }
  return params;
}