checkNestedTypes method

String checkNestedTypes(
  1. String type,
  2. NestedCallbackFunction callback
)

Implementation

String checkNestedTypes(String type, NestedCallbackFunction callback) {
  var cleanType = type;

  final isList = type.startsWith('List<') == true;
  var isListInList = false;

  if (isList) {
    cleanType = type.substring(5, type.length - 1);
    isListInList = cleanType.startsWith('List<') == true;

    if (isListInList) {
      cleanType = cleanType.substring(5, cleanType.length - 1);
    }
  }

  final importExists = imports.indexWhere((element) => element.contains(cleanType.toSnakeCase())) != -1;
  final nestedClassExists = nestedClasses.indexWhere((element) => element.className == cleanType) != -1;
  final isModel = !isEnum && (importExists || nestedClassExists || this.isModel);

  return callback(cleanType, isList, isListInList, isModel);
}