pub(crate) fn first_node(&self) -> Option<Node> {
        match self {
            VNode::VTag(vtag) => vtag.reference().cloned().map(JsCast::unchecked_into),
            VNode::VText(vtext) => vtext
                .reference
                .as_ref()
                .cloned()
                .map(JsCast::unchecked_into),
            VNode::VComp(vcomp) => vcomp.node_ref.get(),
            VNode::VList(vlist) => vlist.get(0).and_then(VNode::first_node),
            VNode::VRef(node) => Some(node.clone()),
        }
    }
/// Returns the first DOM node if available
Returns the first DOM node if available
Returns the first DOM node if available
pub(crate) fn first_node(&self) -> Option<Node> {
        match self {
            VNode::VTag(vtag) => vtag.reference().cloned().map(JsCast::unchecked_into),
            VNode::VText(vtext) => vtext
                .reference
                .as_ref()
                .cloned()
                .map(JsCast::unchecked_into),
            VNode::VComp(vcomp) => vcomp.node_ref.get(),
            VNode::VList(vlist) => vlist.get(0).and_then(VNode::first_node),
            VNode::VRef(node) => Some(node.clone()),
        }
    }
pub ( crate ) fn first_node ( & self ) -> Option < Node > { match self { VNode :: VTag ( vtag ) => vtag . reference ( ) . cloned ( ) . map ( JsCast :: unchecked_into ) , VNode :: VText ( vtext ) => vtext . reference . as_ref ( ) . cloned ( ) . map ( JsCast :: unchecked_into ) , VNode :: VComp ( vcomp ) => vcomp . node_ref . get ( ) , VNode :: VList ( vlist ) => vlist . get ( 0 ) . and_then ( VNode :: first_node ) , VNode :: VRef ( node ) => Some ( node . clone ( ) ) , } }
Returns the first DOM node if available
Returns the first DOM node if available
&self
&self