cljs.spec.alpha/nonconforming

functionpreviously cljs.spec/nonconformingEdit
(nonconforming spec)

Source docstring:
takes a spec and returns a spec that has the same properties except
'conform' returns the original (not the conformed) value. Note, will specize regex ops.
Source code @ clojurescript:src/main/cljs/cljs/spec/alpha.cljs
(defn nonconforming
  [spec]
  (let [spec (specize spec)]
    (reify
     Specize
     (specize* [s] s)
     (specize* [s _] s)

     Spec
     (conform* [_ x] (let [ret (conform* spec x)]
                       (if (invalid? ret)
                         ::invalid
                         x)))
     (unform* [_ x] (unform* spec x))
     (explain* [_ path via in x] (explain* spec path via in x))
     (gen* [_ overrides path rmap] (gen* spec overrides path rmap))
     (with-gen* [_ gfn] (nonconforming (with-gen* spec gfn)))
     (describe* [_] `(nonconforming ~(describe* spec))))))