generateWithImports method

String generateWithImports(
  1. String schemaName,
  2. Map<String, dynamic> schema,
  3. String featureName,
  4. String projectName,
)

Implementation

String generateWithImports(
  String schemaName,
  Map<String, dynamic> schema,
  String featureName,
  String projectName,
) {
  _imports.clear();
  _entityImports.clear();

  final className = asResponse(schemaName);
  final classCode = generateClass(className, schema);

  final buffer = StringBuffer();

  for (var imp in _imports) {
    buffer.writeln("import '${imp.snakeCase}.dart';");
  }

  for (var entity in _entityImports) {
    buffer.writeln(
      "import 'package:$projectName/features/$featureName/domain/entities/${entity.snakeCase}.dart';",
    );
  }

  if (_imports.isNotEmpty || _entityImports.isNotEmpty) buffer.writeln();

  buffer.writeln(classCode);
  return buffer.toString();
}