A music player that connects to your cloud/distributed storage.
at main 809 B view raw
1module Management exposing (..) 2 3import Monocle.Lens exposing (Lens) 4 5 6 7-- 📣 8 9 10type alias Manager msg model = 11 model -> ( model, Cmd msg ) 12 13 14 15-- 🔱 16 17 18{-| For working with nested models. 19 20 organize : Manager Msg NestedModel -> Manager Msg Model 21 organize = 22 { get = .nested 23 , set = \nested ui -> { ui | nested = nested } 24 } 25 |> Monocle.Lens.Lens 26 |> Management.organize 27 28 update : Nested.Msg -> Manager Msg Model 29 update msg = 30 case msg of 31 NestedMsg -> 32 organize handleNestedMsg 33 34-} 35organize : 36 Lens parent nested 37 -> Manager msg nested 38 -> Manager msg parent 39organize lens manager parent = 40 parent 41 |> lens.get 42 |> manager 43 |> Tuple.mapFirst (\nested -> lens.set nested parent)