normalizeCheckpointDefectsForDisplay function
Implementation
List<CheckPointDefect> normalizeCheckpointDefectsForDisplay(
List<CheckPointDefect> defects) {
CheckPointDefect? preferredNoDefect;
for (final defect in defects.where(isNoDefectMarker)) {
if (preferredNoDefect == null ||
_preferNoDefectMarker(defect, preferredNoDefect)) {
preferredNoDefect = defect;
}
}
if (preferredNoDefect == null) return defects;
final visibleDefects = <CheckPointDefect>[];
var noDefectAdded = false;
for (final defect in defects) {
if (!isNoDefectMarker(defect)) {
visibleDefects.add(defect);
} else if (!noDefectAdded) {
visibleDefects.add(preferredNoDefect);
noDefectAdded = true;
}
}
return visibleDefects;
}