convertModelToFormData static method

Map<String, String> convertModelToFormData(
  1. dynamic val, [
  2. String namespace = ''
])

Implementation

static Map<String, String> convertModelToFormData(dynamic val, [String namespace = '']) {
  final map = <String, String>{};

  if (val != null) {
    if (val is DateTime) {
      map[namespace] = val.toIso8601String();
    } else if (val is List) {
      for (var index = 0; index < val.length; index++) {
        var element = val[index];
        map.addAll(convertModelToFormData(element, '$namespace[$index]'));
      }
    } else if (val is Map) {
      val.forEach((propertyName, propertyValue) {
        map.addAll(convertModelToFormData(propertyValue, namespace.isNotEmpty ? '$namespace.$propertyName' : propertyName));
      });
    } else {
      map[namespace] = val.toString();
    }
  }

  return map;
}