compareTo method

  1. @override
int compareTo(
  1. _Path<FieldPath> other
)
inherited

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(_Path<T> other) {
  final len = math.min(segments.length, other.segments.length);
  for (var i = 0; i < len; i++) {
    final compare = segments[i].compareTo(other.segments[i]);
    if (compare != 0) return compare;
  }

  if (this.segments.length < other.segments.length) return -1;
  if (this.segments.length > other.segments.length) return 1;

  return 0;
}