Expand description
Tiny typed JSON settings persistence for Rust applications.
app-json-settings stores one Serde-serializable Rust value as a JSON
settings file. The crate intentionally keeps the API small: choose a storage
root, optionally choose a file name, and then load, save, or update the value.
use app_json_settings::ConfigManager;
#[derive(serde::Deserialize, serde::Serialize, Default)]
struct Settings {
volume: u32,
}
let manager = ConfigManager::<Settings>::for_app("demo-app")?;
let settings = manager.load_or_default()?;
manager.update(|settings| settings.volume = settings.volume.saturating_add(1))?;Structs§
- Config
Manager - Manages one typed JSON settings file.
Enums§
- Config
Error - Error type returned by
app-json-settingsoperations.
Constants§
- DEFAULT_
FILE_ NAME - Default JSON settings file name.
Functions§
- is_
plain_ file_ name - Returns
truewhenvalueis safe to use as a single file name. - is_
safe_ path_ component - Returns
truewhenvalueis safe to append as one path component.