FormData.fromJson constructor

FormData.fromJson(
  1. dynamic json
)

Deserialize FormData from json.

Implementation

factory FormData.fromJson(dynamic json) {
  if (json == null ||
      !(json is Map) ||
      json[_bodyTypeKey] != DataType.formData.value ||
      json['entries'] == null ||
      !(json['entries'] is Iterable)) {
    throw ArgumentError.value(
      json,
      'json',
      'Provided value is not a valid FormData json.',
    );
  }

  final formData = FormData();

  for (final entry in json['entries']) {
    final key = entry[0];
    final value = entry[1];

    if (value is String) {
      formData.append(key, value);
    } else {
      formData.append(key, FileField.fromJson(value));
    }
  }

  return formData;
}