serde_resolve 0.1.4

Recursively traverse and transform strings in serde structs.
Documentation

Serde Resolve

Recursively traverse serde data structures and transform string values.

serde_resolve provides async string transformation for nested JSON, YAML, and TOML structures. Pass a resolver function to selectively transform strings based on patterns, templates, or any custom logic.

Features

  • Async Traversal: Recursively walk any serde-compatible structure with async resolvers.
  • Selective Transformation: Return Resolved::Changed to transform or Resolved::Unchanged to skip.
  • Multi-Format Support: Works with JSON (no_std), YAML, and TOML value types.
  • Typed Structs: resolve_struct() transforms any Serialize + DeserializeOwned type via JSON round-trip.
  • Key Resolution: Optionally resolve object/map keys in addition to values.
  • Depth Limiting: Configurable max depth to prevent stack overflow on malicious input.

Usage Examples

Check the examples directory for runnable code:

Installation

[dependencies]
serde_resolve = { version = "0.1", features = ["full"] }

Feature Flags

Feature Description
std Standard library support (enabled by default).
json JSON support via serde_json (no_std compatible).
yaml YAML support via serde_yaml (requires std).
toml TOML support via toml crate (requires std).
tracing Debug logging via tracing crate.
full Enables all features above.

License

Released under the MIT License © 2026 Canmi