Adhere spec-tools 0.9.0 changes

This commit is contained in:
Tommi Reiman 2019-03-03 20:54:47 +02:00
parent a2843dd097
commit 549d2a0f97

View file

@ -2,7 +2,6 @@
(:require [clojure.spec.alpha :as s] (:require [clojure.spec.alpha :as s]
[spec-tools.core :as st #?@(:cljs [:refer [Spec]])] [spec-tools.core :as st #?@(:cljs [:refer [Spec]])]
[spec-tools.data-spec :as ds #?@(:cljs [:refer [Maybe]])] [spec-tools.data-spec :as ds #?@(:cljs [:refer [Maybe]])]
[spec-tools.transform :as stt]
[spec-tools.swagger.core :as swagger] [spec-tools.swagger.core :as swagger]
[reitit.coercion :as coercion] [reitit.coercion :as coercion]
[clojure.set :as set]) [clojure.set :as set])
@ -12,21 +11,13 @@
(def string-transformer (def string-transformer
(st/type-transformer (st/type-transformer
{:name :string st/strip-extra-keys-transformer
:decoders (merge st/string-transformer))
stt/string-type-decoders
stt/strip-extra-keys-type-decoders)
:encoders stt/string-type-encoders
:default-encoder stt/any->any}))
(def json-transformer (def json-transformer
(st/type-transformer (st/type-transformer
{:name :json st/strip-extra-keys-transformer
:decoders (merge st/json-transformer))
stt/json-type-decoders
stt/strip-extra-keys-type-decoders)
:encoders stt/json-type-encoders
:default-encoder stt/any->any}))
(def no-op-transformer (def no-op-transformer
(reify (reify
@ -131,9 +122,9 @@
(let [coerced (st/coerce spec value transformer)] (let [coerced (st/coerce spec value transformer)]
(if (s/valid? spec coerced) (if (s/valid? spec coerced)
coerced coerced
(let [transformed (st/conform spec value transformer)] (let [transformed (st/conform spec coerced transformer)]
(if (s/invalid? transformed) (if (s/invalid? transformed)
(let [problems (st/explain-data spec value transformer)] (let [problems (st/explain-data spec coerced transformer)]
(coercion/map->CoercionError (coercion/map->CoercionError
{:spec spec {:spec spec
:problems problems})) :problems problems}))