aboutsummaryrefslogtreecommitdiff
path: root/src/client/Utils/Cmd.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/Utils/Cmd.elm')
-rw-r--r--src/client/Utils/Cmd.elm16
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 :>