| summaryrefslogtreecommitdiff | 
diff options
| -rw-r--r-- | src/background/src/Struct/ServerReply.elm | 2 | ||||
| -rw-r--r-- | src/background/src/Update/HandleServerReply.elm | 2 | ||||
| -rw-r--r-- | src/popup/src/Struct/BattleSummary.elm | 65 | ||||
| -rw-r--r-- | src/popup/src/Struct/Flags.elm | 42 | ||||
| -rw-r--r-- | src/popup/src/Struct/Player.elm | 133 | ||||
| -rw-r--r-- | src/shared/Struct/BattleSummary.elm (renamed from src/background/src/Struct/BattleSummary.elm) | 16 | ||||
| -rw-r--r-- | src/shared/Struct/Flags.elm (renamed from src/background/src/Struct/Flags.elm) | 37 | ||||
| -rw-r--r-- | src/shared/Struct/Player.elm (renamed from src/background/src/Struct/Player.elm) | 0 | 
8 files changed, 41 insertions, 256 deletions
| diff --git a/src/background/src/Struct/ServerReply.elm b/src/background/src/Struct/ServerReply.elm index f0530d8..35d3f89 100644 --- a/src/background/src/Struct/ServerReply.elm +++ b/src/background/src/Struct/ServerReply.elm @@ -11,8 +11,6 @@ import Struct.BattleSummary  type Type =     Okay -   | SetID String -   | SetUsername String     | SetBattles        (           (List Struct.BattleSummary.Type), diff --git a/src/background/src/Update/HandleServerReply.elm b/src/background/src/Update/HandleServerReply.elm index c95000d..81fec2f 100644 --- a/src/background/src/Update/HandleServerReply.elm +++ b/src/background/src/Update/HandleServerReply.elm @@ -83,8 +83,6 @@ apply_command : (  apply_command command current_state =     case command of        Struct.ServerReply.Okay -> current_state -      (Struct.ServerReply.SetID str) -> current_state -- TODO -      (Struct.ServerReply.SetUsername str) -> current_state -- TODO        (Struct.ServerReply.SetBattles battles) ->           (handle_set_battles battles current_state) diff --git a/src/popup/src/Struct/BattleSummary.elm b/src/popup/src/Struct/BattleSummary.elm deleted file mode 100644 index adab965..0000000 --- a/src/popup/src/Struct/BattleSummary.elm +++ /dev/null @@ -1,65 +0,0 @@ -module Struct.BattleSummary exposing -   ( -      Type, -      get_id, -      get_name, -      get_last_edit, -      is_players_turn, -      decoder, -      none -   ) - --- Elm ------------------------------------------------------------------------- -import Json.Decode -import Json.Decode.Pipeline - --- Main Menu ------------------------------------------------------------------- - --------------------------------------------------------------------------------- --- TYPES ----------------------------------------------------------------------- --------------------------------------------------------------------------------- -type alias Type = -   { -      id : String, -      name : String, -      last_edit : String, -      is_players_turn : Bool -   } - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_id : Type -> String -get_id t = t.id - -get_name : Type -> String -get_name t = t.name - -get_last_edit : Type -> String -get_last_edit t = t.last_edit - -is_players_turn : Type -> Bool -is_players_turn t = t.is_players_turn - -decoder : (Json.Decode.Decoder Type) -decoder = -   (Json.Decode.Pipeline.decode -      Type -      |> (Json.Decode.Pipeline.required "id" Json.Decode.string) -      |> (Json.Decode.Pipeline.required "nme" Json.Decode.string) -      |> (Json.Decode.Pipeline.required "ldt" Json.Decode.string) -      |> (Json.Decode.Pipeline.required "ipt" Json.Decode.bool) -   ) - -none : Type -none = -   { -      id = "", -      name = "Unknown", -      last_edit = "Never", -      is_players_turn = False -   } diff --git a/src/popup/src/Struct/Flags.elm b/src/popup/src/Struct/Flags.elm deleted file mode 100644 index e5a79f8..0000000 --- a/src/popup/src/Struct/Flags.elm +++ /dev/null @@ -1,42 +0,0 @@ -module Struct.Flags exposing -   ( -      Type, -      get_frequency, -      get_players -   ) - --- Elm ------------------------------------------------------------------------- -import Json.Decode - --- Extension ------------------------------------------------------------------- -import Struct.Player - --------------------------------------------------------------------------------- --- TYPES ----------------------------------------------------------------------- --------------------------------------------------------------------------------- -type alias Type = -   { -      frequency : Int, -      players : String -   } - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_frequency : Type -> Int -get_frequency flags = flags.frequency - -get_players : Type -> (List Struct.Player.Type) -get_players flags = -   case -      (Json.Decode.decodeString -         (Json.Decode.list (Struct.Player.decoder)) -         flags.players -      ) -   of -      (Ok result) -> result -      (Err _) -> [] diff --git a/src/popup/src/Struct/Player.elm b/src/popup/src/Struct/Player.elm deleted file mode 100644 index 1e8365a..0000000 --- a/src/popup/src/Struct/Player.elm +++ /dev/null @@ -1,133 +0,0 @@ -module Struct.Player exposing -   ( -      Type, -      get_id, -      set_id, -      get_query_url, -      set_query_url, -      get_username, -      set_username, -      get_campaigns, -      get_invasions, -      get_events, -      set_battles, -      has_active_battles, -      decoder, -      encode, -      default -   ) - --- Elm ------------------------------------------------------------------------- -import Json.Decode -import Json.Decode.Pipeline -import Json.Encode - --- Extension ------------------------------------------------------------------- -import Struct.BattleSummary - --------------------------------------------------------------------------------- --- TYPES ----------------------------------------------------------------------- --------------------------------------------------------------------------------- -type alias Type = -   { -      id : String, -      name : String, -      query_url : String, -      campaigns : (List Struct.BattleSummary.Type), -      invasions : (List Struct.BattleSummary.Type), -      events : (List Struct.BattleSummary.Type) -   } - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_id : Type -> String -get_id t = t.id - -set_id : String -> Type -> Type -set_id str t = {t | id = str} - -get_username : Type -> String -get_username t = t.name - -set_username : String -> Type -> Type -set_username str t = {t | name = str} - -get_query_url : Type -> String -get_query_url t = t.query_url - -set_query_url : String -> Type -> Type -set_query_url str t = {t | query_url = str} - -get_campaigns : Type -> (List Struct.BattleSummary.Type) -get_campaigns t = t.campaigns - -get_invasions : Type -> (List Struct.BattleSummary.Type) -get_invasions t = t.invasions - -get_events : Type -> (List Struct.BattleSummary.Type) -get_events t = t.events - -set_battles : ( -      (List Struct.BattleSummary.Type) -> -      (List Struct.BattleSummary.Type) -> -      (List Struct.BattleSummary.Type) -> -      Type -> -      Type -   ) -set_battles campaigns invasions events t = -   {t | -      campaigns = -         (List.filter (Struct.BattleSummary.is_players_turn) campaigns), -      invasions = -         (List.filter (Struct.BattleSummary.is_players_turn) invasions), -      events = (List.filter (Struct.BattleSummary.is_players_turn) events) -   } - -has_active_battles : Type -> Bool -has_active_battles t = -   ( -      ( -         (List.length t.campaigns) -         + (List.length t.invasions) -         + (List.length t.events) -      ) -      > 0 -   ) - -decoder : (Json.Decode.Decoder Type) -decoder = -   (Json.Decode.Pipeline.decode -      Type -      |> (Json.Decode.Pipeline.required "id" Json.Decode.string) -      |> (Json.Decode.Pipeline.required "name" Json.Decode.string) -      |> (Json.Decode.Pipeline.required "query_url" Json.Decode.string) -      |> (Json.Decode.Pipeline.hardcoded []) -      |> (Json.Decode.Pipeline.hardcoded []) -      |> (Json.Decode.Pipeline.hardcoded []) -   ) - -encode : Type -> Json.Encode.Value -encode t = -   (Json.Encode.object -      [ -         ("id", (Json.Encode.string t.id)), -         ("name", (Json.Encode.string t.name)), -         ("query_url", (Json.Encode.string t.query_url)) -      ] -   ) - -default : Type -default = -   { -      id = "0", -      name = "Username", -      query_url = "http://127.0.0.1/", -      campaigns = [], -      invasions = [], -      events = [] -   } diff --git a/src/background/src/Struct/BattleSummary.elm b/src/shared/Struct/BattleSummary.elm index adab965..1947613 100644 --- a/src/background/src/Struct/BattleSummary.elm +++ b/src/shared/Struct/BattleSummary.elm @@ -6,6 +6,7 @@ module Struct.BattleSummary exposing        get_last_edit,        is_players_turn,        decoder, +      encode,        none     ) @@ -13,7 +14,9 @@ module Struct.BattleSummary exposing  import Json.Decode  import Json.Decode.Pipeline --- Main Menu ------------------------------------------------------------------- +import Json.Encode + +-- Extension -------------------------------------------------------------------  --------------------------------------------------------------------------------  -- TYPES ----------------------------------------------------------------------- @@ -55,6 +58,17 @@ decoder =        |> (Json.Decode.Pipeline.required "ipt" Json.Decode.bool)     ) +encode : Type -> Json.Encode.Value +encode t = +   (Json.Encode.object +      [ +         ("id", (Json.Encode.string t.id)), +         ("nme", (Json.Encode.string t.name)), +         ("ldt", (Json.Encode.string t.last_edit)), +         ("ipt", (Json.Encode.bool t.is_players_turn)) +      ] +   ) +  none : Type  none =     { diff --git a/src/background/src/Struct/Flags.elm b/src/shared/Struct/Flags.elm index e5a79f8..29707a9 100644 --- a/src/background/src/Struct/Flags.elm +++ b/src/shared/Struct/Flags.elm @@ -2,11 +2,14 @@ module Struct.Flags exposing     (        Type,        get_frequency, -      get_players +      get_players, +      decoder, +      encode     )  -- Elm -------------------------------------------------------------------------  import Json.Decode +import Json.Encode  -- Extension -------------------------------------------------------------------  import Struct.Player @@ -17,7 +20,7 @@ import Struct.Player  type alias Type =     {        frequency : Int, -      players : String +      players : (List Struct.Player.Type)     }  -------------------------------------------------------------------------------- @@ -31,12 +34,24 @@ get_frequency : Type -> Int  get_frequency flags = flags.frequency  get_players : Type -> (List Struct.Player.Type) -get_players flags = -   case -      (Json.Decode.decodeString -         (Json.Decode.list (Struct.Player.decoder)) -         flags.players -      ) -   of -      (Ok result) -> result -      (Err _) -> [] +get_players flags = flags.players + +decoder : (Json.Decode.Decoder Type) +decoder = +   (Json.Decode.map2 +      Type +      (Json.Decode.field "frequency" (Json.Decode.int)) +      (Json.Decode.field "players" (Json.Decode.list (Struct.Player.decoder))) +   ) + +encode : Type -> Json.Encode.Value +encode flags = +   (Json.Encode.object +      [ +         ("frequency", (Json.Encode.int flags.frequency)), +         ( +            "players", +            (Json.Encode.list (List.map (Struct.Player.encode) flags.players)) +         ) +      ] +   ) diff --git a/src/background/src/Struct/Player.elm b/src/shared/Struct/Player.elm index 1e8365a..1e8365a 100644 --- a/src/background/src/Struct/Player.elm +++ b/src/shared/Struct/Player.elm | 


