Skip to main content

read_metadata

Function read_metadata 

Source
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());