Elixir:
Trabalhando com TOML
Como fazer:
Primeiramente, adicione um analisador TOML às suas dependências do mix. Este exemplo utiliza o toml-elixir
:
def deps do
[
{:toml_elixir, "~> 2.0"}
]
end
Leia um arquivo TOML:
{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)
Para converter dados de Elixir para TOML:
data = %{title: "Exemplo TOML", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)
Saída de exemplo:
"title = \"Exemplo TOML\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"
Aprofundamento
TOML foi criado por Tom Preston-Werner, co-fundador do GitHub, para uso em arquivos de configuração. Ele é projetado para ser mais direto que o XML e mais conciso que o YAML, mantendo a consistência.
Alternativas incluem arquivos JSON, YAML e INI, cada um com suas compensações em legibilidade humana e compatibilidade de estrutura de dados. TOML se destaca por representar claramente dados tabulares e o agrupamento aninhado de dados.
Em Elixir, o tratamento TOML depende de bibliotecas de decodificação e codificação, que transformam strings TOML em mapas Elixir e vice-versa. A análise funciona combinando as regras de sintaxe do TOML e convertendo-as para os tipos de dados do Elixir. A codificação faz o oposto mapeando os tipos de dados do Elixir de volta para a sintaxe TOML válida.
Veja Também
- Linguagem TOML: https://toml.io/pt/
- Repositório GitHub
toml-elixir
: https://github.com/bitwalker/toml-elixir - Detalhes do pacote Hex para
toml-elixir
: https://hex.pm/packages/toml_elixir