goDurationString function
d as the Go duration string Terraform reads: hours, minutes, seconds,
milliseconds and microseconds, each unit only when it is not zero
(Duration(minutes: 90) is 1h30m, zero is 0s).
Implementation
String goDurationString(Duration d) {
if (d.isNegative) return '-${goDurationString(-d)}';
final parts = [
(d.inHours, 'h'),
(d.inMinutes % 60, 'm'),
(d.inSeconds % 60, 's'),
(d.inMilliseconds % 1000, 'ms'),
(d.inMicroseconds % 1000, 'us'),
];
final text = [
for (final (n, unit) in parts)
if (n != 0) '$n$unit',
].join();
return text.isEmpty ? '0s' : text;
}