pub fn read_metadata<T: DeserializeOwned>(metadata: Option<&Value>) -> Result<T>Expand description
Deserialize metadata from an optional JSON value.
Returns Error::MissingMetadata when metadata is None.
ยงExamples
use loadsmith_registry::read_metadata;
use serde::Deserialize;
#[derive(Deserialize)]
struct Config {
name: String,
}
let json = serde_json::json!({"name": "hello"});
let cfg: Config = read_metadata(Some(&json)).unwrap();
assert_eq!(cfg.name, "hello");
let err = read_metadata::<Config>(None);
assert!(err.is_err());