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}