addRange function
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);
}
}