use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)] pub enum Nodes { Literal(String), Text(Text), Link(Link), Image(Image), Header(Header), Divider, } #[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)] pub struct Text { pub value: Vec } #[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)] pub struct Header { pub level: String, pub value: Vec } #[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)] pub struct Image { pub url: String, pub alt: Option, pub blur_hash: Option, pub width: Option, pub height: Option, pub value: Vec, } #[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)] pub struct Link { pub url: String, pub value: Vec, } #[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)] pub struct Document { pub version: u64, pub value: Vec }