Dart:
Travailler avec YAML

Comment faire :

Dans Dart, travailler avec YAML implique généralement l’utilisation d’une bibliothèque tierce car le langage ne comprend pas de capacités d’analyse YAML intégrées. Un choix populaire est le paquet yaml. Pour commencer, vous devrez ajouter ce paquet à votre pubspec.yaml :

dependencies:
  yaml: ^3.1.0

N’oubliez pas d’exécuter pub get pour récupérer le paquet.

Lire le YAML

Pour lire un fichier YAML, commencez par importer le paquet yaml, puis utilisez la fonction loadYaml :

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

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

  print(yamlMap['name']); // Sortie : John Doe
}

En supposant que votre fichier config.yaml ressemble à cela :

name: John Doe
age: 30

Écrire en YAML

Bien que le paquet yaml soit excellent pour l’analyse, il ne prend pas en charge l’écriture en YAML. Pour cela, vous devrez peut-être convertir vos données en YAML manuellement ou utiliser un autre paquet si disponible. Ou, de manière plus simple, gérer vos transformations de données et les sortir comme des chaînes correspondant à la syntaxe 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)); // Sortie : name: Jane Doe
                             //         age: 29
}

Cette méthode est rudimentaire et peut ne pas convenir aux structures de données complexes ou aux fonctionnalités spéciales de YAML. Pour des besoins plus sophistiqués, vous pourriez devoir rechercher ou contribuer à un paquet Dart plus complet.