Index: client/html/src/_Lists.dart |
diff --git a/client/html/src/_Lists.dart b/client/html/src/_Lists.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d4e8824c44c9b241e93e2b849dba672b42132404 |
--- /dev/null |
+++ b/client/html/src/_Lists.dart |
@@ -0,0 +1,51 @@ |
+// 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. |
+ |
+// TODO(jacobr): move into a core library or at least merge with the copy |
+// in client/dom/src |
+class _Lists { |
+ |
+ /** |
+ * Returns the index in the array [a] of the given [element], starting |
+ * the search at index [startIndex] to [endIndex] (exclusive). |
+ * Returns -1 if [element] is not found. |
+ */ |
+ static int indexOf(List a, |
+ Object element, |
+ int startIndex, |
+ int endIndex) { |
+ if (startIndex >= a.length) { |
+ return -1; |
+ } |
+ if (startIndex < 0) { |
+ startIndex = 0; |
+ } |
+ for (int i = startIndex; i < endIndex; i++) { |
+ if (a[i] == element) { |
+ return i; |
+ } |
+ } |
+ return -1; |
+ } |
+ |
+ /** |
+ * Returns the last index in the array [a] of the given [element], starting |
+ * the search at index [startIndex] to 0. |
+ * Returns -1 if [element] is not found. |
+ */ |
+ static int lastIndexOf(List a, Object element, int startIndex) { |
+ if (startIndex < 0) { |
+ return -1; |
+ } |
+ if (startIndex >= a.length) { |
+ startIndex = a.length - 1; |
+ } |
+ for (int i = startIndex; i >= 0; i--) { |
+ if (a[i] == element) { |
+ return i; |
+ } |
+ } |
+ return -1; |
+ } |
+} |