Bladeren bron

deleteField now returns Bool.

Nicolas Cannasse 19 jaren geleden
bovenliggende
commit
6745cb8855
1 gewijzigde bestanden met toevoegingen van 12 en 4 verwijderingen
  1. 12 4
      std/Reflect.hx

+ 12 - 4
std/Reflect.hx

@@ -365,13 +365,21 @@ class Reflect {
 	/**
 	/**
 		Delete an object field.
 		Delete an object field.
 	**/
 	**/
-	public static function deleteField( o : Dynamic, f : String ) {
+	public static function deleteField( o : Dynamic, f : String ) : Bool {
 		#if flash
 		#if flash
-			untyped __delete__(o,f)
+			untyped {
+				if( this.hasOwnProperty.call(o,f) == null ) return false;
+				__delete__(o,f);
+				return true;
+			}
 		#else js
 		#else js
-			untyped delete(o[f])
+			untyped {
+				if( !hasField(o,f) ) return false;
+				untyped delete(o[f]);
+				return true;
+			}
 		#else neko
 		#else neko
-			untyped __dollar__objremove(o,f.__s)
+			return untyped __dollar__objremove(o,f.__s)
 		#else error
 		#else error
 		#end
 		#end
 			;
 			;