From f6fd34791d456ddf49aafe5d64fe5ad492d9410e Mon Sep 17 00:00:00 2001 From: Alan Thompson Date: Fri, 31 Jul 2020 16:45:23 -0700 Subject: [PATCH] automatically call `instrument` upon every function definition --- src/cljc/orchestra/detail.cljc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/cljc/orchestra/detail.cljc b/src/cljc/orchestra/detail.cljc index 5e8b96a..50c7f7b 100644 --- a/src/cljc/orchestra/detail.cljc +++ b/src/cljc/orchestra/detail.cljc @@ -1,7 +1,8 @@ (ns orchestra.detail - (:require [#?(:clj clojure.spec.alpha - :cljs cljs.spec.alpha) - :as s])) + (:require + [#?(:clj clojure.spec.alpha + :cljs cljs.spec.alpha) :as s] + [orchestra.spec.test :as ost])) ;;;; destructure @@ -176,8 +177,8 @@ {:args args-spec})})) (defn defn-spec-helper [& args] - (let [s-fdef (spec-fn ::fdef) - exploded (apply explode-def args) + (let [s-fdef (spec-fn ::fdef) + exploded (apply explode-def args) stripped-meta (dissoc (:meta exploded) :fn)] `(do (defn ~(::name exploded) @@ -185,6 +186,7 @@ ~(or stripped-meta {}) ~@(::arities exploded)) (~s-fdef ~(::name exploded) - :args ~(-> exploded ::spec-map :args) - :fn ~(-> exploded ::spec-map :fn) - :ret ~(-> exploded ::spec-map :ret))))) + :args ~(-> exploded ::spec-map :args) + :fn ~(-> exploded ::spec-map :fn) + :ret ~(-> exploded ::spec-map :ret)) + (ost/instrument))))