conformanceReport function
outcomes as a JSON document in the format envelope: the suite, the
badge, and each outcome.
{"format": "f3d.conformance", "version": 1, "requires": [], "generator": "flutter3d_conformance", "plugin": ..., "suite": "1.0", "badge": "conformant@1.0" | null, "outcomes": [...]}. Keys are only
added within a version.
Implementation
Map<String, Object?> conformanceReport(
String plugin,
List<PluginCheckOutcome> outcomes,
) => <String, Object?>{
...conformanceReportFormat.envelope(generator: 'flutter3d_conformance'),
'plugin': plugin,
'suite': conformanceSuiteVersion,
'badge': badgeFor(outcomes),
'outcomes': <Object?>[
for (final o in outcomes)
<String, Object?>{
'check': o.check,
'backend': ?o.backend,
'passed': o.passed,
'declined': o.declined,
'says': o.says,
if (o.requires.isNotEmpty) 'requires': o.requires,
},
],
};