writeLibrary function

void writeLibrary(
  1. EnvSettings settings,
  2. Library library
)

Write the library locally according to the defined settings

Implementation

void writeLibrary(EnvSettings settings, Library library) {
  final directoryPath = settings.filePath;

  final emitter = DartEmitter.scoped(useNullSafetySyntax: true);

  final formatter = DartFormatter(
    pageWidth: settings.fileWidth,
  );

  final code = formatter.format('${library.accept(emitter)}');

  final fileName = settings.className.snakeCase;

  final filePath = '$directoryPath/$fileName.dart';

  final fileContent = '// GENERATED CODE - DO NOT MODIFY BY HAND\n\n$code';

  // Create output directory
  final directory = Directory(directoryPath);
  if (!directory.existsSync()) directory.createSync(recursive: true);

  // Create and write output file
  File(filePath).writeAsStringSync(fileContent);
}