firstLower method

T firstLower(
  1. T i, {
  2. bool clamp = true,
})

Implementation

T firstLower(T i, {bool clamp = true}) {
  List<T> list = List<T>.from(this)..add(i);
  list.sort();
  final index = list.indexOf(i);
  if (i == list.first) {
    if (clamp) {
      return list[index + 1];
    } else {
      return i;
    }
  } else {
    return list[index - 1];
  }
}