getAllModels method

List<ModelBuilder> getAllModels()

Recursively finds and creates nested model builders

Implementation

List<ModelBuilder> getAllModels() {
  List<ModelBuilder> allModels = [this];

  json.forEach((key, value) {
    if (value is Map) {
      final nestedName = TypeDetector.getModelName(value, key, registry);
      final nestedBuilder = ModelBuilder(nestedName, value as Map<String, dynamic>, registry);
      allModels.addAll(nestedBuilder.getAllModels());
    } else if (value is List && value.isNotEmpty && value.first is Map) {
      final nestedName = TypeDetector.getModelName(value.first, key, registry);
      final nestedBuilder = ModelBuilder(nestedName, value.first as Map<String, dynamic>, registry);
      allModels.addAll(nestedBuilder.getAllModels());
    }
  });

  return allModels;
}