mergeableListType function

MergeableListType mergeableListType (
  1. List list
)

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