mergeableListType function

MergeableListType mergeableListType(
  1. List list
)

Implementation

MergeableListType mergeableListType(List<dynamic> list) {
  ListType? t = ListType.Null;
  var isAmbigous = false;
  for (var e in list) {
    ListType? inferredType;
    if (e.runtimeType.toString() == 'int') {
      inferredType = ListType.Int;
    } else if (e.runtimeType.toString() == 'double') {
      inferredType = ListType.Double;
    } else if (e.runtimeType.toString() == 'string') {
      inferredType = ListType.String;
    } else if (e is Map) {
      inferredType = ListType.Object;
    }
    if (t != ListType.Null && t != inferredType) {
      isAmbigous = true;
    }
    t = inferredType;
  }
  return MergeableListType(t, isAmbigous);
}