ratatui_toolkit/primitives/tree_view/tree_node/constructors/
new.rs

1//! TreeNode::new constructor.
2
3use crate::primitives::tree_view::tree_node::TreeNode;
4
5impl<T> TreeNode<T> {
6    /// Creates a new tree node with no children.
7    ///
8    /// The node is created as non-expandable since it has no children.
9    ///
10    /// # Arguments
11    ///
12    /// * `data` - The data to store in the node.
13    ///
14    /// # Returns
15    ///
16    /// A new `TreeNode` with the given data and no children.
17    ///
18    /// # Example
19    ///
20    /// ```rust
21    /// use ratatui_toolkit::tree_view::TreeNode;
22    ///
23    /// let node = TreeNode::new("Hello");
24    /// assert!(!node.expandable);
25    /// assert!(node.children.is_empty());
26    /// ```
27    pub fn new(data: T) -> Self {
28        Self {
29            data,
30            children: Vec::new(),
31            expandable: false,
32        }
33    }
34}