aboutsummaryrefslogtreecommitdiff
path: root/src/client/Init.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/Init.elm')
-rw-r--r--src/client/Init.elm30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/client/Init.elm b/src/client/Init.elm
new file mode 100644
index 0000000..d87e870
--- /dev/null
+++ b/src/client/Init.elm
@@ -0,0 +1,30 @@
+module Init exposing
+ ( Init
+ , decoder
+ )
+
+import Time exposing (..)
+
+import Json.Decode as Decode exposing (Decoder)
+
+import Model.Translations exposing (..)
+import Model.Conf exposing (..)
+import Model.InitResult exposing (..)
+import Model.Size exposing (..)
+
+type alias Init =
+ { time : Time
+ , translations : Translations
+ , conf : Conf
+ , result : InitResult
+ , windowSize : Size
+ }
+
+decoder : Decoder Init
+decoder =
+ Decode.map5 Init
+ (Decode.field "time" Decode.float)
+ (Decode.field "translations" translationsDecoder)
+ (Decode.field "conf" confDecoder)
+ (Decode.field "result" initResultDecoder)
+ (Decode.field "windowSize" sizeDecoder)