compareTo method

  1. @override
int compareTo(
  1. TransactionMetadata other
)
override

Compares this metadata map with another metadata map.

Implementation

@override
int compareTo(TransactionMetadata other) {
  if (other is! TransactionMetadata<
      Map<TransactionMetadata, TransactionMetadata>>) {
    return super.compareTo(other);
  }
  final lenComparison = value.length.compareTo(other.value.length);
  if (lenComparison == 0) {
    for (int i = 0; i < value.entries.length; i++) {
      final entry = value.entries.elementAt(i);
      final otherEntry = other.value.entries.elementAt(i);
      final keyCompare = entry.key.compareTo(otherEntry.key);
      if (keyCompare != 0) return keyCompare;
      final valueCompare = entry.value.compareTo(otherEntry.value);
      if (valueCompare != 0) return valueCompare;
    }
  }
  return lenComparison;
}