From 80c3b7947eb0bd240d4c1f94808cb64d2fbfbf3d Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sat, 29 Sep 2018 13:30:15 +0200 Subject: ... --- src/background/src/Struct/BattleSummary.elm | 65 ------------ src/background/src/Struct/Flags.elm | 42 -------- src/background/src/Struct/Player.elm | 133 ------------------------ src/background/src/Struct/ServerReply.elm | 2 - src/background/src/Update/HandleServerReply.elm | 2 - src/popup/src/Struct/BattleSummary.elm | 65 ------------ src/popup/src/Struct/Flags.elm | 42 -------- src/popup/src/Struct/Player.elm | 133 ------------------------ src/shared/Struct/BattleSummary.elm | 79 ++++++++++++++ src/shared/Struct/Flags.elm | 57 ++++++++++ src/shared/Struct/Player.elm | 133 ++++++++++++++++++++++++ 11 files changed, 269 insertions(+), 484 deletions(-) delete mode 100644 src/background/src/Struct/BattleSummary.elm delete mode 100644 src/background/src/Struct/Flags.elm delete mode 100644 src/background/src/Struct/Player.elm delete mode 100644 src/popup/src/Struct/BattleSummary.elm delete mode 100644 src/popup/src/Struct/Flags.elm delete mode 100644 src/popup/src/Struct/Player.elm create mode 100644 src/shared/Struct/BattleSummary.elm create mode 100644 src/shared/Struct/Flags.elm create mode 100644 src/shared/Struct/Player.elm (limited to 'src') diff --git a/src/background/src/Struct/BattleSummary.elm b/src/background/src/Struct/BattleSummary.elm deleted file mode 100644 index adab965..0000000 --- a/src/background/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/background/src/Struct/Flags.elm b/src/background/src/Struct/Flags.elm deleted file mode 100644 index e5a79f8..0000000 --- a/src/background/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/background/src/Struct/Player.elm b/src/background/src/Struct/Player.elm deleted file mode 100644 index 1e8365a..0000000 --- a/src/background/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/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/shared/Struct/BattleSummary.elm b/src/shared/Struct/BattleSummary.elm new file mode 100644 index 0000000..1947613 --- /dev/null +++ b/src/shared/Struct/BattleSummary.elm @@ -0,0 +1,79 @@ +module Struct.BattleSummary exposing + ( + Type, + get_id, + get_name, + get_last_edit, + is_players_turn, + decoder, + encode, + none + ) + +-- Elm ------------------------------------------------------------------------- +import Json.Decode +import Json.Decode.Pipeline + +import Json.Encode + +-- Extension ------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- 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) + ) + +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 = + { + id = "", + name = "Unknown", + last_edit = "Never", + is_players_turn = False + } diff --git a/src/shared/Struct/Flags.elm b/src/shared/Struct/Flags.elm new file mode 100644 index 0000000..29707a9 --- /dev/null +++ b/src/shared/Struct/Flags.elm @@ -0,0 +1,57 @@ +module Struct.Flags exposing + ( + Type, + get_frequency, + get_players, + decoder, + encode + ) + +-- Elm ------------------------------------------------------------------------- +import Json.Decode +import Json.Encode + +-- Extension ------------------------------------------------------------------- +import Struct.Player + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type alias Type = + { + frequency : Int, + players : (List Struct.Player.Type) + } + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_frequency : Type -> Int +get_frequency flags = flags.frequency + +get_players : Type -> (List Struct.Player.Type) +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/shared/Struct/Player.elm b/src/shared/Struct/Player.elm new file mode 100644 index 0000000..1e8365a --- /dev/null +++ b/src/shared/Struct/Player.elm @@ -0,0 +1,133 @@ +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 = [] + } -- cgit v1.2.3-70-g09d2