query static method
Encodes map as a URL query string.
Obj.query({'name': 'Anna', 'tags': ['a', 'b']});
// 'name=Anna&tags%5B0%5D=a&tags%5B1%5D=b'
Implementation
static String query(Map<String, dynamic> map) {
final parts = <String>[];
void encode(String key, dynamic value) {
if (value is Map) {
value.forEach((k, v) => encode('$key[$k]', v));
} else if (value is Iterable) {
var i = 0;
for (final v in value) {
encode('$key[${i++}]', v);
}
} else {
parts.add(
'${Uri.encodeQueryComponent(key)}'
'=${Uri.encodeQueryComponent(value?.toString() ?? '')}',
);
}
}
map.forEach(encode);
return parts.join('&');
}