Crates.io | yaml-datastore |
lib.rs | yaml-datastore |
version | 0.1.0 |
created_at | 2025-03-27 01:27:59.736128+00 |
updated_at | 2025-03-27 01:27:59.736128+00 |
description | API for using a set of YAML files as a cohesive datastore. |
homepage | |
repository | http://github.com/dfego/yaml-datastore/ |
max_upload_size | |
id | 1607416 |
size | 37,415 |
API for using a set of YAML files as a cohesive datastore.
What this crate supports is having a set of YAML files be accessible as a single, uniform datastore. So for example, if you had a set of YAML files all containing structured data, you could use this crate to query specific values from it. In effect, it's an ergonomic wrapper for managing a set of files doing the file I/O, and pulling specific elements out of those files.
Assume there is a set of YAML files under tests/data/
, and within exists a file named complete.yaml
with the following content:
name: Complete
id: 1
rating: 1.0
complete: true
tags:
- complete
- done
- finished
nested:
value: true
To access the true
contained under nested -> value
, you can do the following:
use yaml_datastore::Datastore;
let datastore: Datastore = Datastore::open("tests/data");
let parsed: bool = datastore.get("complete.nested.value").unwrap();
assert!(parsed);
See the [Datastore] and [keypath] documentation for more information on how the keypaths are resolved into values.