formatted method

String formatted({
  1. int hoursWidth = 2,
  2. int minutesWidth = 2,
  3. int secondsWidth = 2,
  4. bool hoursAlways = true,
})

Implementation

String formatted({
  int hoursWidth = 2,
  int minutesWidth = 2,
  int secondsWidth = 2,
  bool hoursAlways = true,
}) {
  var _hoursWidth = hoursAlways == true || inHours > 0 ? hoursWidth : 0;
  var _secondsWidth = minutesWidth > 0 ? secondsWidth : 0;
  String hours = inHours
      .padLeft(_hoursWidth)
      .post(":", doIf: _hoursWidth > 0 && minutesWidth > 0);
  String minutes = inMinutes
      .remainder(60)
      .padLeft(minutesWidth)
      .post(":", doIf: minutesWidth > 0 && _secondsWidth > 0);
  String seconds = inSeconds.remainder(60).padLeft(_secondsWidth);
  return hours + minutes + seconds;
}