toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
if (_type != null && _height.value != null) {
return '$_cover at ${heightInFeet!.toStringAsFixed(1)} feet of $_type';
}
if (_height.value != null) {
return '$_cover at ${heightInFeet!.toStringAsFixed(1)} feet';
}
final undefinedCovers =
<String>['NSC', 'NCD', '///'].map((el) => skyCover[el]).toList();
if (undefinedCovers.contains(_cover)) {
return '$_cover';
}
if (_cover == skyCover['VV']) {
if (_height.value != null) {
return '$_cover at ${heightInFeet!.toStringAsFixed(1)} feet';
}
return '$_cover';
}
return '$_cover at undefined height';
}