This is the first published version of this crate. Quite a milestone for
me, as I have started work on this library multiple times over the last
3 years, never getting enough traction to find something that worked for
my project goals.
This version contains the lowest level API that will be supported by
this crate: lib/event; which allows callers to directly consume YAML
stream events as the occur, with no help or storage apparatus.
I have some CI/CD issues to figure out -- testing docs, automating
crates.io publishes, improving test spread and speed, adding a recipe
runner (Make/just). After which I'll start working away on the in memory
graph representation of YAML, which will allow me to provide a Value
abstraction for handling arbitrary YAML, similar to serde_json::Value.
Its secondary purpose will be as storage for aliasing trees... during
serde::Deserialization, which will be a feature gated API that may
eventually take the place of serde_yaml.
The scanner is the engine that will drive the underlying byte stream,
converting it to tokens. This struct will not attempt to impose semantic
restrictions on token ordering, that will be for high level data
structures.