cognitect / transit-cljs

Transit for ClojureScript
http://transit-format.org
Apache License 2.0
323 stars 20 forks source link

Add support for cljs.core/Repeat if it exists #45

Closed mfikes closed 6 years ago

mfikes commented 6 years ago

With ClojureScript 1.9.946

{:deps {org.clojure/clojurescript {:mvn/version "1.9.946"}
        com.cognitect/transit-cljs {:mvn/version "0.8.243"}}}
$ clj -m cljs.repl.node
ClojureScript Node.js REPL server listening on 55429
To quit, type: :cljs/quit
cljs.user=> (exists? cljs.core/Repeat)
false
cljs.user=> (require '[cognitect.transit :as t])
nil
cljs.user=> (t/write (t/writer :json) (repeat 3 :hi))
"[\"~#list\",[\"~:hi\",\"^1\",\"^1\"]]"

But with ClojureScript 1.10.x

{:deps {org.clojure/clojurescript {:mvn/version "1.10.191"}
        com.cognitect/transit-cljs {:mvn/version "0.8.243"}}}
$ clj -m cljs.repl.node
ClojureScript 1.10.191
cljs.user=> (exists? cljs.core/Repeat)
true
cljs.user=> (require '[cognitect.transit :as t])
nil
cljs.user=> (t/write (t/writer :json) (repeat 3 :hi))
repl:13
throw e__6371__auto__;
^

Error: Cannot write
    at Object.writer.maybeQuoted (/private/var/folders/gx/nymj3l7x4zq3gxb97v2zwzb40000gn/T/out2256590624295300548180118500448100/com/cognitect/transit/impl/writer.js:464:23)
    at Object.writer.marshalTop (/private/var/folders/gx/nymj3l7x4zq3gxb97v2zwzb40000gn/T/out2256590624295300548180118500448100/com/cognitect/transit/impl/writer.js:471:57)
    at Transit$Writer.writer.Writer.write (/private/var/folders/gx/nymj3l7x4zq3gxb97v2zwzb40000gn/T/out2256590624295300548180118500448100/com/cognitect/transit/impl/writer.js:501:26)
    at cognitect$transit$write (/private/var/folders/gx/nymj3l7x4zq3gxb97v2zwzb40000gn/T/out2256590624295300548180118500448100/cognitect/transit.js:923:10)
    at repl:1:103
    at repl:9:3
    at repl:14:4
    at Script.runInThisContext (vm.js:65:33)
    at Object.runInThisContext (vm.js:199:38)
    at Domain.<anonymous> ([stdin]:56:38)
swannodette commented 6 years ago

Fixed https://github.com/cognitect/transit-cljs/commit/9269b46484f78862d9c4c076626407cc19f5bb4f