Current section
Files
Jump to
Current section
Files
src/xmljson.gleam
import gleam/json
import gleam/result
import gleam/string_tree
import xmb
import xmljson/element
/// Parse an XML string into a JSON object.
pub fn to_json(input: String) -> Result(json.Json, element.DecodeError) {
element.from_xml(input)
|> result.map(fn(elem) { element.to_json(elem) })
}
/// Parse an JSON object into an xml fragment.
pub fn to_xml_fragment(input: String) -> Result(String, json.DecodeError) {
element.from_json(input)
|> result.map(fn(elem) {
elem
|> element.to_xml_type()
|> xmb.render_fragment()
|> string_tree.to_string
})
}
/// Parse an JSON object into an xml string.
pub fn to_xml(input: String) -> Result(String, json.DecodeError) {
element.from_json(input)
|> result.map(fn(elem) {
let x =
elem
|> element.to_xml_type()
xmb.render([x])
|> string_tree.to_string
})
}