aboutsummaryrefslogtreecommitdiff
path: root/client/src/Messages.elm
diff options
context:
space:
mode:
authorJasper Van der Jeugt2020-07-30 14:43:25 +0200
committerJasper Van der Jeugt2020-07-30 14:43:25 +0200
commit4e1068c41b84f0813b82fe61816271b92ca76f48 (patch)
treea0d0c0c612157a93b5c6548d61cd8103544facf3 /client/src/Messages.elm
parent724d731227294f0b2975d66ed727aca3f89c30ab (diff)
Basic syncing
Diffstat (limited to '')
-rw-r--r--client/src/Messages.elm16
1 files changed, 16 insertions, 0 deletions
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