(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))