| 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/Flags.elm | |
| parent | d2667e46fec8f15c29ffa80925d33b6931d8aa3b (diff) | |
...
Diffstat (limited to 'src/shared/elm/Shared/Struct/Flags.elm')
| -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 | 


