Dart:
Trabalhando com YAML

Como fazer:

Em Dart, trabalhar com YAML geralmente envolve o uso de uma biblioteca de terceiros, já que a linguagem não inclui recursos de análise de YAML integrados. Uma escolha popular é o pacote yaml. Para começar, você precisará adicionar este pacote ao seu pubspec.yaml:

dependencies:
  yaml: ^3.1.0

Lembre-se de executar pub get para buscar o pacote.

Lendo YAML

Para ler um arquivo YAML, primeiro, importe o pacote yaml e depois use a função loadYaml:

import 'package:yaml/yaml.dart';
import 'dart:io';

void main() {
  final file = File('config.yaml').readAsStringAsync();
  final yamlMap = loadYaml(file);

  print(yamlMap['name']); // Saída: John Doe
}

Assumindo que seu arquivo config.yaml se pareça com isso:

name: John Doe
age: 30

Escrevendo YAML

Embora o pacote yaml seja ótimo para análise, ele não suporta a escrita de YAML. Para isso, você pode precisar converter seus dados para YAML manualmente ou usar outro pacote, se disponível. Ou, de forma mais direta, gerenciar suas transformações de dados e saídas como strings que correspondem à sintaxe YAML:

Map<String, dynamic> data = {
  'name': 'Jane Doe',
  'age': 29,
};

String toYamlString(Map<String, dynamic> map) {
  String yaml = '';
  map.forEach((key, value) {
    yaml += '$key: $value\n';
  });
  return yaml;
}

void main() {
  print(toYamlString(data)); // Saída: name: Jane Doe
                             //         age: 29
}

Essa é uma abordagem rudimentar e pode não ser adequada para estruturas de dados complexas ou recursos especiais do YAML. Para necessidades sofisticadas, você pode precisar procurar ou contribuir com um pacote Dart mais abrangente.