INNER CODE UNIT · Rust
parse
stjude-rust-labs/sprocket · crates/sprocket-test-types/src/lib.rs:212
fn parse(raw: Spanned<RawTestDefinition>) -> Result<Self, Diagnostics> {
let mut diagnostics = Diagnostics::default();
let parsed_name = match raw.0.value.name {
Some(raw_name) => {
let Value::String(name) = raw_name.value.0.value else {
diagnostics.add(
Diagnostic::error("`name` must be a string")
.with_highlight(convert_yaml_span(raw_name.value.0.defined.span())),
);
return Err(diagnostics);
};
Some(Spanned(serde_saphyr::Spanned {
value: name,
defined: raw_name.value.0.defined,
referenced: raw_name.value.0.referenced,
}))
}