28 lines
614 B
Clojure
28 lines
614 B
Clojure
(ns reagent.debug
|
|
(:require-macros [reagent.debug]))
|
|
|
|
(def ^:const has-console (exists? js/console))
|
|
|
|
(def ^boolean tracking false)
|
|
|
|
(defonce warnings (atom nil))
|
|
|
|
(defonce track-console
|
|
(let [o #js{}]
|
|
(set! (.-warn o)
|
|
(fn [& args]
|
|
(swap! warnings update-in [:warn] conj (apply str args))))
|
|
(set! (.-error o)
|
|
(fn [& args]
|
|
(swap! warnings update-in [:error] conj (apply str args))))
|
|
o))
|
|
|
|
(defn track-warnings [f]
|
|
(set! tracking true)
|
|
(reset! warnings nil)
|
|
(f)
|
|
(let [warns @warnings]
|
|
(reset! warnings nil)
|
|
(set! tracking false)
|
|
warns))
|