format method

String format({
  1. Printer<T>? valuePrinter,
  2. Printer<String>? paddingPrinter,
  3. Printer<String>? ellipsesPrinter,
  4. bool limit = true,
  5. int leadingItems = 3,
  6. int trailingItems = 3,
  7. String separator = ' ',
  8. String ellipses = '\u2026',
})

Returns a human readable representation of the vector.

Implementation

String format({
  Printer<T>? valuePrinter,
  Printer<String>? paddingPrinter,
  Printer<String>? ellipsesPrinter,
  bool limit = true,
  int leadingItems = 3,
  int trailingItems = 3,
  String separator = ' ',
  String ellipses = '\u2026',
}) {
  final buffer = StringBuffer();
  valuePrinter ??= dataType.printer;
  paddingPrinter ??= const StandardPrinter<String>();
  ellipsesPrinter ??= const StandardPrinter<String>();
  for (var i = 0; i < count; i++) {
    if (i > 0) {
      buffer.write(separator);
    }
    if (limit && leadingItems <= i && i < count - trailingItems) {
      buffer.write(paddingPrinter(ellipsesPrinter(ellipses)));
      i = count - trailingItems - 1;
    } else {
      buffer.write(paddingPrinter(valuePrinter(getUnchecked(i))));
    }
  }
  return buffer.toString();
}