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 }) }