fromJson method

FieldMap<K, Object> fromJson(
  1. Map<String, Object?> json
)

Implementation

FieldMap<K, Object> fromJson(Map<String, Object?> json) {
  // Map<K, Object> enumMap = EnumMapFactory<K>(fields).fromJson<Object>(json);
  // if (compareTypes(enumMap.values)) {
  //   return enumMap;
  // } else {
  //   throw FormatException('Invalid JSON map for ${runtimeType}: $json - value types do not match expected types');
  // }

  return {
    for (final e in fields)
      // null as type error
      if (e.validateType(json[e.name]) case Object? value)
        e:
            value ??
            (throw FormatException(
              'Invalid JSON map for $runtimeType: $json - value for key "${e.name}" is <${json[e.name].runtimeType}>${json[e.name]} but expected type is non-nullable ${e.type}',
            )),
  };
}