Ir para o conteúdo
Totalmente local

Expansor de âncoras YAML

Substitui âncoras, aliases e chaves de mesclagem YAML pelo conteúdo completo a que apontam.

Entrada
Saída

Expansor de âncoras YAML

Cole um documento YAML que utilize âncoras (&name), aliases (*name) ou chaves de mesclagem (<<:) e esta ferramenta substitui cada referência pelo conteúdo completo a que aponta. O resultado é YAML simples e autossuficiente, sem âncoras, aliases ou chaves de mesclagem — útil quando precisa de passar um ficheiro de configuração para uma ferramenta que não compreende a sintaxe de reutilização YAML, ou quando simplesmente quer ver como se expande um ficheiro fortemente ancorado.

As chaves de mesclagem são resolvidas com a mesma precedência que o próprio YAML utiliza: uma chave escrita explicitamente numa mapeamento prevalece sempre sobre uma puxada através de uma mesclagem, e quando um mapeamento mescla mais de uma fonte (<<: [*a, *b]), a fonte anterior prevalece numa colisão. Mesclagens encadeadas — um mapeamento que mescla outro mapeamento que, por sua vez, mescla um terceiro — são seguidas até ao fim. Múltiplos documentos numa entrada única, separados por ---, são cada um expandidos independentemente e reunidos com o mesmo separador.

As opções controlam a forma da saída em vez de o que se expande. "Preservar ordem das chaves" mantém as chaves na sua ordem original; desativar ordena alfabeticamente as chaves de cada mapeamento. "Estilo de string" pode forçar cada valor de string para aspas duplas ou simples, sem tocar em números, booleanos ou nulls. "Remover âncoras não utilizadas" elimina uma chave de nível superior que apenas existe para definir uma âncora que ninguém nunca referencia — estruturação morta que algum YAML escrito à mão acumula ao longo do tempo. "Modo destaque" troca o YAML expandido por um breve relatório listando cada âncora, onde é definida, e cada linha que a utiliza através de um alias ou uma mesclagem — útil para compreender um ficheiro antes de o achatar.

Tudo funciona localmente no seu navegador — o seu YAML nunca é enviado ou transferido para um servidor, o que importa uma vez que âncoras e chaves de mesclagem são comuns em ficheiros que contêm configurações de ambiente, pipelines CI ou manifestos Kubernetes. Copie o resultado, descarregue-o como ficheiro .txt, ou envie-o diretamente para outra ferramenta como YAML para JSON.

FAQ

O que exatamente se considera como referência aqui?
Três funcionalidades YAML: uma âncora (&name) marca um nó, um alias (*name) reutiliza-o noutro local, e uma chave de mesclagem (<<: *name) mescla um mapeamento ancorado noutro. Todas as três são substituídas pelo conteúdo real.
Os dados explícitos prevalecem sobre os dados mesclados?
Sim. Se um mapeamento mescla uma chave que também define diretamente, o valor próprio do mapeamento é mantido — correspondendo a como as chaves de mesclagem YAML se comportam em cada analisador padrão.
O que acontece com uma âncora circular, como uma que se refere a si mesma?
A ferramenta comunica um erro em vez de a expandir, uma vez que uma estrutura verdadeiramente circular não tem nenhuma representação YAML finita. Remova a auto-referência e execute-a novamente.
Pode lidar com um ficheiro com múltiplos --- documentos?
Sim. Cada documento é expandido por conta própria — as âncoras num documento não são visíveis para outro — e a saída mantém os mesmos separadores ---.
O meu YAML é enviado para algures?
Não. A expansão funciona completamente no seu navegador utilizando análise YAML local — o seu ficheiro nunca sai do seu dispositivo.