DaktelaFilter.fromJson constructor Null safety

DaktelaFilter.fromJson(
  1. dynamic json
)

Implementation

factory DaktelaFilter.fromJson(dynamic json) {
  List<DaktelaFilterField> fields = [];
  List<DaktelaFilter> filters = [];
  String logic = 'and';
  if (json is List) {
    json.forEach((e) {
      try {
        fields.add(DaktelaFilterField.fromJson(e));
      } catch (e) {}
    });
  } else if (json is Map<String, dynamic>) {
    if (json['logic'] != null) {
      logic = json['logic'];
      (json['filters'] as List).forEach((element) {
        Map<String, dynamic> json = element;
        if (json['logic'] != null) {
          filters.add(DaktelaFilter.fromJson(json));
        } else {
          fields.add(DaktelaFilterField.fromJson(json));
        }
      });
    } else {
      fields.add(DaktelaFilterField.fromJson(json));
    }
  }
  return DaktelaFilter(logic: logic, fields: fields, filters: filters);
}