File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 88
99(ns cljs.spec.test
1010 (:require
11+ [cljs.util :refer [distinct-by]]
1112 [cljs.analyzer :as ana]
1213 [cljs.analyzer.api :as ana-api]
1314 [cljs.spec :as s]
@@ -99,13 +100,19 @@ Returns a collection of syms naming the vars instrumented."
99100 `(instrument ~sym-or-syms nil ))
100101 ([sym-or-syms opts]
101102 `(let [opts# ~opts]
102- (into
103+ (reduce
104+ (fn [ret [_ f]]
105+ (let [sym (f )]
106+ (cond-> ret sym (conj sym))))
103107 []
104- (comp (filter (instrumentable-syms opts#))
105- (distinct )
106- (map #(instrument-1* % opts#))
107- (remove nil?))
108- (collectionize ~sym-or-syms)))))
108+ (->> (zipmap
109+ (collectionize ~sym-or-syms)
110+ ~@(map
111+ (fn [sym]
112+ `(fn [] (instrument-1 ~sym opts#)))
113+ (collectionize ~sym-or-syms)))
114+ (filter #((instrumentable-syms opts#) (first %)))
115+ (distinct-by first))))))
109116
110117(defmacro unstrument
111118 " Undoes instrument on the vars named by sym-or-syms, specified
You can’t perform that action at this time.
0 commit comments