Crate marked_yaml
source ·Expand description
§Marked YAML
Currently this library only supports loading YAML from strings, but this is sufficient for most users’ purposes. We would not recommend an un-streamed processing engine for massive data anyway.
To load some YAML you simply need to:
let node = marked_yaml::parse_yaml(0, r#"
toplevel: must be a mapping
but:
- it
- may
- contain lists
and:
mappings: are permitted
as: sub-mappings
"#);
assert!(node.is_ok());Parsing a valid YAML file may fail because marked_yaml adds some
additional constraints:
- The top level of the YAML MUST be a mapping.
- Mapping keys MUST be scalars (strings).
- Aliases and anchors MAY NOT be used (though this limit may be lifted in the future).
In addition, you can convert between marked_yaml::Node and yaml_rust::Yaml
though doing so will not give you any useful markers.
Modules§
- Loading YAML
- Various basic types for YAML handling
Structs§
- The error returned by
from_node - Options for loading YAML
- A marker for a YAML node
- The span for a YAML marked node
- Wrapper which can be used when deserialising data from
Node
Enums§
- Errors which can come from deserialisation
- Errors which can occur when deserialising from YAML
- Errors which can occur during loading of YAML
- A marked YAML node
Functions§
- Deserialize some
Nodeinto the requisite type - Deserialize some YAML into the requisite type
- Deserialize some YAML into the requisite type
- Parse YAML from a string and return a Node representing the content.
- Parse YAML from a string and return a Node representing the content. Takes an additional LoaderOptions struct to control the behavior of the loader.