diff options
Diffstat (limited to 'client/src/Messages.elm')
-rw-r--r-- | client/src/Messages.elm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/client/src/Messages.elm b/client/src/Messages.elm index 69d0eff..1188525 100644 --- a/client/src/Messages.elm +++ b/client/src/Messages.elm @@ -125,14 +125,21 @@ jsonEncServerMessage val = type ClientMessage = ChangeMyName String + | ProposeWhiteCards WhiteCard jsonDecClientMessage : Json.Decode.Decoder ( ClientMessage ) jsonDecClientMessage = - Json.Decode.lazy (\_ -> Json.Decode.map ChangeMyName (Json.Decode.string)) - + let jsonDecDictClientMessage = Dict.fromList + [ ("ChangeMyName", Json.Decode.lazy (\_ -> Json.Decode.map ChangeMyName (Json.Decode.string))) + , ("ProposeWhiteCards", Json.Decode.lazy (\_ -> Json.Decode.map ProposeWhiteCards (jsonDecWhiteCard))) + ] + in decodeSumObjectWithSingleField "ClientMessage" jsonDecDictClientMessage jsonEncClientMessage : ClientMessage -> Value -jsonEncClientMessage (ChangeMyName v1) = - Json.Encode.string v1 +jsonEncClientMessage val = + let keyval v = case v of + ChangeMyName v1 -> ("ChangeMyName", encodeValue (Json.Encode.string v1)) + ProposeWhiteCards v1 -> ("ProposeWhiteCards", encodeValue (jsonEncWhiteCard v1)) + in encodeSumObjectWithSingleField keyval val |