mergeableListType function
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);
}