Unroll merge and hash-map coercion

This commit is contained in:
Ben Sless 2022-12-06 21:35:26 +02:00
parent 8398c98595
commit 24f38e0dfa

View file

@ -47,13 +47,15 @@
(if serialize-failed-result (if serialize-failed-result
(str "Request coercion failed: " (pr-str result)) (str "Request coercion failed: " (pr-str result))
"Request coercion failed") "Request coercion failed")
(merge (-> {}
(into {} result) transient
{:type ::request-coercion (as-> $ (reduce conj! $ result))
:coercion coercion (assoc! :type ::request-coercion)
:value value (assoc! :coercion coercion)
:in [:request in] (assoc! :value value)
:request request})))) (assoc! :in [:request in])
(assoc! :request request)
persistent!))))
(defn ^:no-doc response-coercion-failed! [result coercion value request response serialize-failed-result] (defn ^:no-doc response-coercion-failed! [result coercion value request response serialize-failed-result]
(throw (throw
@ -61,14 +63,16 @@
(if serialize-failed-result (if serialize-failed-result
(str "Response coercion failed: " (pr-str result)) (str "Response coercion failed: " (pr-str result))
"Response coercion failed") "Response coercion failed")
(merge (-> {}
(into {} result) transient
{:type ::response-coercion (as-> $ (reduce conj! $ result))
:coercion coercion (assoc! :type ::response-coercion)
:value value (assoc! :coercion coercion)
:in [:response :body] (assoc! :value value)
:request request (assoc! :in [:response :body])
:response response})))) (assoc! :request request)
(assoc! :response response)
persistent!))))
(defn extract-request-format-default [request] (defn extract-request-format-default [request]
(-> request :muuntaja/request :format)) (-> request :muuntaja/request :format))