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(SpanMarker other) {
final offsetDiff = offset - other.offset;
if (offsetDiff != 0) {
return offsetDiff;
}
if (markerType != other.markerType) {
// Enforce that start markers come before end, even within the same index. This makes it much easier to process
// the spans linearly, such as in [collapseSpans].
return isStart ? -1 : 1;
}
return 0;
}