addRange function

void addRange(
  1. int from,
  2. int to,
  3. List<int> ranges, [
  4. int margin = 0,
])

Add a range to a list of ranges, merging overlapping ones.

Implementation

void addRange(int from, int to, List<int> ranges, [int margin = 0]) {
  final last = ranges.length - 1;
  if (last >= 0 && ranges[last] + margin >= from) {
    ranges[last] = ranges[last] > to ? ranges[last] : to;
  } else {
    ranges.add(from);
    ranges.add(to);
  }
}