save method

  1. @override
Future<void> save(
  1. String path
)
override

Persists current configuration asynchronously to the file at path.

Implementation

@override
Future<void> save(String path) async {
  // Basic YAML serialization
  final file = File(path);
  final buffer = StringBuffer();
  _config.forEach((key, value) {
    if (value is List) {
      buffer.writeln('$key:');
      for (var item in value) {
        buffer.writeln('  - $item');
      }
    } else if (value is Map) {
      buffer.writeln('$key:');
      value.forEach((k, v) {
        buffer.writeln('  $k: $v');
      });
    } else {
      buffer.writeln('$key: $value');
    }
  });
  await file.writeAsString(buffer.toString());
}