writeQualificationReportFiles function

Future<QualificationReportFiles> writeQualificationReportFiles({
  1. required DeviceQualificationReport report,
  2. required String directoryPath,
  3. String baseName = 'qualification-report',
})

Writes report as JSON and Markdown files under directoryPath.

Implementation

Future<QualificationReportFiles> writeQualificationReportFiles({
  required DeviceQualificationReport report,
  required String directoryPath,
  String baseName = 'qualification-report',
}) async {
  final directory = Directory(directoryPath);
  if (!directory.existsSync()) {
    directory.createSync(recursive: true);
  }

  final jsonPath = '${directory.path}/$baseName.json';
  final markdownPath = '${directory.path}/$baseName.md';

  final jsonFile = File(jsonPath);
  final markdownFile = File(markdownPath);

  await jsonFile.writeAsString(
    const JsonEncoder.withIndent('  ').convert(report.toPublicMap()),
  );
  await markdownFile.writeAsString(report.toMarkdown());

  return QualificationReportFiles(
    jsonPath: jsonPath,
    markdownPath: markdownPath,
  );
}