compareTo method
Compares this object to another object.
Returns a value like a Comparator when comparing this
to other
.
That is, it returns a negative integer if this
is ordered before other
,
a positive integer if this
is ordered after other
,
and zero if this
and other
are ordered together.
The other
argument must be a value that is comparable to this object.
Implementation
@override
int compareTo(PlutusData other) {
if (other is! PlutusMap) {
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;
}