Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(425)

Unified Diff: samples/swarm/swarm_ui_lib/observable/observable.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « samples/swarm/swarm_ui_lib/layout/layout.dart ('k') | samples/swarm/swarm_ui_lib/touch/touch.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: samples/swarm/swarm_ui_lib/observable/observable.dart
diff --git a/samples/swarm/swarm_ui_lib/observable/observable.dart b/samples/swarm/swarm_ui_lib/observable/observable.dart
index 543884dc4ab00a6bb8a8c21982fc80d9cf4f4b22..6dda61bbf0ac88250a253a7cd842409bec5ddd5c 100644
--- a/samples/swarm/swarm_ui_lib/observable/observable.dart
+++ b/samples/swarm/swarm_ui_lib/observable/observable.dart
@@ -77,7 +77,9 @@ class AbstractObservable implements Observable {
// TODO(rnystrom): This is awkward without List.remove(e).
if (listeners.indexOf(listener, 0) != -1) {
bool found = false;
- listeners = listeners.filter((e) => found || !(found = (e == listener)));
+ listeners = listeners
+ .where((e) => found || !(found = (e == listener)))
+ .toList();
return true;
} else {
return false;
@@ -175,7 +177,7 @@ class ObservableList<T>
add(element);
}
- void addAll(Collection<T> elements) {
+ void addAll(Iterable<T> elements) {
for (T element in elements) {
add(element);
}
@@ -189,6 +191,10 @@ class ObservableList<T>
T get first => _internal.first;
T get last => _internal.last;
+ T get single => _internal.single;
+
+ T min([int compare(T a, T b)]) => _internal.min(compare);
+ T max([int compare(T a, T b)]) => _internal.max(compare);
T removeLast() {
final result = _internal.removeLast();
@@ -199,13 +205,13 @@ class ObservableList<T>
T removeAt(int index) {
int i = 0;
T found = null;
- _internal = _internal.filter((element) {
+ _internal = _internal.where((element) {
if (i++ == index) {
found = element;
return false;
}
return true;
- });
+ }).toList();
if (found != null) {
recordListRemove(index, found);
}
@@ -271,14 +277,28 @@ class ObservableList<T>
// Iterable<T>:
- Iterator<T> iterator() => _internal.iterator();
+ Iterator<T> get iterator => _internal.iterator;
// Collection<T>:
- Collection<T> filter(bool f(T element)) => _internal.filter(f);
- Collection map(f(T element)) => _internal.map(f);
+ Iterable<T> where(bool f(T element)) => _internal.where(f);
+ Iterable mappedBy(f(T element)) => _internal.mappedBy(f);
bool every(bool f(T element)) => _internal.every(f);
- bool some(bool f(T element)) => _internal.some(f);
+ bool any(bool f(T element)) => _internal.any(f);
void forEach(void f(T element)) { _internal.forEach(f); }
+ String join([String separator]) => _internal.join(separator);
+ Element firstMatching(bool test(Element value), {Element orElse()}) {
+ return _internal.firstMatching(test, orElse: orElse);
+ }
+ Element lastMatching(bool test(Element value), {Element orElse()}) {
+ return _internal.lastMatching(test, orElse: orElse);
+ }
+ Element singleMatching(bool test(Element value)) {
+ return _internal.singleMatching(test);
+ }
+ Element elementAt(int index) {
+ return _internal.elementAt(index);
+ }
+
bool get isEmpty => length == 0;
}
« no previous file with comments | « samples/swarm/swarm_ui_lib/layout/layout.dart ('k') | samples/swarm/swarm_ui_lib/touch/touch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698