blob: f57362e074b65fb504841dc8b5673e6eb644a32e (
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 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
|