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}