docjure
docjure copied to clipboard
No method in multimethod 'cell-seq' for dispatch value: `:default`
We ran into this while loading an xlsx
#error {
:cause "No method in multimethod 'cell-seq' for dispatch value: :default"
:via
[{:type java.lang.IllegalArgumentException
:message "No method in multimethod 'cell-seq' for dispatch value: :default"
:at [clojure.lang.MultiFn getFn "MultiFn.java" 156]}]
:trace
[[clojure.lang.MultiFn getFn "MultiFn.java" 156]
[clojure.lang.MultiFn invoke "MultiFn.java" 229]
[clojure.core$map$fn__5954 invoke "core.clj" 2770]
[clojure.lang.LazySeq force "LazySeq.java" 50]
[clojure.lang.LazySeq realize "LazySeq.java" 89]
[clojure.lang.LazySeq seq "LazySeq.java" 106]
[clojure.lang.ChunkedCons chunkedNext "ChunkedCons.java" 61]
[clojure.core$chunk_next invokeStatic "core.clj" 710]
[clojure.core.protocols$fn__8270 invokeStatic "protocols.clj" 136]
[clojure.core.protocols$fn__8270 invoke "protocols.clj" 123]
[clojure.core.protocols$fn__8229$G__8224__8238 invoke "protocols.clj" 19]
[clojure.core.protocols$seq_reduce invokeStatic "protocols.clj" 31]
[clojure.core.protocols$fn__8262 invokeStatic "protocols.clj" 74]
[clojure.core.protocols$fn__8262 invoke "protocols.clj" 74]
[clojure.core.protocols$fn__8203$G__8198__8216 invoke "protocols.clj" 13]
[clojure.core$reduce invokeStatic "core.clj" 6965]
[clojure.core$mapv invokeStatic "core.clj" 7050]
[clojure.core$mapv invoke "core.clj" 7050]
https://github.com/mjul/docjure/blob/109f44ffdfd518b99e621b17f7ec81a5f1543a2f/src/dk/ative/docjure/spreadsheet.clj#L203-L223
Adding an implementation like
(defmethod cell-seq :default [something] something)
with something being nil, made everything work,. But not sure if that's a good solution in general.