toolchest/deep/mod.rs
1//! Deep operations module.
2//!
3//! Helpers for deep cloning, deep equality, merging nested structures, and
4//! path-based get/set access. Optional JSON-path helpers are available behind
5//! the `json` feature.
6//!
7//! Examples:
8//! ```rust
9//! use toolchest::deep::{deep_equal, merge};
10//! use std::collections::HashMap;
11//! let a = HashMap::from([("x", 1), ("y", 2)]);
12//! let b = HashMap::from([("y", 3)]);
13//! let merged = merge(&a, &b);
14//! assert!(deep_equal(&merged, &HashMap::from([("x", 1), ("y", 3)])));
15//! ```
16
17pub mod clone;
18pub mod equal;
19#[cfg(feature = "json")]
20pub mod json_path;
21pub mod merge;
22pub mod path;
23
24pub use clone::{clone as deep_clone, DeepClone};
25pub use equal::{deep_equal, deep_equal_slice};
26#[cfg(feature = "json")]
27pub use json_path::{json_get, json_has, json_set};
28pub use merge::{merge, merge_all, DeepMerge};
29pub use path::{get, has, set, PathAccess};