From c33d692218c5a35879c8b27d310b6d780094f9bf Mon Sep 17 00:00:00 2001 From: Andrea Richiardi Date: Tue, 19 Mar 2024 10:28:11 -0600 Subject: [PATCH] Remove s/unform call in s/Spec explain* Trying to workaround the following issue, waiting for an actual fix: https://github.com/metosin/spec-tools/issues/262 This path prevents throwing the error: java.lang.UnsupportedOperationException: nth not supported on this type: PersistentArrayMap at clojure.lang.RT.nthFrom(RT.java:992) at clojure.lang.RT.nth(RT.java:940) at clojure.spec.alpha$or_spec_impl$reify__2112.unform_STAR_(alpha.clj:1101) at clojure.spec.alpha$unform.invokeStatic(alpha.clj:178) at clojure.spec.alpha$unform.invoke(alpha.clj:173) at clojure.spec.alpha$merge_spec_impl$reify__2190$fn__2193.invoke(alpha.clj:1210) at clojure.core$map$fn__5935.invoke(core.clj:2772) at clojure.lang.LazySeq.sval(LazySeq.java:42) at clojure.lang.LazySeq.seq(LazySeq.java:51) at clojure.lang.RT.seq(RT.java:535) at clojure.core$seq__5467.invokeStatic(core.clj:139) at clojure.core$apply.invokeStatic(core.clj:662) at clojure.core$apply.invoke(core.clj:662) at clojure.spec.alpha$merge_spec_impl$reify__2190.unform_STAR_(alpha.clj:1210) at clojure.spec.alpha$unform.invokeStatic(alpha.clj:178) at clojure.spec.alpha$unform.invoke(alpha.clj:173) at spec_tools.core.Spec.unform_STAR_(core.cljc:439) ... --- src/spec_tools/core.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/spec_tools/core.cljc b/src/spec_tools/core.cljc index f298f3b..5b43a54 100644 --- a/src/spec_tools/core.cljc +++ b/src/spec_tools/core.cljc @@ -443,7 +443,7 @@ (let [conformed (s/conform* this x) [explain? val] (if (s/invalid? conformed) [(s/invalid? (conform this x)) x] - [true (s/unform spec conformed)])] + [true x])] (if explain? (s/explain* (s/specize* spec) path via in val) [{:path path