Index: pkg/stub_core_library/lib/src/utils.dart |
diff --git a/pkg/stub_core_library/lib/src/utils.dart b/pkg/stub_core_library/lib/src/utils.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d5bdd8f4def76273473280b4864a6cf6a1730509 |
--- /dev/null |
+++ b/pkg/stub_core_library/lib/src/utils.dart |
@@ -0,0 +1,24 @@ |
+// Copyright (c) 2014, 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 stub_core_libraries.utils; |
+ |
+/// Returns a sentence fragment listing the elements of [iter]. |
+/// |
+/// This converts each element of [iter] to a string and separates them with |
+/// commas and/or "and" where appropriate. |
+String toSentence(Iterable iter) { |
+ if (iter.length == 1) return iter.first.toString(); |
+ return iter.take(iter.length - 1).join(", ") + " and ${iter.last}"; |
+} |
+ |
+/// Returns [name] if [number] is 1, or the plural of [name] otherwise. |
+/// |
+/// By default, this just adds "s" to the end of [name] to get the plural. If |
+/// [plural] is passed, that's used instead. |
+String pluralize(String name, int number, {String plural}) { |
+ if (number == 1) return name; |
+ if (plural != null) return plural; |
+ return '${name}s'; |
+} |