Index: sdk/lib/_internal/pub/lib/src/utils.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/utils.dart b/sdk/lib/_internal/pub/lib/src/utils.dart |
index 7af41e5f7ec03bef60391c16a6976a58a347ddf8..6e44ecb656f861990579ddba312c53e2e632bcf2 100644 |
--- a/sdk/lib/_internal/pub/lib/src/utils.dart |
+++ b/sdk/lib/_internal/pub/lib/src/utils.dart |
@@ -167,6 +167,19 @@ String padRight(String source, int length) { |
return result.toString(); |
} |
+/// Returns a labelled sentence fragment starting with [name] listing the |
+/// elements [iter]. |
+/// |
+/// If [iter] does not have one item, name will be pluralized by adding "s" or |
+/// using [plural], if given. |
+String namedSequence(String name, Iterable iter, [String plural]) { |
+ if (iter.length == 1) return "$name ${iter.first}"; |
nweiz
2014/09/15 22:57:18
Nit: I like [iter.single] here.
Bob Nystrom
2014/09/17 21:34:35
Done.
|
+ |
+ var sequence = iter.take(iter.length - 1).join(", ") + " and ${iter.last}"; |
nweiz
2014/09/15 22:57:18
Use [toSentence] here.
Bob Nystrom
2014/09/17 21:34:35
Done.
|
+ if (plural == null) plural = "${name}s"; |
+ return "$plural $sequence"; |
+} |
+ |
/// Returns a sentence fragment listing the elements of [iter]. |
/// |
/// This converts each element of [iter] to a string and separates them with |