fix handlers-> macro
This commit is contained in:
parent
1a997cad39
commit
06bff32f79
|
@ -5,8 +5,14 @@
|
|||
All functions are expected to accept [db event] as parameters.
|
||||
If one handler returns a modified db it will be used as parameters for subsequent handlers."
|
||||
[& forms]
|
||||
(let [db (gensym "db")
|
||||
event (gensym "event")]
|
||||
(let [db (gensym "db")
|
||||
event (gensym "event")
|
||||
new-db (gensym "new-db")]
|
||||
`(fn [~db ~event]
|
||||
(let [~@(interleave (repeat db) (map #(list 'or (list % db event) db) forms))]
|
||||
~db))))
|
||||
(let [~@(interleave (repeat db)
|
||||
(map (fn [form]
|
||||
`(let [~new-db (~form ~db ~event)]
|
||||
(if (map? ~new-db)
|
||||
~new-db
|
||||
~db))) forms))]
|
||||
~db))))
|
||||
|
|
Loading…
Reference in New Issue