toYAML function

String toYAML(
  1. Map<String, dynamic> map
)

Implementation

String toYAML(Map<String, dynamic> map) {
  var b = StringBuffer();

  for (var e in map.entries) {
    var key = e.key;
    var value = e.value;

    var val = '';
    if (value is List) {
      var items = <String>[];
      for (var v in value) {
        if (v is YamlList) {
          items.add(v.toString());
        } else {
          items.add(_toYamlString(v.toString()));
        }
      }
      val = '[' + items.join(', ') + ']';
    } else if (value is Map) {
      if (value is YamlMap) {
        value = _convertMap(value);
      }
      val = _indentString(toYAML(value as Map<String, dynamic>), 2);
      b.writeln(key + ':\n' + val);
      continue;
    } else {
      val = _toYamlString(value.toString());
    }
    b.writeln(key + ': ' + val);
  }
  return b.toString();
}