Інструменти розробника · Конвертер Syntax
Чому TOML існує: завдання дизайну за Cargo.toml і pyproject.toml
· Підземелля
Опубліковано ToolAcre · Редакція журналу
домл Інформатика розробник-workflow

TOML був створений в 2013 як реакція на обох JSON- ауститет і YAML- неоднозначність. Ця публікація пояснює цілі дизайну, вибір, які вони виробляють, і чому Rust і Python стандартизовані на ній для конфігурації проекту.
Три формати конфігурації в одному репозиторію — JSON для редактора, YAML для CI, TOML для будівництва, і питання про те, чому третій існує
Репозиторій може використовуватися JSON, YAML і TOML для різних конфігураційних поверхонь. ToolAcre не можна пояснити вибір проекту, але перетворення робить структурні відмінності бетону: TOML починається як кореневий стіл, використовує заголовки та пункти для в'язання, а також несе часові значення, недоступні в JSON.
Навантаження прикладу, а не дупи з зовнішнього вигляду. Нестередні таблиці стають об'єктами, подвійні таблиці стають масивами, а коментарі зникнуть при наданні значень JSON. Ці спостерігаючі межі більш дієві, ніж загальний позов, що один синтаксис властиво краще.
Мета проекту — мінімальна, явна семантика, легко читати, а формат, який на карті неоднозначно до таблиці хеш
Відвантажений парсер видає очевидні столові семантики: заголовки є шляхами, призначеннями належать до активної таблиці, а скалярні токени визначаються TOML види. Стрінги не стають заданими, оскільки їх зміст виглядають як дата; фактичний часовий синтаксис виробляє дати об'єкти, які ToolAcre нормалізує свідомо.
Репозиторій не видає творців формату, дати або зазначеної філософії, тому ця стаття не дозволяє презентувати історію, що запам’ятовується як факт. Вона звітує поведінку, протестовану в smol-toml і власний шар нормалізації перетворювача.
Спостереження властивостей дизайну в відвантаженому parser, без вимог до неджереланого походження
TOML не може бути масивом або скаляром. Не передбачено YAML-стилі анкери або псевдоніми в цьому картографуванні. Коментарі існують у авторизації TOML але не зберігають парсером значення і тому не можна пережити перетворення через JSON або YAML.
Непрочитане значення bare TOML граматика, а не YAML’s schema вибір. Парсер або приймає значення типу або звіти, що недійсні TOML з інформацією про положення. ToolAcre не додає накладного режиму для зміщених завдань.
Яка модель підтримуючої цінності виключає або ручає по-різному
Модель включає рядки, підписані цілі, плавлення, булеани, чотири часові види, масиви і таблиці. Араси таблиць експрес-записи об'єктів. Великий підписаний цілих 2^53 стати десятковими рядками для перетворення так JavaScript не закруглює їх мовчно.
Тимчасові значення стають джерелом, орієнтованим текстом для часу на офсет, локальної дати, локальної дати або місцевого часу. Попередження зберігає різновид в прозі, але JSON отримує тільки рядок. Перетворення назад, цитати і втратити рідну TOML тип.
Прийняття — Вантаж з ранніх днів Руста, PEP 518 вибір pyproject.tomlй 1.0.0 специфікація в 2021
Затвердженням проекту є історичні та екосистемні вимоги, які вимагають джерел, що не присутні в репозиторію перетворювача. Вони навмисно втілюються тут. Шлях або назва файлу не є доказами для хронології, визначення релізу або відповідності вимогам.
Питання оперативного характеру – чи читається цільовий інструмент TOML і які таблиці, які очікується. Перевірка поточного документообігу з використанням інструменту. Синтаксис перетворювачі знає синтаксис і значення картування, не пакетно-менеджера конфігураційних контрактів.
Історія прийняття екосистеми не містить репозиторійних джерел
Глибоке засмаглення може бути важко сканування, оскільки контекст таблиці зберігається по лініях, а великі масиви таблиць розширюють один логічний список через повторне заголовок. JSON пояснюється, що брекети та котирування додають брекети. Не більше представлення виводить складність з базової конфігурації.
Криптовари, що ковпачають 100 і довжина джерела на двох мільйонах символів. Якщо ви не знаєте, що це не є обов'язковими для користувача, то вони не мають жодних обмежень, а не визначаються якнайкращіші, так і універсальні, які є відмовою, не виписуються про ідеальний розмір конфігурації або універсальні TOML ліміти.
Що це не криється — TOML вибір парсерів на кожній мові, і читано-навколо природи деяких стандартно-ліберних реалізацій
Вибір батьків в кожній мові є позашталевою, як стандартно-ліберної можливості написання. ToolAcre використовується smol-toml динамічно і обмотує її помилки. Ще одна реалізація може форматувати дійсний вихід по-різному або виставити інший API при цьому, що представляють однакові дані.
Використовуйте крос-інструменти для часових значень, великих цілих, масивів та інших ключів, коли міжоперабельності має значення. Файл, прийнятий тут, не автоматично приймається кожним TOML споживач.
Поруч: TOML як працює панель перетворювачів Синтаксису, що дозволяє бачити будь-який формат налаштування JSON або YAML файл у цій формі
TOML визначено в спостережних шляхах: корінь столу, чіткі значення типу, рідні часові види і не нав’язливі. Перетворення видає ті варіанти та їх невідповідності JSON-формні цілі без необхідності походження міфу.
Використовуйте панель для перевірки дерева та виявлення попередження. Потім повернемося до схеми призначення і автору буде підтримувати макет столу. Перетворювач забезпечує докази про значення, не вирок від форматного переваги.
При цьому дисципліна застосовується при TOML є лише проміжним виглядом. Збережіть джерело, порівнюйте нормалізовані значення, і зауважте, що кожен часовий або широкий інтегерний перетворення до слуху читання. У компактному розкладі таблиці можна приховати змінний тип, а в словесному масиві таблиць можна давати точну точну. Вибір формату слід дотримуватися конфігураційного договору та технічного обслуговування робочого процесу, а не візуальної акуратності однієї згенерованої зразки.