Validátor TOML
Overte súbory TOML, napríklad Cargo.toml, pyproject.toml alebo nastavenia Hugo a Netlify skôr, než pre ne zlyhá zostavenie. Validátor analyzuje vstup podľa špecifikácie TOML a pri prvej chybe uvedie jej riadok, stĺpec a vysvetlenie syntaktického analyzátora vrátane duplicitných kľúčov, opätovne definovaných tabuliek a nemožných dátumov. Pri platných súboroch zobrazí počet tabuliek a kľúčov a kľúče najvyššej úrovne, takže môžete štruktúru rýchlo skontrolovať.
Často kladené otázky
Čo kontroluje validátor TOML?
Analyzuje kľúče, reťazce, čísla, logické hodnoty, dátumy a časy, polia, vložené tabuľky, tabuľky a polia tabuliek presne podľa definície v špecifikácii TOML. Každá odchýlka, napríklad chýbajúca hodnota, reťazec bez úvodzoviek alebo nesprávna escape sekvencia, sa oznámi ako chyba. Pri platných súboroch sa zobrazí stručné zhrnutie ich štruktúry.
Aké informácie obsahuje chyba?
Každá chyba zobrazuje riadok a stĺpec, na ktorých sa syntaktická analýza zastavila, a podrobnosti od analyzátora, napríklad neplatný dátum alebo pokus o opätovné definovanie už definovanej tabuľky či hodnoty. Riadky a stĺpce sa počítajú od 1. Zobrazuje sa iba prvá chyba, pretože ďalšie chyby často vznikajú v jej dôsledku.
Prečo sa kľúč alebo tabuľka označuje ako opätovne definovaná?
TOML nepovoľuje rovnaký kľúč v tabuľke dvakrát a hlavička tabuľky, napríklad [server], sa môže objaviť iba raz. Za opätovnú definíciu sa považuje aj definovanie bodkovaného kľúča, ako je server.port, po tabuľke [server], v ktorej už bol nastavený port. Opravíte to tak, že položky zlúčite na jednom mieste.
Ako sa počítajú tabuľky a kľúče?
Počet tabuliek zahŕňa každú tabuľku pod koreňovou úrovňou vrátane vložených tabuliek a každej položky poľa tabuliek. Počet kľúčov zahŕňa každý kľúč s hodnotou, ktorá nie je tabuľkou ani poľom tabuliek, takže zoznam reťazcov sa počíta ako jeden kľúč. Kľúče najvyššej úrovne uvádzajú názvy na koreňovej úrovni, najviac 50.
Kontrolujú sa dátumy a časy?
Áno. Overujú sa dátumy a časy s časovým posunom, miestne dátumy a časy aj samostatné miestne dátumy a časy vrátane nemožných hodnôt, napríklad mesiaca 13 alebo hodiny 25. Dátum zapísaný v inom formáte, napríklad 05/27/1979, nie je dátumom TOML a musí byť uvedený v úvodzovkách ako reťazec.
Ktoré reťazce a escape sekvencie sú povolené?
Základné reťazce v dvojitých úvodzovkách podporujú escape sekvencie, ako sú \n, \t, \" a \uXXXX, zatiaľ čo doslovné reťazce v jednoduchých úvodzovkách zachovávajú každý znak presne tak, ako je zapísaný. Obe formy môžu byť aj viacriadkové, s tromi úvodzovkami. Neznáma escape sekvencia alebo neukončený reťazec sa oznámi spolu s jeho pozíciou.
Sú povolené veľmi veľké celé čísla?
Áno. Celé čísla až po 64-bitový limit špecifikácie TOML, napríklad 9223372036854775807, sú povolené. Celé čísla mimo tohto rozsahu, úvodné nuly a podčiarkovníky, ktoré nie sú medzi číslicami, sú chybami.
Spôsobuje problémy značka poradia bajtov alebo koniec riadka Windows?
Nie. Značka poradia bajtov UTF-8 na začiatku sa ignoruje a akceptujú sa konce riadkov LF aj CRLF. Neescapované riadiace znaky v reťazcoch sa oznámia ako chyby.
Kontroluje význam kľúčov tak, ako by to robil Cargo alebo Poetry?
Nie, validátor kontroluje iba syntax a štruktúru TOML. Súbor môže byť platným TOML a pritom obsahovať kľúč, ktorému Cargo alebo zostavovacie prostredie Pythonu nerozumie. Pomocou nástroja najprv vylúčte problémy so syntaxou a až potom kontrolujte nastavenia konkrétnych nástrojov.
Aký veľký môže byť vstup a môžem ho previesť?
Vstup môže mať veľkosť až 5 MiB a vnorené polia a vložené tabuľky môžu mať hĺbku až 64 úrovní. Ak chcete previesť platný TOML na JSON, YAML alebo iný formát, použite Prevodník dátových formátov.