format method

String format({
  1. String rangeSeparator = '–',
  2. String nonConsecutiveSeparator = ', ',
  3. String toString(
    1. E
    )?,
})

Formats this compressed range list into a readable string representation.

Implementation

String format({
  String rangeSeparator = '–',
  String nonConsecutiveSeparator = ', ',
  String Function(E)? toString,
}) =>
    map(
      (range) => [range.from, if (range.from != range.to) range.to]
          .map((item) => toString?.call(item) ?? item.toString())
          .join(rangeSeparator),
    ).join(nonConsecutiveSeparator);