blob: a9f1630ea02fab4437648a0c41211d50774588a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
module Struct.Flags exposing
(
Type,
maybe_get_param,
force_get_param,
get_params_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_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)
force_get_param : String -> Type -> String
force_get_param param flags =
case (maybe_get_param param flags) of
Nothing -> ""
(Just str) -> str
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
)
get_session_token : Type -> String
get_session_token flags = flags.token
get_user_id : Type -> String
get_user_id flags = flags.user_id
|