summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-05-10 18:08:26 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-05-10 18:08:26 +0200 |
commit | fc09d979e4c753377131684b1100c250e89765ea (patch) | |
tree | a79689b720794b4a5503ac63ff4c84dfd04e6f41 /src/shared/elm/Shared/Struct | |
parent | d2667e46fec8f15c29ffa80925d33b6931d8aa3b (diff) |
...
Diffstat (limited to 'src/shared/elm/Shared/Struct')
-rw-r--r-- | src/shared/elm/Shared/Struct/Flags.elm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/shared/elm/Shared/Struct/Flags.elm b/src/shared/elm/Shared/Struct/Flags.elm new file mode 100644 index 0000000..f57362e --- /dev/null +++ b/src/shared/elm/Shared/Struct/Flags.elm @@ -0,0 +1,73 @@ +module Shared.Struct.Flags exposing + ( + Type, + maybe_get_parameter, + force_get_parameter, + get_parameters_as_url, + get_session_token, + get_user_id + ) + +-- Elm ------------------------------------------------------------------------- +import List + +-- Shared ---------------------------------------------------------------------- +import Util.List + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type alias Type = + { + user_id : String, + token : String, + url_parameters : (List (List String)) + } + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +parameter_as_url : (List String) -> String +parameter_as_url parameter = + case parameter of + [name, value] -> (name ++ "=" ++ value) + _ -> "" + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +maybe_get_parameter : String -> Type -> (Maybe String) +maybe_get_parameter parameter flags = + case + (Util.List.get_first + (\e -> ((List.head e) == (Just parameter))) + flags.url_parameters + ) + of + Nothing -> Nothing + (Just a) -> + case (List.tail a) of + Nothing -> Nothing + (Just b) -> (List.head b) + +force_get_parameter : String -> Type -> String +force_get_parameter parameter flags = + case (maybe_get_parameter parameter flags) of + Nothing -> "" + (Just str) -> str + +get_parameters_as_url : Type -> String +get_parameters_as_url flags = + (List.foldl + (\parameter -> \current_parameters -> + (current_parameters ++ "&" ++ (parameter_as_url parameter)) + ) + "" + flags.url_parameters + ) + +get_session_token : Type -> String +get_session_token flags = flags.token + +get_user_id : Type -> String +get_user_id flags = flags.user_id |