format method

string format({
  1. bool? includeMilliseconds,
  2. bool? includeMicroseconds,
})

Implementation

string format({
  bool? includeMilliseconds,
  bool? includeMicroseconds,
}) {
  includeMicroseconds ??= inMicroseconds < 1000;
  includeMilliseconds ??= inMilliseconds < 1000;
  var hours = inHours;
  var minutes = inMinutes.remainder(60);
  var seconds = inSeconds.remainder(60);
  var milliseconds = inMilliseconds.remainder(1000);
  var microseconds = inMicroseconds.remainder(1000);

  var formatted = "";
  if (hours > 0) {
    formatted += "$hours h ";
  }
  if (minutes > 0) {
    formatted += "$minutes min ";
  }
  if (seconds > 0) {
    formatted += "$seconds s ";
  }
  if (includeMilliseconds && milliseconds > 0) {
    formatted += "$milliseconds ms ";
  }
  if (includeMicroseconds && microseconds > 0) {
    formatted += "$microseconds µs";
  }
  return formatted.trim();
}