createFileAndWriteData function

Future<void> createFileAndWriteData(
  1. List<Todo> todos,
  2. String fileName
)

Creates a file named from output and fills it with TODO. If the file extension .md, then performs additional formatting

Implementation

Future<void> createFileAndWriteData(List<Todo> todos, String fileName) async {
  final isMD = fileName.split('.').last == 'md';

  var forWriting = '';

  if (isMD) {
    forWriting += '# TODO list\n\n';

    forWriting += '*${formattedDate()}*\n\n';

    forWriting += '| FILE:LINE | TODO |\n';

    forWriting += '|---------- | ---- |\n';
  }

  for (final todo in todos) {
    forWriting += todo.prepared(isMD);
  }

  final file = File(fileName);
  final sink = file.openWrite()..write(forWriting);
  await sink.flush();
  await sink.close();
  print('|\n| ✔️ Data collection completed successfully.');
}