parseRange static method

List<int> parseRange(
  1. List<String> range
)

Implementation

static List<int> parseRange(List<String> range) {
  List<int> generateRange(int start, [int? end]) => List.generate(
        (end ?? start) - start + 1,
        (idx) => idx + start,
      );

  return range.fold<List<int>>([], (acc, cur) {
    final r = cur.split('-').map((cur) => int.parse(cur));
    return [...acc, ...generateRange(r.first, r.last)];
  });
}