macro | previously cljs.spec/conformer | clojure.spec.alpha/conformer | Edit |
(conformer f)
(conformer f unf)
takes a predicate function with the semantics of conform i.e. it should return either a (possibly converted) value or :cljs.spec.alpha/invalid, and returns a spec that uses it as a predicate/conformer. Optionally takes a second fn that does unform of result of first
(defmacro conformer
([f] `(spec-impl '(conformer ~(res &env f)) ~f nil true))
([f unf] `(spec-impl '(conformer ~(res &env f) ~(res &env unf)) ~f nil true ~unf)))