Janiczek/cmd-extra/1.0.0

NOTE: the latest version is 1.1.0

Cmd.Extra

A library providing pipeline-friendly Cmd operators.

Cmds

withNoCmd : model -> ( model, Cmd msg )

Wraps the model with Cmd.none.

init : ( Model, Cmd Msg )
init =
    myModel
        |> withNoCmd
withCmd : Cmd msg -> model -> ( model, Cmd msg )

Wraps the model with given Cmd.

incrementAndPing : Model -> ( Model, Cmd Msg )
incrementAndPing model =
    { model | counter = model.counter + 1 }
        |> withCmd ping
withCmds : List (Cmd msg) -> model -> ( model, Cmd msg )

Wraps the model with given Cmds.

incrementAndPingTwice : Model -> ( Model, Cmd Msg )
incrementAndPingTwice model =
    { model | counter = model.counter + 1 }
        |> withCmds [ ping 1, ping 2 ]
addCmd : Cmd msg -> ( model, Cmd msg ) -> ( model, Cmd msg )

Adds a new Cmd to an existing model-Cmd tuple.

(model, cmd)
    |> addCmd ping
addCmds : List (Cmd msg) -> ( model, Cmd msg ) -> ( model, Cmd msg )

Adds new Cmds to an existing model-Cmd tuple.

(model, cmd)
    |> addCmds [ping 1, ping 2]