TypeScript:
Робота з TOML

Як це зробити:

Спочатку, вам знадобиться парсер TOML. @iarna/toml є популярним варіантом. Встановіть його за допомогою npm: npm install @iarna/toml --save. Ось як ви можете прочитати файл TOML та розібрати його до об’єкта JavaScript:

import * as fs from 'fs';
import toml from '@iarna/toml';

const tomlContent = fs.readFileSync('config.toml', 'utf-8');
const parsedData = toml.parse(tomlContent);

console.log(parsedData);

Якщо config.toml містить:

[server]
port = 8080

Тоді вивід буде таким:

{ server: { port: 8080 } }

І, запис у файл TOML є так само простим:

import * as fs from 'fs';
import { stringify } from '@iarna/toml';

const obj = { server: { port: 8080 } };
const tomlString = stringify(obj);
fs.writeFileSync('config.toml', tomlString);

Виконання цього коду записує об’єкт у config.toml у форматі TOML.

Поглиблений Розгляд

TOML був створений Томом Престон-Вернером, співзасновником GitHub, приблизно у 2013 році як відповідь на обмеження, які він сприймав у інших форматах, таких як INI або YAML. Він розроблений бути недвозначним і легким для розбору в структури даних, отже, улюбленець для файлів конфігурації. Альтернативи, на зразок JSON, не мають коментарів, тоді як YAML є складнішим. TOML виблискує своєю простотою та здатністю чітко представляти складні ієрархії даних.

Під капотом, коли ви парсите TOML в TypeScript, ви перетворюєте текстові дані в структурований формат, який мова може маніпулювати. Це включає лексинг (перетворення сирого тексту в токени) та парсинг (створення внутрішньої структури даних); @iarna/toml впорається з обома безперешкодно. Підтримка емодзі є веселим дотиком, що показує користувацький підхід TOML.

Див. також