dvRoutesOverlap function
Whether some URL would match both a and b.
Implementation
bool dvRoutesOverlap(String a, String b) {
final List<String> left = _segments(a);
final List<String> right = _segments(b);
final int length = left.length < right.length ? left.length : right.length;
for (int i = 0; i < length; i++) {
final String l = left[i];
final String r = right[i];
// A catch-all takes the rest of the path, whatever it is.
if (l.startsWith('*') || r.startsWith('*')) return true;
if (_isParameter(l) || _isParameter(r)) continue;
if (l != r) return false;
}
if (left.length == right.length) return true;
// One ran out first. They still meet when the longer one's next segment is
// a catch-all, which can match nothing more.
final List<String> longer = left.length > right.length ? left : right;
return longer[length].startsWith('*') && longer.length == length + 1;
}