use crate::object::{Value, parser::FromValue}; use anyhow::Result; use serde::Serialize; #[derive(Debug, Serialize)] pub struct StreamingInfo { pub offset: u64, pub path: String, pub size: u32, } impl FromValue for StreamingInfo { fn from_value(v: Value) -> Result { let mut fields = v.as_class("StreamingInfo").unwrap(); Ok(StreamingInfo { offset: fields.field("offset")?, size: fields.field("size")?, path: fields.field("path")?, }) } }