yaml_edit 2.2.0 copy "yaml_edit: ^2.2.0" to clipboard
yaml_edit: ^2.2.0 copied to clipboard

A library for YAML manipulation with comment and whitespace preservation.

Dart CI pub package package publisher Coverage Status

A library for YAML manipulation while preserving comments.

Usage #

A simple usage example:

import 'package:yaml_edit/yaml_edit.dart';

void main() {
  final yamlEditor = YamlEditor('{YAML: YAML}');
  yamlEditor.update(['YAML'], "YAML Ain't Markup Language");
  print(yamlEditor);
  // Expected output:
  // {YAML: YAML Ain't Markup Language}
}

Example: Converting JSON to YAML (block formatted) #

void main() {
  final jsonString = r'''
{
  "key": "value",
  "list": [
    "first",
    "second",
    "last entry in the list"
  ],
  "map": {
    "multiline": "this is a fairly long string with\nline breaks..."
  }
}
''';
  final jsonValue = json.decode(jsonString);

  // Convert jsonValue to YAML
  final yamlEditor = YamlEditor('');
  yamlEditor.update([], jsonValue);
  print(yamlEditor.toString());
}

Testing #

Testing is done in two strategies: Unit testing (/test/editor_test.dart) and Golden testing (/test/golden_test.dart). More information on Golden testing and the input/output format can be found at /test/testdata/README.md.

These tests are automatically run with pub run test.

Limitations #

  1. Users are not allowed to define tags in the modifications.
  2. Map keys will always be added in the flow style.
29
likes
140
pub points
99%
popularity

Publisher

verified publishertools.dart.dev

A library for YAML manipulation with comment and whitespace preservation.

Repository (GitHub)
View/report issues

Topics

#yaml

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

collection, meta, source_span, yaml

More

Packages that depend on yaml_edit