buildQueryString static method

String buildQueryString(
  1. Map<String, dynamic> parameters
)

Implementation

static String buildQueryString(Map<String, dynamic> parameters) {
  if (parameters.isEmpty) return '';

  final buffer = StringBuffer();
  var first = true;

  parameters.forEach((key, value) {
    if (!first) buffer.write('&');
    first = false;

    if (value is List) {
      for (var i = 0; i < value.length; i++) {
        if (i > 0) buffer.write('&');
        buffer.write(
            '${Uri.encodeComponent(key)}=${Uri.encodeComponent(value[i].toString())}');
      }
    } else {
      buffer.write(
          '${Uri.encodeComponent(key)}=${Uri.encodeComponent(value.toString())}');
    }
  });

  return buffer.toString();
}