From: Marko Luukkainen Date: Mon, 2 Mar 2020 14:02:36 +0000 (+0200) Subject: Support fox six component Json array X-Git-Tag: v1.43.0~65 X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=7eae9b1b2b1b13b7ab2888ad2a35371d95f7dcc1;p=simantics%2Fplatform.git Support fox six component Json array gitlab #489 Change-Id: I01617086a1abab7a8400fe2b14456bce2647d22e (cherry picked from commit 3bfc832da98007484d90add605f5fc0fb056f676) --- diff --git a/bundles/org.simantics.scl.data/scl/Data/Json.scl b/bundles/org.simantics.scl.data/scl/Data/Json.scl index cacffb01a..268b9732a 100644 --- a/bundles/org.simantics.scl.data/scl/Data/Json.scl +++ b/bundles/org.simantics.scl.data/scl/Data/Json.scl @@ -309,6 +309,30 @@ instance (Json a, Json b, Json c, Json d, Json e) => Json (a, b, c, d, e) where toJson (a, b, c, d, e) = JsonArray [toJson a, toJson b, toJson c, toJson d, toJson e] fromJson (JsonArray [a, b, c, d, e]) = (fromJson a, fromJson b, fromJson c, fromJson d, fromJson e) +instance (Json a, Json b, Json c, Json d, Json e, Json f) => Json (a, b, c, d, e, f) where + writeJson g (a, b, c, d, e, f) = do + writeStartArray g + writeJson g a + writeJson g b + writeJson g c + writeJson g d + writeJson g e + writeJson g f + writeEndArray g + readJson p = (a, b, c, d, e, f) + where + assertStartArray p + a = readNextJson p + b = readNextJson p + c = readNextJson p + d = readNextJson p + e = readNextJson p + f = readNextJson p + assertEndArray p + toJson (a, b, c, d, e, f) = JsonArray [toJson a, toJson b, toJson c, toJson d, toJson e, toJson f] + fromJson (JsonArray [a, b, c, d, e, f]) = (fromJson a, fromJson b, fromJson c, fromJson d, fromJson e, fromJson f) + + data Json = JsonString String | JsonDouble Double