This library enables reading and writing DataScript database to/from Transit messages for both Clojure and ClojureScript.
Add this to your project.clj
:
[datascript "0.18.1"]
[datascript-transit "0.3.0"]
If you want to use another transit version:
[datascript "0.18.1"]
[datascript-transit "0.3.0"
:exclusions [com.cognitect/transit-clj
com.cognitect/transit-cljs]
[com.cognitect/transit-clj "0.8.288"]
[com.cognitect/transit-cljs "0.8.239"]
If the only custom transit handler you need is DataScript, just use functions from datascript.transit
namespace which reads/writes to a string directly:
(require '[datascript.transit :as dt])
(-> (datascript.core/empty-db)
(dt/write-transit-str) ;; => string
(dt/read-transit-str)) ;; => DataScript DB
If you use your own serialization/deserialization, add these handlers to the mix:
datascript.transit/read-handlers
datascript.transit/write-handlers
Updated to [datascript 0.18.0]
(PR#5, thx @dimovich)
Preserve added
flag on Datoms (you can now correctly serialize transaction data)
Bumped deps:
[org.clojure/clojure "1.8.0" :scope "provided"]
[org.clojure/clojurescript "1.9.89" :scope "provided"]
[datascript "0.15.1" :scope "provided"]
[com.cognitect/transit-clj "0.8.285"]
[com.cognitect/transit-cljs "0.8.239"]
Updated to [datascript 0.13.0]
Initial release.
Copyright © 2015 Nikita Prokopov
Licensed under Eclipse Public License (see LICENSE).