toString method

  1. @override
String toString([
  1. bool? prettyPrint
])
override

Returns a string representation of (some of) the elements of this.

Use either the prettyPrint or the ImmutableCollection.prettyPrint parameters to get a prettier print.

See also: ImmutableCollection

Implementation

@override
String toString([bool? prettyPrint]) {
  if ((prettyPrint ?? ImmutableCollection.prettyPrint)) {
    int length = _m.length;
    if (length == 0) {
      return "{}";
    } else if (length == 1) {
      var entry = entries.single;
      return "{${entry.key}: ${entry.value}}";
    } else {
      Iterable<MapEntry<K, V>> sortedEntries = config.sort
          ? (entries.toList()..sort((e1, e2) => e1.key.compareObjectTo(e2.key)))
          : entries;
      return "{\n   ${sortedEntries.map((entry) => entry.print(prettyPrint)).join(",\n   ")}\n}";
    }
  } else {
    Iterable<MapEntry<K, V>> sortedEntries = config.sort
        ? (entries.toList()..sort((e1, e2) => e1.key.compareObjectTo(e2.key)))
        : entries;
    return "{${sortedEntries.map((entry) => entry.print(prettyPrint)).join(", ")}}";
  }
}