readable property

String get readable

Returns a human-readable string, e.g., "2h 30m 15s"

Implementation

String get readable {
  if (inMilliseconds == 0) return '0s';
  final parts = <String>[];
  if (inDays > 0) parts.add('${inDays}d');
  if (inHours.remainder(24) > 0) parts.add('${inHours.remainder(24)}h');
  if (inMinutes.remainder(60) > 0) parts.add('${inMinutes.remainder(60)}m');
  if (inSeconds.remainder(60) > 0) parts.add('${inSeconds.remainder(60)}s');
  if (inMilliseconds.remainder(1000) > 0)
    parts.add('${inMilliseconds.remainder(1000)}ms');
  return parts.join(' ');
}