yew_vnode_struct/
lib.rs

1//! This module contains the implementation to get all the VNode structure.
2//! it is useful for testing and debuging. For example to know what contain this VNode
3//! we use VNodeStruct to get the complete Vnode button and log the result:
4//!
5//! #Example
6//!
7//! ```
8//! extern crate yew;
9//! extern crate yew_vnode_struct;
10//!
11//! use yew::html;
12//! use yew_vnode_struct::VNodeStruct;
13//!
14//! let example = html! {
15//!     <div id="example">{"example"}</div>
16//! };
17//!
18//! let vnode_example = VNodeStruct::new(example.clone());
19//!
20//! println!("{:#?}", example);
21//! ```
22//!
23//! We will get this structure:
24//!
25//! ```ignore
26//! VNodeStruct {
27//!     vtag: Some(
28//!         VTagStruct {
29//!             reference: None,
30//!             attributes: {
31//!                 "id": "example",
32//!             },
33//!             classes: Classes {
34//!                 set: {},
35//!             },
36//!             value: None,
37//!             kind: None,
38//!             checked: false,
39//!             node_ref: NodeRef(
40//!                 RefCell {
41//!                     value: NodeRefInner {
42//!                         node: None,
43//!                         link: None,
44//!                     },
45//!                 },
46//!             ),
47//!         },
48//!     ),
49//!     vlist: None,
50//!     vtext: None,
51//!     vcomp: None,
52//!     vref: None,
53//!     children: Some(
54//!         [
55//!             VNodeStruct {
56//!                 vtag: None,
57//!                 vlist: Some(
58//!                     VList {
59//!                         children: [
60//!                             VText { text: example },
61//!                         ],
62//!                         elide_placeholder: true,
63//!                     },
64//!                 ),
65//!                 vtext: None,
66//!                 vcomp: None,
67//!                 vref: None,
68//!                 children: Some(
69//!                     [
70//!                         VNodeStruct {
71//!                             vtag: None,
72//!                             vlist: None,
73//!                             vtext: Some(
74//!                                 VText { text: example },
75//!                             ),
76//!                             vcomp: None,
77//!                             vref: None,
78//!                             children: None,
79//!                         },
80//!                     ],
81//!                 ),
82//!             },
83//!         ],
84//!     ),
85//! }
86//! ```
87
88pub mod vnode_struct;
89
90pub use vnode_struct::VNodeStruct;