#yaml #serialization #serde #serde-yaml #deserialize

serializable-yaml

Serializable equivalent of yaml-rust

7 releases (breaking)

0.6.1 Jul 22, 2023
0.6.0 Jul 20, 2023
0.5.0 Jul 2, 2023
0.4.0 Jul 2, 2023
0.1.0 Jul 1, 2023

#2085 in Encoding


Used in kobold-ssg

GPL-3.0-or-later

15KB
127 lines

pipeline status crates.io

Serializable YAML

This library makes yaml-rust's YAML enum serializable.

Because of the orphan rule we cannot implement the necessary trait on the YAML enum directly, so instead this library provides its own serializable equivalent with the same name.

For (de)serialization of custom Rust types to/from YAML see serde_yaml.

Usage

// load some YAML with yaml-rust
let yaml = yaml_rust::YamlLoader::load_from_str(input).unwrap();
// convert it to the serializable-yaml equivalent
let yaml = serializable_yaml::from_vec(yaml);
// you can now serialize that YAML instance with serde_yaml
let yaml_as_string = serde_yaml::to_string(&yaml).unwrap();

Utility function from_map is also available, see the docs.

Known bugs and limitations

Only strings are supported as hashmap keys, no other types.

Please report any other bugs as GitLab issues.

Dependencies

~0.5–1MB
~26K SLoC