TypeDefinition.fromDynamic constructor
TypeDefinition.fromDynamic(
- dynamic obj,
- Node? astNode
Implementation
factory TypeDefinition.fromDynamic(dynamic obj, Node? astNode) {
var isAmbiguous = false;
final type = getTypeName(obj);
if (type == 'List') {
var list = obj as List;
String elemType;
if (list.isNotEmpty) {
elemType = getTypeName(list[0]);
for (dynamic listVal in list) {
if (elemType != getTypeName(listVal)) {
isAmbiguous = true;
break;
}
}
} else {
// when array is empty insert Null just to warn the user
elemType = 'Null';
}
return TypeDefinition(type,
astNode: astNode, subtype: elemType, isAmbiguous: isAmbiguous);
}
return TypeDefinition(type, astNode: astNode, isAmbiguous: isAmbiguous);
}