Elixir:
Trabajando con TOML

Cómo hacerlo:

Primero, añade un analizador de TOML a tus dependencias mix. Este ejemplo utiliza toml-elixir:

def deps do
  [
    {:toml_elixir, "~> 2.0"}
  ]
end

Lee un archivo TOML:

{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)

Para convertir datos de Elixir a TOML:

data = %{title: "Ejemplo TOML", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)

Muestra de salida:

"title = \"Ejemplo TOML\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"

Profundización

TOML fue creado por Tom Preston-Werner, cofundador de GitHub, para su uso en archivos de configuración. Está diseñado para ser más sencillo que XML y más conciso que YAML, manteniendo la consistencia.

Las alternativas incluyen archivos JSON, YAML y INI, cada uno con sus compensaciones en legibilidad humana y compatibilidad de estructura de datos. TOML destaca en representar claramente datos tabulares y la agrupación anidada de datos.

En Elixir, el manejo de TOML depende de bibliotecas de codificación y decodificación, las cuales transforman cadenas TOML en mapas de Elixir y viceversa. El análisis funciona haciendo coincidir las reglas de sintaxis de TOML y convirtiéndolas en tipos de datos de Elixir. La codificación hace lo opuesto, mapeando los tipos de datos de Elixir de vuelta a la sintaxis TOML válida.

Ver También