aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Utils/Cmd.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/Utils/Cmd.elm')
-rw-r--r--src/client/elm/Utils/Cmd.elm18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/client/elm/Utils/Cmd.elm b/src/client/elm/Utils/Cmd.elm
new file mode 100644
index 0000000..1eee6f3
--- /dev/null
+++ b/src/client/elm/Utils/Cmd.elm
@@ -0,0 +1,18 @@
+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
+ (model', cmd') = f model
+ in
+ (model', Cmd.batch [ cmd, cmd' ])
+
+(:>) : (m, Cmd a) -> (m -> (m, Cmd a)) -> (m, Cmd a)
+(:>) = pipeUpdate
+
+infixl 0 :>