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);