Complete example demonstrating format conversion using @programsmagic/toon-converter.
This example shows how to:
cd examples/toon-converter
pnpm install
Create a file input.json:
{
"users": [
{"id": 1, "name": "Alice", "email": "alice@example.com"},
{"id": 2, "name": "Bob", "email": "bob@example.com"}
]
}
# Convert JSON to TOON
node convert.js input.json output.toon
# Convert with minimization
node convert.js input.json output.toon --minimize
# Convert to CSV
node convert.js input.json output.csv --to csv
# Convert to YAML
node convert.js input.json output.yaml --to yaml
import { convertFile } from '@programsmagic/toon-converter';
import { readFileSync, writeFileSync } from 'fs';
const [inputFile, outputFile, ...options] = process.argv.slice(2);
const minimize = options.includes('--minimize');
const toFormat = options.find(opt => opt.startsWith('--to='))?.split('=')[1] || 'toon';
const input = readFileSync(inputFile, 'utf-8');
const output = await convertFile(inputFile, outputFile, {
from: 'json',
to: toFormat,
minimize,
});
console.log(`Converted ${inputFile} to ${outputFile}`);
console.log(`Format: ${toFormat}`);
console.log(`Minimized: ${minimize}`);
{
"users": [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]
}
users [
id 1 name Alice
id 2 name Bob
]
users [id 1 name Alice id 2 name Bob]
id,name
1,Alice
2,Bob
node convert.js input.json output.toon
node convert.js input.json output.toon --minimize
# Convert to CSV
node convert.js input.json output.csv --to=csv
# Convert to YAML
node convert.js input.json output.yaml --to=yaml
Problem: Error “File not found”.
Solution:
ls input.jsonProblem: Error “Invalid format”.
Solution:
--to=json, --to=toon, --to=csv, or --to=yamlProblem: Conversion fails.
Solution: