pub struct Node {
pub name: Option<NodeName>,
pub node_type: NodeType,
pub value: Option<Expr>,
pub attributes: Vec<Node>,
pub children: Vec<Node>,
}Expand description
Node in the tree
Fields§
§name: Option<NodeName>Name according to the NodeType
- Element: Name of the element
- Attribute: Key of the element attribute
- Text:
None - Doctype:
None - Comment:
None - Fragment:
None - Block:
None
node_type: NodeTypeType of the node
value: Option<Expr>Value according to the NodeType
- Element:
None - Attribute: Any valid
syn::Expr - Text:
syn::Expr::Lit - Doctype:
syn::Expr::Lit - Comment:
syn::Expr::Lit - Fragment:
None - Block:
syn::Expr::Block
attributes: Vec<Node>NodeType::Element attributes are NodeType::Attribute or NodeType::Block
children: Vec<Node>NodeType::Element children can be everything except NodeType::Attribute
Implementations§
Source§impl Node
impl Node
Sourcepub fn name_as_string(&self) -> Option<String>
pub fn name_as_string(&self) -> Option<String>
Returns String if name is Some and not NodeName::Block
Sourcepub fn name_as_block(&self) -> Option<ExprBlock>
pub fn name_as_block(&self) -> Option<ExprBlock>
Returns ExprBlock if name is NodeName::Block(Expr::Block)
Sourcepub fn value_as_string(&self) -> Option<String>
pub fn value_as_string(&self) -> Option<String>
Returns String if value is a Lit or Path expression
Sourcepub fn value_as_block(&self) -> Option<ExprBlock>
pub fn value_as_block(&self) -> Option<ExprBlock>
Returns ExprBlock if value is a Expr::Block expression
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl !Send for Node
impl !Sync for Node
impl Unpin for Node
impl UnwindSafe for Node
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
Mutably borrows from an owned value. Read more