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: 21 days ago
JSON representation
Restructure a YAML internal representations so that dotted keys map to inner fields
- Host: GitHub
- URL: https://github.com/crowdagger/yaml_extras
- Owner: crowdagger
- License: mpl-2.0
- Created: 2023-08-23T21:01:00.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-05T01:30:50.000Z (almost 3 years ago)
- Last Synced: 2026-05-24T17:48:17.340Z (27 days ago)
- Language: Rust
- Size: 60.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- Funding: .github/FUNDING.yml
- License: LICENSE
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