immutable_json/lib.rs
1//! With this crate, JSON objects and arrays can be transformed in an immutable way, which means
2//! that every "change" leads to a new value. Persistent collections are used internally to make
3//! changes and cloning cheap. Conversions from and to values in the
4//! [`serde_json`](https://docs.rs/serde_json/latest/serde_json/) crate are provided.
5//!
6//! The crate feature `jaq` enables the transformation of JSON with the
7//! [jq language](https://jqlang.org). It is powered by the
8//! [jaq engine](https://github.com/01mf02/jaq).
9//!
10//! The crate feature `patch` enables working with JSON patches. It uses the `json-patch` crate.
11//!
12//! The crate feature `bson` provides conversions from and to the BSON format.
13pub mod api;
14pub mod array;
15#[cfg(feature = "bson")]
16pub mod bson;
17pub mod error;
18#[cfg(feature = "jaq")]
19pub mod jaq;
20pub mod object;
21#[cfg(feature = "patch")]
22pub mod patch;
23pub mod pointer;
24pub mod serde;