handleList function

Field handleList(
  1. List<Class> classes,
  2. String name,
  3. List list
)

Implementation

Field handleList(List<Class> classes, String name, List list) {
  final types = List.empty(growable: true);
  list.forEach((v) {
    final type = getFieldType(v, classes, name);
    types.add(type);
  });

  if (types.isEmpty) return Field("List", name, name, true, false);
  bool isSingleType = getIsSingleType(types);
  if (!isSingleType) {
    return Field("List", name, name, true, false);
  } else if (types.first is Class) {
    Class class0 = types.first as Class;
    handleFieldsAreNullable(types, class0);
    handleNullableFieldType(types, class0);
    classes.add(class0);
    return ListField("List<${class0.name}>", class0.name, name, true, false);
  } else {
    //String or int ...
    return Field("List<${types.first}>", name, name, true, false);
  }
}