diff --git a/src/kiss_tools/JsonMap.hx b/src/kiss_tools/JsonMap.hx index f2540fb..833b6ee 100644 --- a/src/kiss_tools/JsonMap.hx +++ b/src/kiss_tools/JsonMap.hx @@ -16,5 +16,7 @@ typedef Jsonable = { function parse(s:String):T; } +typedef JsonStringMap = JsonMap; + @:build(kiss.Kiss.build()) class JsonMap> {} diff --git a/src/kiss_tools/JsonableString.hx b/src/kiss_tools/JsonableString.hx new file mode 100644 index 0000000..27542f9 --- /dev/null +++ b/src/kiss_tools/JsonableString.hx @@ -0,0 +1,8 @@ +package kiss_tools; + +import kiss.Prelude; +import kiss.List; +import haxe.Json; + +@:build(kiss.Kiss.build()) +class JsonableString {} diff --git a/src/kiss_tools/JsonableString.kiss b/src/kiss_tools/JsonableString.kiss new file mode 100644 index 0000000..fb483cb --- /dev/null +++ b/src/kiss_tools/JsonableString.kiss @@ -0,0 +1,7 @@ +(defNew [&prop :String value]) + +(method parse [:String representation] + (new JsonableString (Json.parse representation))) + +(method stringify [] + (Json.stringify value)) \ No newline at end of file