فهرست منبع

Clean up ES5 implementation of StringMap.keys() (#11895)

tobil4sk 7 ماه پیش
والد
کامیت
2e91b2a4f4
1فایلهای تغییر یافته به همراه1 افزوده شده و 23 حذف شده
  1. 1 23
      std/js/_std/haxe/ds/StringMap.hx

+ 1 - 23
std/js/_std/haxe/ds/StringMap.hx

@@ -116,7 +116,7 @@ import haxe.DynamicAccess;
 	}
 
 	public inline function keys():Iterator<String> {
-		return new StringMapKeyIterator(h);
+		return new haxe.iterators.ArrayIterator(Object.keys(h));
 	}
 
 	public inline function iterator():Iterator<T> {
@@ -157,28 +157,6 @@ import haxe.DynamicAccess;
 	}
 }
 
-private class StringMapKeyIterator {
-	final h:Dynamic;
-	final keys:Array<String>;
-	final length:Int;
-	var current:Int;
-
-	public inline function new(h:Dynamic) {
-		this.h = h;
-		keys = Object.keys(h);
-		length = keys.length;
-		current = 0;
-	}
-
-	public inline function hasNext():Bool {
-		return current < length;
-	}
-
-	public inline function next():String {
-		return keys[current++];
-	}
-}
-
 private class StringMapValueIterator<T> {
 	final h:Dynamic;
 	final keys:Array<String>;