Skip to main content

xml_disassembler/transformers/
get_transformer.rs

1//! Get transformer for format - returns output string from XmlElement.
2
3use crate::transformers::{transform_to_json, transform_to_json5, transform_to_yaml};
4use crate::types::XmlElement;
5
6/// Transform XmlElement to string in the given format.
7/// Returns None if format is not supported (e.g. "xml" uses build_xml_string instead).
8pub async fn transform_format(format: &str, xml_content: &XmlElement) -> Option<String> {
9    let result = match format.to_lowercase().as_str() {
10        "yaml" | "yml" => transform_to_yaml(xml_content).await,
11        "json5" => transform_to_json5(xml_content).await,
12        "json" => transform_to_json(xml_content).await,
13        _ => return None,
14    };
15    Some(result)
16}