Przejdź do treści
100% lokalnie

Rozszerzacz YAML

Zamień zakotwiczenia YAML, aliasy i klucze scalania na pełną zawartość, do której się odnoszą.

Wejście
Wynik

Rozszerzacz YAML

Wklej dokument YAML, który wykorzystuje zakotwiczenia (&name), aliasy (*name) lub klucze scalania (<<:), a to narzędzie zastąpi każde odniesienie pełną zawartością, do której się odnosi. Wynikiem jest czysty, samodzielny YAML bez zakotwiczań, aliasów ani kluczy scalania — przydatne, gdy musisz przekazać plik konfiguracyjny narzędziu, które nie rozumie składni ponownego użytku YAML, lub gdy po prostu chcesz zobaczyć, co kryje się za silnie zakotwiczonym plikiem.

Klucze scalania są rozwiązywane z takim samym pierwszeństwem, co sam YAML: klucz napisany jawnie w mapowaniu zawsze wygrywa z tym, który pochodzi ze scalania. Gdy mapowanie scala wiele źródeł (<<: [*a, *b]), wcześniejsze źródło wygrywa w przypadku kolizji. Skalane scalania — mapowanie, które scala inne mapowanie, które samo scala trzecie — są śledzenia aż do końca. Wiele dokumentów w jednym wejściu, oddzielonych ---, są rozszerzane niezależnie i ponownie łączone z tym samym separatorem.

Opcje kontrolują kształt wyjścia, a nie to, co się rozszerza. "Zachowaj kolejność kluczy" utrzymuje klucze w ich oryginalnej kolejności; wyłączenie sortuje klucze każdego mapowania alfabetycznie. "Styl ciągu" może wymusić każdą wartość ciągu na cudzysłowy lub apostrofy bez tykania liczb, wartości logicznych czy wartości null. "Usuń nieużywane zakotwiczenia" zmienia klucz najwyższego poziomu, który istnieje tylko po to, aby zdefiniować zakotwiczenie, do którego nikt się nie odnosi — martwą rusztowanie, które gromadzi się w ręcznie napisanym YAML. "Tryb wyróżniania" zamienia rozszerzony YAML na krótki raport zawierający każde zakotwiczenie, gdzie jest zdefiniowane, i każdy wiersz, który go wykorzystuje poprzez alias lub scalanie — przydatne do zrozumienia pliku przed jego spłaszczeniem. Dokument zawierający prawdziwe odniesienie cykliczne (zakotwiczenie odnoszące się do siebie) jest zgłaszane jako błąd zamiast być rozszerzane, ponieważ nie istnieje skończony YAML, który by go reprezentował.

Wszystko działa lokalnie w Twojej przeglądarce — Twój YAML nigdy nie jest wysyłany ani przesyłany na serwer, co ma znaczenie, ponieważ zakotwiczenia i klucze scalania są powszechne w plikach zawierających konfiguracje środowiska, potoki CI lub manifesty Kubernetes. Skopiuj wynik, pobierz go jako plik .txt lub wyślij go bezpośrednio do innego narzędzia, takiego jak YAML na JSON.

Częste pytania

Co dokładnie uważa się za odniesienie?
Trzy funkcje YAML: zakotwiczenie (&name) oznacza węzeł, alias (*name) ponownie go wykorzystuje w innym miejscu, a klucz scalania (<<: *name) scalają mapowanie zakotwiczone w inne. Wszystkie trzy zastępuje się pełną zawartością.
Czy jawne dane wygrywają z scalanymi danymi?
Tak. Jeśli mapowanie scala klucz, który również ustawia bezpośrednio, zachowuje się własna wartość mapowania — tak jak klucze scalania YAML zachowują się w każdym standardowym analizatorze.
Co się stanie z cyklicznym zakotwiczeniem, takim jak to, które odnosi się do siebie?
Narzędzie zgłasza błąd zamiast go rozszerzać, ponieważ nie istnieje żaden skończony YAML, który by go reprezentował. Usuń samo-odniesienie i uruchom ponownie.
Czy może obsługiwać plik z wieloma --- dokumentami?
Tak. Każdy dokument jest rozszerzany niezależnie — zakotwiczenia w jednym dokumencie nie są widoczne dla innego — a wyjście zachowuje te same --- separatory.
Czy mój YAML jest gdzieś przesyłany?
Nie. Rozszerzanie odbywa się całkowicie w przeglądarce przy użyciu lokalnej analizy YAML — plik nigdy nie opuszcza urządzenia.