このツールの動作
TOML の設定が YAML になります。テーブルは入れ子の写像に、[[テーブルの配列]] は並びになります。
title = "Demo"
[server]
host = "localhost"
port = 8080
title: Demo
server:
host: localhost
port: 8080
字下げは選べます。既定は空白二つで、たいていの YAML 検査ツールが期待する形です。
要るところだけ引用符を、ほかは裸で
country = "NO"
answer = "yes"
start = "12:30"
country: "NO"
answer: "yes"
start: "12:30"
裸のままなら、YAML 1.1 の読み手はこの三つを false、true、数の 750 として読みます。PyYAML、つまり Ansible、つまり数多くの配信の流れがそうです。これがノルウェー問題です。国コードが真偽値に変わり、ファイルには警告のひとつもありません。書き手は紛らわしいスカラーだけを引用符で囲み、ほかには手を触れません。ファイルは読みやすいままで、YAML の二つの版が中身について一致します。
大きな整数は桁を保つ
snowflake = 1096285471735640155
snowflake: 1096285471735640155
TOML は符号付き64ビット整数を求めますが、解析器は、JavaScript の数値が正確に保てる範囲を超えた時点で文書全体を拒んでいました。識別子ひとつで、正当な設定が変換できなくなっていたのです。いまは桁が変わらずに通ります。本物の欠陥で、このページを書く過程で見つけ、直しました。
JSON を経由する代償
この変換は JSON を経由します。この場所の組み合わせ変換はどれもそうです。二つの半分はすでに試験され、その警告文もすでに正確だからです。
inf、-inf、nanは、キーを名指しして断ります。 JSON にはその三つが無く、nullと書かれてしまいます。無限の速度が「速度なし」として届くことになります。YAML なら.infを運べますが、経由する JSON は運べません。値を落とす代わりに、そう告げます。- 日付は引用符付きの文字列になります。 TOML の日付に JSON の対応物はありません。直に進めば日付のままですが、
07:32:00のような地方時には、暦の日付がまるごと勝手に付きます。 - コメントは残りません。 それはファイルのものであって、データのものではありません。
Windows の編集ソフトが付ける見えないバイト順マークで始まるファイルは、キーに使える文字についての警告で拒まれる代わりに、普通に読めるようになりました。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。