Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/crowdagger/yaml_extras

Restructure a YAML internal representations so that dotted keys map to inner fields
https://github.com/crowdagger/yaml_extras

Last synced: about 8 hours ago
JSON representation

Restructure a YAML internal representations so that dotted keys map to inner fields

Awesome Lists containing this project

README

        

# yaml_extras

Misc yaml-related utility functions.

## Restructure

If you use YAML for a configuration file, you might want to allow to use
both things like:

```yaml
compiler:
command: cargo build
```

and:

```yaml
compiler.command: cargo build
```

(Or not. I know *I* needed that. Whatever.)

The functions `restructure_map` and `restructure_from_str` allow just that,
converting dotted keys to inner fiels:

```rust
let s1 = r#"
compiler:
command: cargo build
"#;

let s2 = r#"
compiler.command: cargo build
"#;
let v1: serde_yaml::Value = serde_yaml::from_str(s1).unwrap();
let v2 = yaml_extras::restructure_from_str(&s2, true).unwrap();
assert_eq!(v1, v2);
```

License: MPL-2.0