use crate::ir::nodes::{Audio, DocNode, Image, Video};
use std::collections::HashMap;
pub(crate) fn image_from_params(content: &str, params: &HashMap<String, String>) -> DocNode {
let src = params.get("src").cloned().unwrap_or_default();
let alt = params
.get("alt")
.cloned()
.unwrap_or_else(|| content.trim().to_string());
let title = params.get("title").cloned();
DocNode::Image(Image { src, alt, title })
}
pub(crate) fn video_from_params(params: &HashMap<String, String>) -> DocNode {
let src = params.get("src").cloned().unwrap_or_default();
let title = params.get("title").cloned();
let poster = params.get("poster").cloned();
DocNode::Video(Video { src, title, poster })
}
pub(crate) fn audio_from_params(params: &HashMap<String, String>) -> DocNode {
let src = params.get("src").cloned().unwrap_or_default();
let title = params.get("title").cloned();
DocNode::Audio(Audio { src, title })
}