Index: mojo/public/dart/third_party/pub_semver/lib/src/utils.dart |
diff --git a/mojo/public/dart/third_party/pub_semver/lib/src/utils.dart b/mojo/public/dart/third_party/pub_semver/lib/src/utils.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2853e5cb452535ac85c7982e43392e726e3d1b53 |
--- /dev/null |
+++ b/mojo/public/dart/third_party/pub_semver/lib/src/utils.dart |
@@ -0,0 +1,26 @@ |
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library pub_semver.src.utils; |
+ |
+import 'version_range.dart'; |
+ |
+/// Returns whether [range1] is immediately next to, but not overlapping, |
+/// [range2]. |
+bool areAdjacent(VersionRange range1, VersionRange range2) { |
+ if (range1.max != range2.min) return false; |
+ |
+ return (range1.includeMax && !range2.includeMin) || |
+ (!range1.includeMax && range2.includeMin); |
+} |
+ |
+/// A [Comparator] that compares the maximum versions of [range1] and [range2]. |
+int compareMax(VersionRange range1, VersionRange range2) { |
+ if (range1.max < range2.max) return -1; |
+ if (range1.max > range2.max) return 1; |
+ |
+ if (!range1.includeMax && range2.includeMax) return -1; |
+ if (range1.includeMax && !range2.includeMax) return 1; |
+ return 0; |
+} |