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: NodeType
Type 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
sourceimpl 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 RefUnwindSafe for Node
impl !Send for Node
impl !Sync for Node
impl Unpin for Node
impl UnwindSafe for Node
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more