github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/src/SideBar/State.elm (about) 1 module SideBar.State exposing (SideBarState, decodeSideBarState, encodeSideBarState) 2 3 import Json.Decode 4 import Json.Decode.Extra exposing (andMap) 5 import Json.Encode 6 7 8 type alias SideBarState = 9 { isOpen : Bool 10 , width : Float 11 } 12 13 14 encodeSideBarState : SideBarState -> Json.Encode.Value 15 encodeSideBarState state = 16 Json.Encode.object 17 [ ( "is_open", state.isOpen |> Json.Encode.bool ) 18 , ( "width", state.width |> Json.Encode.float ) 19 ] 20 21 22 decodeSideBarState : Json.Decode.Decoder SideBarState 23 decodeSideBarState = 24 Json.Decode.succeed SideBarState 25 |> andMap (Json.Decode.field "is_open" Json.Decode.bool) 26 |> andMap (Json.Decode.field "width" Json.Decode.float)