6cabc53f79
Review URL: https://chromiumcodereview.appspot.com//9956076 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6117 260f80e4-7a28-3924-810f-c04153c831b5
55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
// Copyright (c) 2012, 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.
|
|
|
|
class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
|
|
|
|
// TODO(nweiz): update this when maps support lazy iteration
|
|
bool containsValue(String value) => getValues().some((e) => e == value);
|
|
|
|
bool containsKey(String key) => $dom_getItem(key) != null;
|
|
|
|
String operator [](String key) => $dom_getItem(key);
|
|
|
|
void operator []=(String key, String value) => $dom_setItem(key, value);
|
|
|
|
String putIfAbsent(String key, String ifAbsent()) {
|
|
if (!containsKey(key)) this[key] = ifAbsent();
|
|
return this[key];
|
|
}
|
|
|
|
String remove(String key) {
|
|
final value = this[key];
|
|
$dom_removeItem(key);
|
|
return value;
|
|
}
|
|
|
|
void clear() => $dom_clear();
|
|
|
|
void forEach(void f(String key, String value)) {
|
|
for (var i = 0; true; i++) {
|
|
final key = $dom_key(i);
|
|
if (key == null) return;
|
|
|
|
f(key, this[key]);
|
|
}
|
|
}
|
|
|
|
Collection<String> getKeys() {
|
|
final keys = [];
|
|
forEach((k, v) => keys.add(k));
|
|
return keys;
|
|
}
|
|
|
|
Collection<String> getValues() {
|
|
final values = [];
|
|
forEach((k, v) => values.add(v));
|
|
return values;
|
|
}
|
|
|
|
int get length() => $dom_length;
|
|
|
|
bool isEmpty() => $dom_key(0) == null;
|
|
$!MEMBERS
|
|
}
|