Formatter & Validator TOML
Tempel TOML, format dengan tata letak kanonikal TOML 1.0, atau validasi sintaks. Tanpa unggah.
- Tempel TOML Anda ke area teks kiri.
- Klik Format untuk round-trip melalui @iarna/toml dan menghasilkan tata letak kanonikal.
- Klik Validasi untuk memeriksa sintaks tanpa mengubah input.
- Kesalahan menunjuk ke baris dan kolom yang bermasalah.
Apa fungsinya?
Memparse TOML Anda dengan @iarna/toml dalam mode TOML 1.0 dan mengeluarkannya kembali dengan tata letak kanonikal — kunci sebelum sub-tabel, kutipan konsisten, underscore integer dilucuti. Tombol Validasi memeriksa sintaks terhadap spec tanpa mengubah input. Komentar dibuang selama round-trip (formatter TOML umumnya tidak dapat mempertahankannya melalui siklus parse-and-dump).
Contoh
Input TOML berantakan:
[server]
host="localhost"
port=8080
name="myapp" Output yang diformat:
name = "myapp"
[server]
host = "localhost"
port = 8080 Kesalahan TOML umum dan cara memperbaikinya
TOML 1.0 punya aturan lebih ketat daripada YAML atau JSON. Pola di bawah mencakup sebagian besar kegagalan parser.
- String tanpa kutip. `name = Ada` tidak valid. Gunakan kutip ganda: `name = "Ada"`.
- Mendefinisikan ulang tabel. Mendefinisikan `[a]` dua kali adalah kesalahan. Setiap header tabel boleh muncul paling banyak sekali. Gabungkan kunci ke dalam satu blok `[a]`.
- Kunci tingkat atas setelah tabel. Setelah Anda menulis `[section]`, semua kunci selanjutnya milik bagian itu. Kunci harus datang sebelum header tabel pertama mereka. Formatter mengurutkan ulang untuk Anda, tetapi input mentah harus sudah valid.
- Datetime tanpa zona waktu. `d = 2026-04-26T12:00:00` (tanpa Z atau offset) adalah "datetime lokal". Di-parse, tetapi konsumen gaya JSON mungkin tidak punya cara merepresentasikan lokalitas. Gunakan `2026-04-26T12:00:00Z` untuk UTC.
- Perluasan tabel inline. Tabel inline `point = {x=1, y=2}` tertutup dan mandiri. Anda tidak bisa nanti menulis `point.z = 3`. Gunakan sintaks blok standar `[point]` untuk memperluas.
- Kebingungan escape kutip tiga. `"""..."""` (multibaris dasar) memproses escape; `\'\'\'...\'\'\'` (multibaris literal) tidak. Mencampur keduanya adalah kesalahan paling umum pada string multibaris.
Pertanyaan yang sering diajukan
Apakah Format mengubah data saya?
Hanya tata letak — kunci diurutkan ulang untuk meletakkan primitif sebelum sub-tabel (aturan TOML), spasi dinormalkan, underscore integer dilucuti (semantik TOML). Nilai itu sendiri tidak berubah.
Apakah komentar TOML dipertahankan?
Tidak. @iarna/toml membuang komentar selama round-trip parse-and-dump. Jika Anda butuh formatting yang mempertahankan komentar, Anda butuh pustaka berbeda yang mempertahankan informasi posisi sumber.
Apakah ini memvalidasi terhadap TOML 1.0?
Ya. @iarna/toml mengikuti TOML 1.0 — termasuk membolehkan array tipe campuran, kunci bertitik, dan aturan string yang direvisi. Input yang bergantung pada perilaku eksklusif TOML 0.5 (array homogen diperlukan) masih akan parse di sini, tapi mungkin rusak pada parser 0.5 yang lebih ketat.
Berapa besar file TOML yang bisa ditangani?
Hingga sekitar 30 MB sebelum textarea melambat. Sebagian besar file config jauh di bawah 1 MB.
Apakah TOML saya diunggah?
Tidak. Semua berjalan di browser Anda — input Anda di-parse dan diserialisasi ulang oleh JavaScript di halaman ini dan tidak pernah dikirim ke server.
Mengapa formatter mengurutkan ulang kunci saya?
TOML 1.0 mensyaratkan kunci tingkat atas (primitif) muncul sebelum header tabel apa pun di scope yang sama. Formatter menerapkan ini dengan mengurutkan primitif di depan sub-tabel. Jika input asli Anda punya urutan berbeda, langkah format menormalkannya.