Index: utils/dartdoc/utils.dart |
diff --git a/utils/dartdoc/utils.dart b/utils/dartdoc/utils.dart |
deleted file mode 100644 |
index b827772f84236076da2ae360a093b396d0cb679e..0000000000000000000000000000000000000000 |
--- a/utils/dartdoc/utils.dart |
+++ /dev/null |
@@ -1,79 +0,0 @@ |
-// Copyright (c) 2011, 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. |
- |
-// Generic utility functions. |
- |
-/** Invokes [callback] and returns how long it took to execute in ms. */ |
-num time(callback()) { |
- final watch = new Stopwatch(); |
- watch.start(); |
- callback(); |
- watch.stop(); |
- return watch.elapsedInMs(); |
-} |
- |
-/** Turns [name] into something that's safe to use as a file name. */ |
-String sanitize(String name) => name.replaceAll(':', '_').replaceAll('/', '_'); |
- |
-/** Returns the number of times [search] occurs in [text]. */ |
-int countOccurrences(String text, String search) { |
- int start = 0; |
- int count = 0; |
- |
- while (true) { |
- start = text.indexOf(search, start); |
- if (start == -1) break; |
- count++; |
- // Offsetting by search length means overlapping results are not counted. |
- start += search.length; |
- } |
- |
- return count; |
-} |
- |
-/** Repeats [text] [count] times, separated by [separator] if given. */ |
-String repeat(String text, int count, [String separator]) { |
- // TODO(rnystrom): Should be in corelib. |
- final buffer = new StringBuffer(); |
- for (int i = 0; i < count; i++) { |
- buffer.add(text); |
- if ((i < count - 1) && (separator !== null)) buffer.add(separator); |
- } |
- |
- return buffer.toString(); |
-} |
- |
-/** Removes up to [indentation] leading whitespace characters from [text]. */ |
-String unindent(String text, int indentation) { |
- var start; |
- for (start = 0; start < Math.min(indentation, text.length); start++) { |
- // Stop if we hit a non-whitespace character. |
- if (text[start] != ' ') break; |
- } |
- |
- return text.substring(start); |
-} |
- |
-/** Sorts the map by the key, doing a case-insensitive comparison. */ |
-List orderByName(Map<String, Dynamic> map) { |
- // TODO(rnystrom): it'd be nice to have this in corelib. |
- List keys = map.getKeys(); |
- keys.sort((x, y) => x.toUpperCase().compareTo(y.toUpperCase())); |
- final values = []; |
- for (var k in keys) { |
- values.add(map[k]); |
- } |
- return values; |
-} |
- |
-/** |
- * Joins [items] into a single, comma-separated string using [conjunction]. |
- * E.g. `['A', 'B', 'C']` becomes `"A, B, and C"`. |
- */ |
-String joinWithCommas(List<String> items, [String conjunction = 'and']) { |
- if (items.length == 1) return items[0]; |
- if (items.length == 2) return "${items[0]} $conjunction ${items[1]}"; |
- return Strings.join(items.getRange(0, items.length - 1), ', ') + |
- ', $conjunction ' + items[items.length - 1]; |
-} |