summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/elm/Struct/Flags.elm')
-rw-r--r--src/shared/elm/Struct/Flags.elm58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/shared/elm/Struct/Flags.elm b/src/shared/elm/Struct/Flags.elm
new file mode 100644
index 0000000..8cb8aea
--- /dev/null
+++ b/src/shared/elm/Struct/Flags.elm
@@ -0,0 +1,58 @@
+module Struct.Flags exposing
+ (
+ Type,
+ maybe_get_param,
+ get_params_as_url
+ )
+
+-- Elm -------------------------------------------------------------------------
+import List
+
+-- Shared ----------------------------------------------------------------------
+import Util.List
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+type alias Type =
+ {
+ user_id : String,
+ token : String,
+ url_params : (List (List String))
+ }
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+param_as_url : (List String) -> String
+param_as_url param =
+ case param of
+ [name, value] -> (name ++ "=" ++ value)
+ _ -> ""
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+maybe_get_param : String -> Type -> (Maybe String)
+maybe_get_param param flags =
+ case
+ (Util.List.get_first
+ (\e -> ((List.head e) == (Just param)))
+ flags.url_params
+ )
+ of
+ Nothing -> Nothing
+ (Just a) ->
+ case (List.tail a) of
+ Nothing -> Nothing
+ (Just b) -> (List.head b)
+
+get_params_as_url : Type -> String
+get_params_as_url flags =
+ (List.foldl
+ (\param -> \current_params ->
+ (current_params ++ "&" ++ (param_as_url param))
+ )
+ ""
+ flags.url_params
+ )