resolveAuto static method

DurationFormat resolveAuto(
  1. Duration duration, [
  2. bool includeWeeks = false
])

Returns most suitable DurationFormat for duration

Set includeWeeks to true if you need week as a unit

Implementation

static DurationFormat resolveAuto(
  Duration duration, [
  bool includeWeeks = false,
]) {
  // I really don't want to deal with negative numbers
  duration = duration.abs();

  if (duration.inYears >= 1) {
    return DurationFormat.ym;
  } else if (duration.inMonths >= 1) {
    return DurationFormat.md;
  } else if (includeWeeks && duration.inWeeks >= 1) {
    return DurationFormat.wd;
  } else if (duration.inDays >= 1) {
    return DurationFormat.dh;
  } else if (duration.inHours >= 1) {
    return DurationFormat.hm;
  } else if (duration.inMinutes >= 1) {
    return DurationFormat.ms;
  } else {
    return DurationFormat.s;
  }
}