pub struct RawFrontmatter {Show 14 fields
pub id: String,
pub item_type: ItemType,
pub name: String,
pub description: Option<String>,
pub refines: Vec<String>,
pub derives_from: Vec<String>,
pub satisfies: Vec<String>,
pub is_refined_by: Vec<String>,
pub derives: Vec<String>,
pub is_satisfied_by: Vec<String>,
pub specification: Option<String>,
pub depends_on: Vec<String>,
pub platform: Option<String>,
pub justified_by: Option<Vec<String>>,
}Expand description
Raw frontmatter structure for deserialization.
This represents the YAML frontmatter as it appears in Markdown files. All relationship fields accept both single values and arrays for flexibility.
Fields§
§id: StringUnique identifier (required).
item_type: ItemTypeItem type (required).
name: StringHuman-readable name (required).
description: Option<String>Optional description.
refines: Vec<String>Items this item refines (for UseCase, Scenario).
derives_from: Vec<String>Items this item derives from (for SystemRequirement, HW/SW Requirement).
satisfies: Vec<String>Items this item satisfies (for SystemArchitecture, HW/SW DetailedDesign).
is_refined_by: Vec<String>Items that refine this item (for Solution, UseCase).
derives: Vec<String>Items derived from this item (for Scenario, SystemArchitecture).
is_satisfied_by: Vec<String>Items that satisfy this item (for SystemRequirement, HW/SW Requirement).
specification: Option<String>Specification statement (required for requirement types).
depends_on: Vec<String>Peer dependencies (for requirement types).
platform: Option<String>Target platform (for SystemArchitecture).
justified_by: Option<Vec<String>>ADR links (reserved for future use).
Implementations§
Source§impl RawFrontmatter
impl RawFrontmatter
Sourcepub fn upstream_refs(&self) -> Result<UpstreamRefs, ParseError>
pub fn upstream_refs(&self) -> Result<UpstreamRefs, ParseError>
Converts string IDs to ItemIds for upstream refs.
Sourcepub fn downstream_refs(&self) -> Result<DownstreamRefs, ParseError>
pub fn downstream_refs(&self) -> Result<DownstreamRefs, ParseError>
Converts string IDs to ItemIds for downstream refs.
Sourcepub fn attributes(&self) -> ItemAttributes
pub fn attributes(&self) -> ItemAttributes
Converts to ItemAttributes.
Trait Implementations§
Source§impl Clone for RawFrontmatter
impl Clone for RawFrontmatter
Source§fn clone(&self) -> RawFrontmatter
fn clone(&self) -> RawFrontmatter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RawFrontmatter
impl Debug for RawFrontmatter
Source§impl<'de> Deserialize<'de> for RawFrontmatter
impl<'de> Deserialize<'de> for RawFrontmatter
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for RawFrontmatter
impl RefUnwindSafe for RawFrontmatter
impl Send for RawFrontmatter
impl Sync for RawFrontmatter
impl Unpin for RawFrontmatter
impl UnwindSafe for RawFrontmatter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more