For a list of breaking changes, check here
Edamame: configurable EDN and Clojure parser with location metadata and more
byte/1
array notation^[String]
metadata notation which desugars into ^{:param-tags [String]}
:map
and :set
options to coerce map/set literals into customizable data structures, for example, an ordered collections to preserve key order.(require '[edamame.core :as e])
(require '[flatland.ordered.map :as m])
(e/parse-string "{:a 1}" {:map m/ordered-map}) ;;=> #ordered/map ([:a 1])
(require '[clojure.data.json :as j])
(j/write-str (e/parse-string "{:a 1 :b 2 :c 3 :d 4 :e 5 :f 6 :g 7 :h 8 :i 9 :j 10 :k 11 :l 12}" {:map m/ordered-map}))
;;=> "{\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5,\"f\":6,\"g\":7,\"h\":8,\"i\":9,\"j\":10,\"k\":11,\"l\":12}"
:
and {
when reading namespaced map:uneval
option to preserve #_
expressions combined with next value:auto-resolve
when :auto-resolve-ns
can't find alias:auto-resolve-ns
option. See docs.parse-ns-form
helper function which returns map of data from ns form.parse-next+string
for reading next value + the read string (analog to read+string
in Clojure)LineNumberingIndexReader
PushbackReader
which is not an indexing reader #86##Inf
with clojure.lang.LineNumberingPushbackReader
#851@2
should be parsed as 1 (clojure.core/deref 2)
foo@bar
should be parsed as foo (clojure.core/deref bar)
#83cljs.tagged-literals/JSValue
object which should
be evaluated manually.:end-location
option #75location?
predicate #72iobj?
fn1.3.4
:readers
to be a map or a function:read-cond
#47cljs.tagged-literals/JSValue
object which should
be evaluated manually.fn*
instead of fn
:readers
for passing reader tag functions, now
have to be passed as :tools.reader/opts
in the options.:dispatch
option has been deprecated. It still works in 0.0.8 but is now undocumented and planned to be removed in a future version.Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close