formatDuration function

String formatDuration(
  1. Duration d
)

Formats a Duration into a more human-readable string.

Examples:

  • Duration(minutes: 15) -> "15m"
  • Duration(seconds: 5, milliseconds: 50) -> "5s 50ms"
  • Duration(milliseconds: 120) -> "120ms"

Implementation

String formatDuration(Duration d) {
  if (d.inDays > 0) return '${d.inDays}d';
  if (d.inHours > 0) return '${d.inHours}h';
  if (d.inMinutes > 0) return '${d.inMinutes}m';
  if (d.inSeconds > 0) {
    final ms = d.inMilliseconds % 1000;
    if (ms > 0) return '${d.inSeconds}s ${ms}ms';
    return '${d.inSeconds}s';
  }
  if (d.inMilliseconds > 0) return '${d.inMilliseconds}ms';
  if (d.inMicroseconds > 0) return '${d.inMicroseconds}µs';
  return '0ms';
}