cljs.spec/instrument

macroremoved v1.9.183added v1.9.14Edit
(instrument v)

Source docstring:
Instruments the var at v, a var or symbol, to check specs
registered with fdef. Wraps the fn at v to check :args
spec, if it exist, throwing an ex-info with explain-data if a
check fails. Idempotent.
Source code @ clojurescript:src/main/cljs/cljs/spec.cljc
(defmacro instrument
  [v]
  (let [v   (if-not (seq? v) (list 'var v) v)
        sym (second v)]
    `(do
       (when-let [checked# (cljs.spec/instrument* ~v)]
         (set! ~sym checked#))
       ~v)))