stringValue property
Canonical string representation of this item.
Implementation
@override
String get stringValue {
if (type == xsYearMonthDuration) {
if (totalMonths == 0) return 'P0M';
final buffer = StringBuffer(totalMonths < 0 ? '-P' : 'P');
final absYears = years;
final absMonths = months;
if (absYears > 0) buffer.write('${absYears}Y');
if (absMonths > 0 || absYears == 0) buffer.write('${absMonths}M');
return buffer.toString();
}
if (type == xsDayTimeDuration) {
if (totalMicroseconds == 0) return 'PT0S';
final buffer = StringBuffer(totalMicroseconds < 0 ? '-P' : 'P');
_writeDayTimePart(buffer, this);
return buffer.toString();
}
if (totalMonths == 0 && totalMicroseconds == 0) return 'PT0S';
final buffer = StringBuffer(isNegative ? '-P' : 'P');
final absYears = years;
final absMonths = months;
if (absYears > 0) buffer.write('${absYears}Y');
if (absMonths > 0) buffer.write('${absMonths}M');
_writeDayTimePart(buffer, this);
return buffer.toString();
}