| summaryrefslogtreecommitdiff |
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-09-14 18:57:42 +0200 |
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-09-14 18:57:42 +0200 |
| commit | 2aa0c12b6a193d16681a0179a067664390af7aee (patch) | |
| tree | ca2e2533c3a9947ba5ef9d5e1d646b964ba82eb6 /src/Comm/SetBattles.elm | |
| parent | ac5b50e4a622ee0885678a96c69af7f49290bcee (diff) | |
...
Diffstat (limited to 'src/Comm/SetBattles.elm')
| -rw-r--r-- | src/Comm/SetBattles.elm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Comm/SetBattles.elm b/src/Comm/SetBattles.elm new file mode 100644 index 0000000..0add112 --- /dev/null +++ b/src/Comm/SetBattles.elm @@ -0,0 +1,51 @@ +module Comm.SetBattles exposing (decoder) + +-- Elm ------------------------------------------------------------------------- +import Json.Decode + +-- Extension ------------------------------------------------------------------- +import Struct.BattleSummary +import Struct.Player +import Struct.ServerReply + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type alias Battles = + { + campaigns : (List Struct.BattleSummary.Type), + invasions : (List Struct.BattleSummary.Type), + events : (List Struct.BattleSummary.Type) + } + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +internal_decoder : (Json.Decode.Decoder Battles) +internal_decoder = + (Json.Decode.map3 + Battles + (Json.Decode.field + "cmps" + (Json.Decode.list (Struct.BattleSummary.decoder)) + ) + (Json.Decode.field + "invs" + (Json.Decode.list (Struct.BattleSummary.decoder)) + ) + (Json.Decode.field + "evts" + (Json.Decode.list (Struct.BattleSummary.decoder)) + ) + ) + +to_server_reply : Battles -> Struct.ServerReply.Type +to_server_reply t = + (Struct.ServerReply.SetBattles (t.campaigns, t.invasions, t.events)) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +decoder : (Json.Decode.Decoder Struct.ServerReply.Type) +decoder = + (Json.Decode.map (to_server_reply) (internal_decoder)) |


