toMetadataJson method

Map<String, Object?> toMetadataJson({
  1. bool includePayload = false,
})

Implementation

Map<String, Object?> toMetadataJson({bool includePayload = false}) {
  return {
    'success': success,
    'count': results.length,
    'requestedCount': requestedCount,
    'successCount': successCount,
    'outputCount': outputCount,
    'failureCount': failureCount,
    'skippedUnavailableCount': skippedUnavailableCount,
    'notRunCount': notRunCount,
    'issueCount': issueCount,
    'hasOutput': hasOutput,
    'hasIssues': hasIssues,
    'completedWithoutOutput': completedWithoutOutput,
    if (primaryIssue != null) 'primaryIssue': primaryIssue,
    if (issueMessages.isNotEmpty) 'issues': issueMessages,
    'totalSizeBytes': totalSizeBytes,
    if (totalDurationMicros > 0) 'totalDurationMicros': totalDurationMicros,
    if (totalDurationMicros > 0)
      'totalDurationMs': totalDurationMicros / 1000,
    if (skippedUnavailable.isNotEmpty)
      'skippedUnavailable': [
        for (final capability in skippedUnavailable)
          capability.toMetadataJson(),
      ],
    'results': [
      for (final result in results)
        result.toMetadataJson(includePayload: includePayload),
    ],
  };
}