mergeableListType function
Implementation
MergeableListType mergeableListType(List<dynamic> list) {
var t = ListType.Null;
var isAmbigous = false;
list.forEach((e) {
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);
}