From 4e1068c41b84f0813b82fe61816271b92ca76f48 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Thu, 30 Jul 2020 14:43:25 +0200 Subject: Basic syncing --- client/src/Messages.elm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'client/src/Messages.elm') diff --git a/client/src/Messages.elm b/client/src/Messages.elm index 76b24f5..2239a74 100644 --- a/client/src/Messages.elm +++ b/client/src/Messages.elm @@ -8,14 +8,29 @@ import Dict exposing (Dict) import Set exposing (Set) +type alias GameView = + { players: (List String) + } + +jsonDecGameView : Json.Decode.Decoder ( GameView ) +jsonDecGameView = + Json.Decode.succeed (\pplayers -> {players = pplayers}) |> custom (Json.Decode.list (Json.Decode.string)) + +jsonEncGameView : GameView -> Value +jsonEncGameView val = + (Json.Encode.list Json.Encode.string) val.players + + type ServerMessage = Welcome Int + | SyncGameView GameView | Bye jsonDecServerMessage : Json.Decode.Decoder ( ServerMessage ) jsonDecServerMessage = let jsonDecDictServerMessage = Dict.fromList [ ("Welcome", Json.Decode.lazy (\_ -> Json.Decode.map Welcome (Json.Decode.int))) + , ("SyncGameView", Json.Decode.lazy (\_ -> Json.Decode.map SyncGameView (jsonDecGameView))) , ("Bye", Json.Decode.lazy (\_ -> Json.Decode.succeed Bye)) ] in decodeSumObjectWithSingleField "ServerMessage" jsonDecDictServerMessage @@ -24,6 +39,7 @@ jsonEncServerMessage : ServerMessage -> Value jsonEncServerMessage val = let keyval v = case v of Welcome v1 -> ("Welcome", encodeValue (Json.Encode.int v1)) + SyncGameView v1 -> ("SyncGameView", encodeValue (jsonEncGameView v1)) Bye -> ("Bye", encodeValue (Json.Encode.list identity [])) in encodeSumObjectWithSingleField keyval val -- cgit v1.2.3