diff options
Diffstat (limited to 'src/client/Utils/Cmd.elm')
-rw-r--r-- | src/client/Utils/Cmd.elm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/client/Utils/Cmd.elm b/src/client/Utils/Cmd.elm new file mode 100644 index 0000000..5f41cbe --- /dev/null +++ b/src/client/Utils/Cmd.elm @@ -0,0 +1,16 @@ +module Utils.Cmd exposing + ( pipeUpdate + , (:>) + ) + +import Platform.Cmd as Cmd + +pipeUpdate : (model, Cmd msg) -> (model -> (model, Cmd msg)) -> (model, Cmd msg) +pipeUpdate (model, cmd) f = + let (newModel, newCmd) = f model + in (newModel, Cmd.batch [ cmd, newCmd ]) + +(:>) : (m, Cmd a) -> (m -> (m, Cmd a)) -> (m, Cmd a) +(:>) = pipeUpdate + +infixl 0 :> |