Update README with example

This commit is contained in:
Piotr Rogowski 2023-12-08 09:08:40 +01:00
parent d63c673f1c
commit f56230347e
No known key found for this signature in database
GPG Key ID: 4A842D702D9C6F8F
2 changed files with 57 additions and 6 deletions

View File

@ -7,3 +7,58 @@ INI parser for HyperTuner written in Dart.
## Roadmap
Checkout Roadmap issue: <https://github.com/hyper-tuner/ini_parser/issues/2>
## Example usage
from `example/save_as_json.dart`:
```dart
import 'dart:convert';
import 'dart:io';
import 'package:ini_parser/ini_parser.dart';
import 'package:path/path.dart' as p;
void main() async {
final timer = Stopwatch()..start();
const fileNames = [
{
'ecosystem': 'speeduino',
'name': '202207',
},
{
'ecosystem': 'fome',
'name': 'fome_proteus_f4',
},
];
for (final fileName in fileNames) {
final raw = File(
p.join(
Directory.current.path,
'test/data/${fileName['ecosystem']}/ini/${fileName['name']}.ini',
),
).readAsStringSync();
final config = await INIParser(raw).parse();
final json = const JsonEncoder.withIndent(' ').convert(config);
File(
p.join(
Directory.current.path,
'test/data/${fileName['ecosystem']}/json/${fileName['name']}.json',
),
).writeAsStringSync(json);
}
// ignore: avoid_print
print('Done in ${timer.elapsedMilliseconds}ms');
}
```
Compile and run:
```bash
dart compile exe example/save_as_json.dart
./example/save_as_json
```

View File

@ -24,12 +24,8 @@ void main() async {
'test/data/${fileName['ecosystem']}/ini/${fileName['name']}.ini',
),
).readAsStringSync();
final parser = INIParser(raw);
final config = await parser.parse();
const encoder = JsonEncoder.withIndent(' ');
final json = encoder.convert(config);
final config = await INIParser(raw).parse();
final json = const JsonEncoder.withIndent(' ').convert(config);
File(
p.join(