formatAndWriteFiles function

Future<void> formatAndWriteFiles(
  1. List<DeclarationFile> files, {
  2. required String path,
  3. bool recreateFolder = false,
})

Implementation

Future<void> formatAndWriteFiles(
  List<DeclarationFile> files, {
  required String path,
  bool recreateFolder = false,
}) async {
  final formatter = DartFormatter();

  if (recreateFolder) {
    final directory = Directory(path);
    if (await directory.exists()) {
      await directory.delete(recursive: true);
    }
  }

  for (final languageFile in files) {
    final formatted = formatter.format(languageFile.code);
    final file = File(p.join(path, languageFile.name));
    await file.create(recursive: true);
    await file.writeAsString(formatted);
  }
}