Pular para o conteúdo

Validador de TOML

Valide arquivos TOML, como Cargo.toml, pyproject.toml ou configurações do Hugo e de Netlify, antes que uma compilação falhe por causa deles. O validador analisa a entrada de acordo com a especificação TOML e informa o primeiro erro com a linha, a coluna e a explicação do parser, incluindo chaves duplicadas, tabelas redefinidas e datas impossíveis. Arquivos válidos mostram o número de tabelas e chaves, além das chaves de nível superior, para que você possa conferir a estrutura rapidamente.

Redefinir

Perguntas frequentes

O que o validador de TOML verifica?

Ele analisa chaves, strings, números, valores booleanos, datas e horários, arrays, tabelas em linha, tabelas e arrays de tabelas exatamente como definidos pela especificação TOML. Qualquer desvio, como um valor ausente, uma string sem aspas ou uma sequência de escape inválida, é informado como erro. Arquivos válidos recebem um breve resumo de sua estrutura.

Quais informações um erro contém?

Cada erro mostra a linha e a coluna onde a análise foi interrompida e uma linha de detalhes do parser, por exemplo, data inválida ou tentativa de redefinir uma tabela ou um valor já definido. As linhas e colunas começam em 1. Apenas o primeiro erro é mostrado, pois os erros seguintes geralmente decorrem dele.

Por que uma chave ou tabela é sinalizada como redefinida?

TOML não permite a mesma chave duas vezes em uma tabela, e um cabeçalho de tabela como [server] pode aparecer apenas uma vez. Definir uma chave com pontos, como server.port, depois de uma tabela [server] que já definiu port também conta como redefinição. Para corrigir, reúna as entradas em um só lugar.

Como são contadas as tabelas e as chaves?

Tabelas conta cada tabela abaixo da raiz, incluindo tabelas em linha e cada entrada de um array de tabelas. Chaves conta cada chave que contém um valor diferente de uma tabela ou de um array de tabelas; portanto, uma lista de strings conta como uma chave. Chaves de nível superior lista os nomes na raiz, até um máximo de 50.

Datas e horários são verificados?

Sim. Datas e horários com deslocamento, datas e horários locais, datas locais e horários locais são todos validados, inclusive valores impossíveis, como o mês 13 ou a hora 25. Uma data escrita em outro formato, por exemplo, 05/27/1979, não é uma data TOML e precisa estar entre aspas como string.

Quais strings e sequências de escape são permitidas?

Strings básicas entre aspas duplas aceitam sequências de escape como \n, \t, \" e \uXXXX, enquanto strings literais entre aspas simples preservam cada caractere como foi escrito. Ambas têm versões multilinha com três aspas. Uma sequência de escape desconhecida ou uma string sem fechamento é informada com sua posição.

Inteiros muito grandes são aceitos?

Sim. Inteiros até o limite de 64 bits da especificação TOML, como 9223372036854775807, são aceitos. Inteiros fora desse intervalo, zeros à esquerda e sublinhados que não estejam entre dígitos são erros.

Uma marca de ordem de bytes ou uma quebra de linha Windows causa problemas?

Não. Uma marca de ordem de bytes UTF-8 no início é ignorada, e quebras de linha LF e CRLF são aceitas. Caracteres de controle não escapados dentro de strings são informados como erros.

Ele verifica o significado das chaves, como o Cargo ou o Poetry fariam?

Não, o validador verifica apenas a sintaxe e a estrutura de TOML. Um arquivo pode ser um TOML válido e ainda conter uma chave que o Cargo ou um backend de compilação Python não reconhece. Use a ferramenta para descartar problemas de sintaxe antes de verificar configurações específicas de cada ferramenta.

Qual pode ser o tamanho máximo da entrada e posso convertê-la?

As entradas podem ter até 5 MiB, e os arrays aninhados e as tabelas inline podem ter até 64 níveis de profundidade. Para converter um TOML válido em JSON, YAML ou outro formato, use o Data Format Converter.

Sobre OneClick Pro

OneClick Pro é uma coleção gratuita com mais de 150 ferramentas da Web para o trabalho cotidiano: converter imagens e unidades, formatar e validar código, verificar domínios e SEO, e trabalhar com textos, datas e números. Todas as ferramentas funcionam sem registro ou assinatura, e o que você digita é usado apenas para calcular o resultado e nunca é armazenado. Use o serviço como uma caixa de ferramentas para tarefas pontuais ou salve nos favoritos as ferramentas que você usa todos os dias.