Skip to main content

source_vmt/
block.rs

1use serde::de::DeserializeOwned;
2use crate::vmt::Vmt;
3
4impl Vmt {
5    /// Deserializes a specific block into a Serde-compatible struct.
6    pub fn get_block<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>, source_kv::Error> {
7        if let Some(val) = self.get_raw(key) {
8            let parsed: T = source_kv::from_value(val.clone())?;
9            return Ok(Some(parsed));
10        }
11        Ok(None)
12    }
13}