|
@@ -24,11 +24,21 @@ package js;
|
|
|
@:native("Map")
|
|
|
extern class Map<K,V> {
|
|
|
var size(default,null):Int;
|
|
|
- @:pure function new();
|
|
|
+ @:pure function new(?iterable:Any);
|
|
|
@:pure function has(key:K):Bool;
|
|
|
@:pure function get(key:K):Null<V>;
|
|
|
function set(key:K, value:V):Map<K,V>;
|
|
|
function delete(key:K):Bool;
|
|
|
function clear():Void;
|
|
|
function forEach(callback:(value:V, key:K, map:Map<K,V>)->Void, ?thisArg:Any):Void;
|
|
|
+ function keys():JsIterator<K>;
|
|
|
+ function values():JsIterator<V>;
|
|
|
+ function entries():JsIterator<MapEntry<K,V>>;
|
|
|
+}
|
|
|
+
|
|
|
+abstract MapEntry<K,V>(Array<Any>) {
|
|
|
+ public var key(get,never):K;
|
|
|
+ public var value(get,never):V;
|
|
|
+ inline function get_key():K return this[0];
|
|
|
+ inline function get_value():V return this[1];
|
|
|
}
|