Stable minus 2 versions. Once stable (1.0.0), the plan is to indefinitely maintain the MSRV.
The following features are enabled by default. To disable use this crate without default features.
When using no_std, this crate relies on alloc. You must supply your own #[global_allocator].
Pulls in the dependency ordered-float for Edn::Double. Without this feature, parsing floating-point numbers will result in an Err.
The following features are not enabled by default. To enable them all, use with
clojure-reader = { features = ["full"] }Enables implementation for serde's Serialize and Deserialize traits for convenient to/from rust structures.
See serde example for tips/tricks (eg you'll probably want kebab-case).
Note that EDN is more generic than rust, so this feature will silently pass over things that rust and serde cannot handle. For example
{:foo 42, 42 "bar"}will pass over the k/v pair (42 "bar") and transform :foo to foo.
If you need complete control, it is recommended to use the base read and read_string.
See get-nth example for clojure-like navigation.
Enables parsing of arbitrary length/precision Ints and Decimals. Relies on bigdecimal and num-bigint crates.
See the pico example for a minimalistic example of using this crate with the raspberry pi pico (rp2040)