diff options
author | Noah Loomans <noahloomans@gmail.com> | 2017-09-13 21:48:04 +0200 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2017-09-13 21:48:04 +0200 |
commit | 5348b220c8ec071eee01578f0ea525e28d3a5c3f (patch) | |
tree | 29725415cc884227081c44b832d3daff46c9068d /src/client/elm/Main.elm | |
parent | 83034116b02497576d97bffc9e91a5476cc60d41 (diff) |
Mode DecodeFlags and Model to seperate files
Diffstat (limited to 'src/client/elm/Main.elm')
-rw-r--r-- | src/client/elm/Main.elm | 73 |
1 files changed, 2 insertions, 71 deletions
diff --git a/src/client/elm/Main.elm b/src/client/elm/Main.elm index de1f1fe..e59889d 100644 --- a/src/client/elm/Main.elm +++ b/src/client/elm/Main.elm @@ -1,9 +1,8 @@ module Main exposing (..) import Html exposing (..) -import Json.Decode exposing (Decoder, andThen, fail, string, succeed) -import Json.Decode.Pipeline exposing (decode, required) - +import Model exposing (Model) +import DecodeFlags exposing (Flags, init) main : Program Flags Model msg main = @@ -14,74 +13,6 @@ main = , subscriptions = subscriptions } - -type alias Flags = - Json.Decode.Value - - -type alias Model = - { users : List User - } - - -type alias User = - { type_ : UserType - , value : String - } - - -type UserType - = Class - | Teacher - | Room - | Student - - -init : Flags -> ( Model, Cmd msg ) -init flags = - case Json.Decode.decodeValue decodeUsers flags of - Ok user -> - ( Model user, Cmd.none ) - - Err err -> - Debug.crash err - - -decodeUsers : Decoder (List User) -decodeUsers = - Json.Decode.list decodeUser - - -decodeUser : Decoder User -decodeUser = - decode User - |> required "type" decodeUserType - |> required "value" string - - -decodeUserType : Json.Decode.Decoder UserType -decodeUserType = - string - |> andThen - (\s -> - case s of - "s" -> - succeed Student - - "c" -> - succeed Class - - "t" -> - succeed Teacher - - "r" -> - succeed Room - - _ -> - fail ("What the f*ck is " ++ s ++ "?") - ) - - update : msg -> Model -> ( Model, Cmd msg ) update msg model = ( model, Cmd.none ) |