aboutsummaryrefslogtreecommitdiff
path: root/src/client/Utils/Cmd.elm
diff options
context:
space:
mode:
authorJoris2017-03-26 21:10:42 +0200
committerJoris2017-03-26 21:10:42 +0200
commit1e47a7754ca38bd1a6c74765d8378caf68ce4619 (patch)
treed0d9238479dc2529a1b558bbbcde346e7e8c2935 /src/client/Utils/Cmd.elm
parentc0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456 (diff)
downloadbudget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.tar.gz
budget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.tar.bz2
budget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.zip
Separate client and server watch
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 :>