mirror of
https://github.com/status-im/re-frame.git
synced 2025-02-21 14:28:07 +00:00
Add development time tracing of interceptors, effects, and coeffects
This commit is contained in:
parent
e3a90524fd
commit
0a9e69e4e6
@ -1,6 +1,12 @@
|
||||
## Unreleased
|
||||
|
||||
|
||||
## 0.10.4 (2018.01.31)
|
||||
|
||||
#### Changed
|
||||
|
||||
- Interceptors, effects, and coeffects are now captured in re-frame's tracing.
|
||||
|
||||
|
||||
## 0.10.3 (2018.01.24)
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
(:require
|
||||
[re-frame.loggers :refer [console]]
|
||||
[re-frame.interop :refer [empty-queue debug-enabled?]]
|
||||
[re-frame.trace :as trace :include-macros true]
|
||||
[clojure.set :as set]))
|
||||
|
||||
|
||||
@ -192,6 +193,8 @@
|
||||
already done. In advanced cases, these values can be modified by the
|
||||
functions through which the context is threaded."
|
||||
[event-v interceptors]
|
||||
(trace/merge-trace!
|
||||
{:tags {:interceptors interceptors}})
|
||||
(-> (context event-v interceptors)
|
||||
(invoke-interceptors :before)
|
||||
change-direction
|
||||
|
@ -7,7 +7,8 @@
|
||||
[re-frame.db :refer [app-db]]
|
||||
[clojure.data :as data]
|
||||
[re-frame.cofx :as cofx]
|
||||
[re-frame.utils :as utils]))
|
||||
[re-frame.utils :as utils]
|
||||
[re-frame.trace :as trace :include-macros true]))
|
||||
|
||||
|
||||
(def debug
|
||||
@ -106,9 +107,13 @@
|
||||
:id :db-handler
|
||||
:before (fn db-handler-before
|
||||
[context]
|
||||
(let [{:keys [db event]} (:coeffects context)]
|
||||
(->> (handler-fn db event)
|
||||
(assoc-effect context :db))))))
|
||||
(let [{:keys [db event]} (:coeffects context)
|
||||
new-context (->> (handler-fn db event)
|
||||
(assoc-effect context :db))]
|
||||
(trace/merge-trace!
|
||||
{:tags {:effects (:effects new-context)
|
||||
:coeffects (:coeffects context)}})
|
||||
new-context))))
|
||||
|
||||
|
||||
(defn fx-handler->interceptor
|
||||
@ -129,9 +134,13 @@
|
||||
:id :fx-handler
|
||||
:before (fn fx-handler-before
|
||||
[context]
|
||||
(let [{:keys [event] :as coeffects} (:coeffects context)]
|
||||
(->> (handler-fn coeffects event)
|
||||
(assoc context :effects))))))
|
||||
(let [{:keys [event] :as coeffects} (:coeffects context)
|
||||
new-context (->> (handler-fn coeffects event)
|
||||
(assoc context :effects))]
|
||||
(trace/merge-trace!
|
||||
{:tags {:effects (:effects new-context)
|
||||
:coeffects (:coeffects context)}})
|
||||
new-context))))
|
||||
|
||||
|
||||
(defn ctx-handler->interceptor
|
||||
@ -143,7 +152,13 @@
|
||||
[handler-fn]
|
||||
(->interceptor
|
||||
:id :ctx-handler
|
||||
:before handler-fn))
|
||||
:before (fn ctx-handler-before
|
||||
[context]
|
||||
(let [new-context (handler-fn context)]
|
||||
(trace/merge-trace!
|
||||
{:tags {:effects (:effects new-context)
|
||||
:coeffects (:coeffects context)}})
|
||||
new-context))))
|
||||
|
||||
|
||||
;; -- Interceptors Factories - PART 2 ------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user