mirror of
https://github.com/metosin/reitit.git
synced 2025-12-17 08:21:11 +00:00
Adhere spec-tools 0.9.0 changes
This commit is contained in:
parent
a2843dd097
commit
549d2a0f97
1 changed files with 6 additions and 15 deletions
|
|
@ -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}))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue