Add development time tracing of interceptors, effects, and coeffects
This commit is contained in:
parent
e3a90524fd
commit
0a9e69e4e6
|
@ -1,6 +1,12 @@
|
||||||
## Unreleased
|
## 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)
|
## 0.10.3 (2018.01.24)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
(:require
|
(:require
|
||||||
[re-frame.loggers :refer [console]]
|
[re-frame.loggers :refer [console]]
|
||||||
[re-frame.interop :refer [empty-queue debug-enabled?]]
|
[re-frame.interop :refer [empty-queue debug-enabled?]]
|
||||||
|
[re-frame.trace :as trace :include-macros true]
|
||||||
[clojure.set :as set]))
|
[clojure.set :as set]))
|
||||||
|
|
||||||
|
|
||||||
|
@ -192,6 +193,8 @@
|
||||||
already done. In advanced cases, these values can be modified by the
|
already done. In advanced cases, these values can be modified by the
|
||||||
functions through which the context is threaded."
|
functions through which the context is threaded."
|
||||||
[event-v interceptors]
|
[event-v interceptors]
|
||||||
|
(trace/merge-trace!
|
||||||
|
{:tags {:interceptors interceptors}})
|
||||||
(-> (context event-v interceptors)
|
(-> (context event-v interceptors)
|
||||||
(invoke-interceptors :before)
|
(invoke-interceptors :before)
|
||||||
change-direction
|
change-direction
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
[re-frame.db :refer [app-db]]
|
[re-frame.db :refer [app-db]]
|
||||||
[clojure.data :as data]
|
[clojure.data :as data]
|
||||||
[re-frame.cofx :as cofx]
|
[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
|
(def debug
|
||||||
|
@ -106,9 +107,13 @@
|
||||||
:id :db-handler
|
:id :db-handler
|
||||||
:before (fn db-handler-before
|
:before (fn db-handler-before
|
||||||
[context]
|
[context]
|
||||||
(let [{:keys [db event]} (:coeffects context)]
|
(let [{:keys [db event]} (:coeffects context)
|
||||||
(->> (handler-fn db event)
|
new-context (->> (handler-fn db event)
|
||||||
(assoc-effect context :db))))))
|
(assoc-effect context :db))]
|
||||||
|
(trace/merge-trace!
|
||||||
|
{:tags {:effects (:effects new-context)
|
||||||
|
:coeffects (:coeffects context)}})
|
||||||
|
new-context))))
|
||||||
|
|
||||||
|
|
||||||
(defn fx-handler->interceptor
|
(defn fx-handler->interceptor
|
||||||
|
@ -129,9 +134,13 @@
|
||||||
:id :fx-handler
|
:id :fx-handler
|
||||||
:before (fn fx-handler-before
|
:before (fn fx-handler-before
|
||||||
[context]
|
[context]
|
||||||
(let [{:keys [event] :as coeffects} (:coeffects context)]
|
(let [{:keys [event] :as coeffects} (:coeffects context)
|
||||||
(->> (handler-fn coeffects event)
|
new-context (->> (handler-fn coeffects event)
|
||||||
(assoc context :effects))))))
|
(assoc context :effects))]
|
||||||
|
(trace/merge-trace!
|
||||||
|
{:tags {:effects (:effects new-context)
|
||||||
|
:coeffects (:coeffects context)}})
|
||||||
|
new-context))))
|
||||||
|
|
||||||
|
|
||||||
(defn ctx-handler->interceptor
|
(defn ctx-handler->interceptor
|
||||||
|
@ -143,7 +152,13 @@
|
||||||
[handler-fn]
|
[handler-fn]
|
||||||
(->interceptor
|
(->interceptor
|
||||||
:id :ctx-handler
|
: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 ------------------------------------------------------------
|
;; -- Interceptors Factories - PART 2 ------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue