We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
st/spec
s/or
Repro:
(require '[clojure.spec.alpha :as s]) (require '[spec-tools.core :as st]) (require '[spec-tools.swagger.core :as swagger]) (require '[spec-tools.openapi.core :as openapi]) (s/def ::a int?) (s/def ::b string?) (s/def ::A (s/keys :req-un [::a])) (s/def ::B (s/keys :req-un [::b])) (s/def ::body (s/or :a ::A :b ::B)) (swagger/swagger-spec {::swagger/parameters {:body ::body}}) ;works (openapi/transform ::body) ;works (s/def ::body-wrapped (s/or :a (st/spec ::A) :b (st/spec ::B))) (swagger/swagger-spec {::swagger/parameters {:body ::body-wrapped}}) ;fails (openapi/transform ::body-wrapped) ;fails
The exceptions are:
(swagger)
#error { :cause "Don't know how to create ISeq from: clojure.lang.Keyword" :via [{:type clojure.lang.Compiler$CompilerException :message "Syntax error macroexpanding at (/home/joel/work/metosin/spec-tools/or-openapi-repro.clj:16:1)." :data #:clojure.error{:phase :execution, :line 16, :column 1, :source "/home/joel/work/metosin/spec-tools/or-openapi-repro.clj"} :at [clojure.lang.Compiler load "Compiler.java" 7665]} {:type java.lang.IllegalArgumentException :message "Don't know how to create ISeq from: clojure.lang.Keyword" :at [clojure.lang.RT seqFrom "RT.java" 557]}] :trace [[clojure.lang.RT seqFrom "RT.java" 557] [clojure.lang.RT seq "RT.java" 537] [clojure.core$seq__5467 invokeStatic "core.clj" 139] [clojure.core.protocols$seq_reduce invokeStatic "protocols.clj" 24] [clojure.core.protocols$fn__8226 invokeStatic "protocols.clj" 75] [clojure.core.protocols$fn__8226 invoke "protocols.clj" 75] [clojure.core.protocols$fn__8178$G__8173__8191 invoke "protocols.clj" 13] [clojure.core$reduce invokeStatic "core.clj" 6887] [clojure.core$reduce invoke "core.clj" 6869] [spec_tools.impl$unlift_keys invokeStatic "impl.cljc" 166] [spec_tools.impl$unlift_keys invoke "impl.cljc" 165] [spec_tools.swagger.core$eval3633$fn__3634 invoke "core.cljc" 85] [clojure.lang.MultiFn invoke "MultiFn.java" 244] [spec_tools.visitor$eval3249$fn__3250 invoke "visitor.cljc" 149] [clojure.lang.MultiFn invoke "MultiFn.java" 239] [spec_tools.visitor$visit invokeStatic "visitor.cljc" 52] [spec_tools.visitor$visit invoke "visitor.cljc" 26] [spec_tools.visitor$eval3100$fn__3101$fn__3106 invoke "visitor.cljc" 64] [clojure.core$mapv$fn__8535 invoke "core.clj" 6980] [clojure.core.protocols$iter_reduce invokeStatic "protocols.clj" 49] [clojure.core.protocols$fn__8238 invokeStatic "protocols.clj" 75] [clojure.core.protocols$fn__8238 invoke "protocols.clj" 75] [clojure.core.protocols$fn__8178$G__8173__8191 invoke "protocols.clj" 13] [clojure.core$reduce invokeStatic "core.clj" 6887] [clojure.core$mapv invokeStatic "core.clj" 6971] [clojure.core$mapv invoke "core.clj" 6971] [spec_tools.visitor$eval3100$fn__3101 invoke "visitor.cljc" 64] [clojure.lang.MultiFn invoke "MultiFn.java" 239] [spec_tools.visitor$visit invokeStatic "visitor.cljc" 52] [spec_tools.visitor$visit invoke "visitor.cljc" 26] [spec_tools.swagger.core$transform invokeStatic "core.cljc" 101] [spec_tools.swagger.core$transform invoke "core.cljc" 92] [spec_tools.swagger.core$eval3652$fn__3653 invoke "core.cljc" 110] [clojure.lang.MultiFn invoke "MultiFn.java" 234] [spec_tools.swagger.core$eval3702$fn__3703$fn__3705 invoke "core.cljc" 147] [clojure.core$map$fn__5935 invoke "core.clj" 2772] [clojure.lang.LazySeq sval "LazySeq.java" 42] [clojure.lang.LazySeq seq "LazySeq.java" 51] [clojure.lang.RT seq "RT.java" 535] [clojure.core$seq__5467 invokeStatic "core.clj" 139] [clojure.core$apply invokeStatic "core.clj" 662] [clojure.core$mapcat invokeStatic "core.clj" 2800] [clojure.core$mapcat doInvoke "core.clj" 2800] [clojure.lang.RestFn invoke "RestFn.java" 423] [spec_tools.swagger.core$eval3702$fn__3703 invoke "core.cljc" 147] [clojure.lang.MultiFn invoke "MultiFn.java" 244] [spec_tools.swagger.core$expand_qualified_keywords$fn__3719$fn__3720 invoke "core.cljc" 170] [clojure.lang.PersistentArrayMap kvreduce "PersistentArrayMap.java" 429] [clojure.core$fn__8525 invokeStatic "core.clj" 6909] [clojure.core$fn__8525 invoke "core.clj" 6889] [clojure.core.protocols$fn__8257$G__8252__8266 invoke "protocols.clj" 175] [clojure.core$reduce_kv invokeStatic "core.clj" 6920] [clojure.core$reduce_kv invoke "core.clj" 6911] [spec_tools.swagger.core$expand_qualified_keywords$fn__3719 invoke "core.cljc" 167] [clojure.walk$walk invokeStatic "walk.clj" 50] [clojure.walk$postwalk invokeStatic "walk.clj" 53] [clojure.walk$postwalk invoke "walk.clj" 53] [spec_tools.swagger.core$expand_qualified_keywords invokeStatic "core.cljc" 164] [spec_tools.swagger.core$expand_qualified_keywords invoke "core.cljc" 162] [spec_tools.swagger.core$swagger_spec invokeStatic "core.cljc" 189] [spec_tools.swagger.core$swagger_spec invoke "core.cljc" 181] [spec_tools.swagger.core$swagger_spec invokeStatic "core.cljc" 187] [spec_tools.swagger.core$swagger_spec invoke "core.cljc" 181] ...
(openapi)
#error { :cause "Don't know how to create ISeq from: clojure.lang.Keyword" :via [{:type clojure.lang.Compiler$CompilerException :message "Syntax error macroexpanding at (/home/joel/work/metosin/spec-tools/or-openapi-repro.clj:18:1)." :data #:clojure.error{:phase :execution, :line 18, :column 1, :source "/home/joel/work/metosin/spec-tools/or-openapi-repro.clj"} :at [clojure.lang.Compiler load "Compiler.java" 7665]} {:type java.lang.IllegalArgumentException :message "Don't know how to create ISeq from: clojure.lang.Keyword" :at [clojure.lang.RT seqFrom "RT.java" 557]}] :trace [[clojure.lang.RT seqFrom "RT.java" 557] [clojure.lang.RT seq "RT.java" 537] [clojure.core$seq__5467 invokeStatic "core.clj" 139] [clojure.core.protocols$seq_reduce invokeStatic "protocols.clj" 24] [clojure.core.protocols$fn__8226 invokeStatic "protocols.clj" 75] [clojure.core.protocols$fn__8226 invoke "protocols.clj" 75] [clojure.core.protocols$fn__8178$G__8173__8191 invoke "protocols.clj" 13] [clojure.core$reduce invokeStatic "core.clj" 6887] [clojure.core$reduce invoke "core.clj" 6869] [spec_tools.impl$unlift_keys invokeStatic "impl.cljc" 166] [spec_tools.impl$unlift_keys invoke "impl.cljc" 165] [spec_tools.openapi.core$eval3766$fn__3767 invoke "core.cljc" 34] [clojure.lang.MultiFn invoke "MultiFn.java" 244] [spec_tools.visitor$eval3249$fn__3250 invoke "visitor.cljc" 149] [clojure.lang.MultiFn invoke "MultiFn.java" 239] [spec_tools.visitor$visit invokeStatic "visitor.cljc" 52] [spec_tools.visitor$visit invoke "visitor.cljc" 26] [spec_tools.visitor$eval3100$fn__3101$fn__3106 invoke "visitor.cljc" 64] [clojure.core$mapv$fn__8535 invoke "core.clj" 6980] [clojure.core.protocols$iter_reduce invokeStatic "protocols.clj" 49] [clojure.core.protocols$fn__8238 invokeStatic "protocols.clj" 75] [clojure.core.protocols$fn__8238 invoke "protocols.clj" 75] [clojure.core.protocols$fn__8178$G__8173__8191 invoke "protocols.clj" 13] [clojure.core$reduce invokeStatic "core.clj" 6887] [clojure.core$mapv invokeStatic "core.clj" 6971] [clojure.core$mapv invoke "core.clj" 6971] [spec_tools.visitor$eval3100$fn__3101 invoke "visitor.cljc" 64] [clojure.lang.MultiFn invoke "MultiFn.java" 239] [spec_tools.visitor$visit invokeStatic "visitor.cljc" 52] [spec_tools.visitor$visit invoke "visitor.cljc" 26] [spec_tools.openapi.core$transform invokeStatic "core.cljc" 47] [spec_tools.openapi.core$transform invoke "core.cljc" 42] [spec_tools.openapi.core$transform invokeStatic "core.cljc" 45] [spec_tools.openapi.core$transform invoke "core.cljc" 42] ...
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Repro:
The exceptions are:
(swagger)
(openapi)
The text was updated successfully, but these errors were encountered: