unwrapNestedTypes method
Implementation
List<AbstractType> unwrapNestedTypes(List<AbstractType> types) {
final output = types
.where((element) => element is! MapType || element is! ListType)
.toList();
final maps = types.whereType<MapType>();
for (final element in maps) {
output
..addAll(unwrapNestedTypes([element.key]))
..addAll(unwrapNestedTypes([element.value]));
}
final lists = types.whereType<ListType>();
for (final element in lists) {
output.addAll(unwrapNestedTypes([element.child]));
}
return output;
}