Prechádzať zdrojové kódy

[std] use the new function type syntax for replacer in Json (#7024)

Jens Fischer 7 rokov pred
rodič
commit
ebab9a4165

+ 1 - 1
std/flash/_std/haxe/Json.hx

@@ -33,7 +33,7 @@ class Json {
 	}
 
 	#if (haxeJSON || !flash11) inline #end
-	public static function stringify( value : Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space:String ) : String {
+	public static function stringify( value : Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space:String ) : String {
 		return haxe.format.JsonPrinter.print(value, replacer, space);
 	}
 }

+ 1 - 1
std/haxe/Json.hx

@@ -56,7 +56,7 @@ class Json {
 
 		@see https://haxe.org/manual/std-Json-encoding.html
 	**/
-	public static inline function stringify( value : Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space : String ) : String {
+	public static inline function stringify( value : Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space : String ) : String {
 		return haxe.format.JsonPrinter.print(value, replacer, space);
 	}
 

+ 3 - 3
std/haxe/format/JsonPrinter.hx

@@ -41,19 +41,19 @@ class JsonPrinter {
 		If `space` is given and is not null, the result will be pretty-printed.
 		Successive levels will be indented by this string.
 	**/
-	static public function print(o:Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space:String) : String {
+	static public function print(o:Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space:String) : String {
 		var printer = new JsonPrinter(replacer, space);
 		printer.write("", o);
 		return printer.buf.toString();
 	}
 
 	var buf : #if flash flash.utils.ByteArray #else StringBuf #end;
-	var replacer : Dynamic -> Dynamic -> Dynamic;
+	var replacer:(key:Dynamic, value:Dynamic) -> Dynamic;
 	var indent:String;
 	var pretty:Bool;
 	var nind:Int;
 
-	function new(replacer:Dynamic -> Dynamic -> Dynamic, space:String) {
+	function new(replacer:(key:Dynamic, value:Dynamic) -> Dynamic, space:String) {
 		this.replacer = replacer;
 		this.indent = space;
 		this.pretty = space != null;

+ 1 - 1
std/js/_std/haxe/Json.hx

@@ -33,7 +33,7 @@ class Json {
 	}
 
 	#if haxeJSON inline #end
-	public static function stringify( value : Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space:String ) : String {
+	public static function stringify( value : Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space:String ) : String {
 		return haxe.format.JsonPrinter.print(value, replacer, space);
 	}
 

+ 1 - 1
std/lua/_std/haxe/Json.hx

@@ -28,7 +28,7 @@ class Json {
 		return haxe.format.JsonParser.parse(text);
 	}
 
-	public static function stringify( value : Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space:String ) : String {
+	public static function stringify( value : Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space:String ) : String {
 		return haxe.format.JsonPrinter.print(value, replacer, space);
 	}
 

+ 2 - 2
std/php/_std/haxe/Json.hx

@@ -35,7 +35,7 @@ class Json {
 		#end
 	}
 
-	public static inline function stringify( value : Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space:String ) : String {
+	public static inline function stringify( value : Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space:String ) : String {
 		#if haxeJSON
 			return JsonPrinter.print(value, replacer, space);
 		#else
@@ -74,7 +74,7 @@ class Json {
 		return value;
 	}
 
-	static function phpJsonEncode(value:Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space:String):String {
+	static function phpJsonEncode(value:Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space:String):String {
 		if(null != replacer || null != space) {
 			return JsonPrinter.print(value, replacer, space);
 		}

+ 1 - 1
std/python/_std/haxe/Json.hx

@@ -29,7 +29,7 @@ class Json {
 		return python.lib.Json.loads(text, { object_hook : python.Lib.dictToAnon });
 	}
 
-	public static inline function stringify( value : Dynamic, ?replacer:Dynamic -> Dynamic -> Dynamic, ?space : String ) : String {
+	public static inline function stringify( value : Dynamic, ?replacer:(key:Dynamic, value:Dynamic) -> Dynamic, ?space : String ) : String {
 		return haxe.format.JsonPrinter.print(value, replacer, space);
 	}
 }