issueMessages property

List<String> get issueMessages

Implementation

List<String> get issueMessages {
  final messages = <String>[];
  void addIssue(String message) {
    final normalized = message.trim();
    if (normalized.isEmpty || messages.contains(normalized)) return;
    messages.add(normalized);
  }

  for (final warning in warnings) {
    addIssue(warning);
  }

  final cancelReason = cancellationReason;
  if (cancelReason != null) {
    addIssue(cancelReason);
  }

  for (final result in exportBatch.failed) {
    addIssue(
      'Export failed for ${result.filename}: '
      '${result.error ?? 'Unknown export error.'}',
    );
  }

  for (final skipped in exportBatch.skippedUnavailable) {
    addIssue(
      '${skipped.format.name} export skipped: '
      '${skipped.disabledReason ?? 'Format is unavailable.'}',
    );
  }

  if (exportBatch.notRunCount > 0) {
    addIssue(
      '${exportBatch.notRunCount} '
      '${_plural('export', exportBatch.notRunCount)} not run.',
    );
  }

  final delivery = exportDelivery;
  if (delivery != null) {
    for (final result in delivery.failed) {
      addIssue(
        'Delivery failed for ${result.filename ?? 'export file'}: '
        '${result.errorText ?? 'Unknown delivery error.'}',
      );
    }
  }

  final archiveResult = archiveDelivery;
  if (archiveResult != null && !archiveResult.success) {
    addIssue(
      'Archive delivery failed: '
      '${archiveResult.errorText ?? 'Unknown delivery error.'}',
    );
  }

  return List.unmodifiable(messages);
}