MCPcopy
hub / github.com/pterm/pterm / NewTreeFromLeveledList

Function NewTreeFromLeveledList

deprecated.go:85–120  ·  view source on GitHub ↗

NewTreeFromLeveledList converts a TreeItems list to a TreeNode and returns it. Deprecated: use putils.TreeFromLeveledList instead.

(leveledListItems LeveledList)

Source from the content-addressed store, hash-verified

83//
84// Deprecated: use putils.TreeFromLeveledList instead.
85func NewTreeFromLeveledList(leveledListItems LeveledList) TreeNode {
86 if len(leveledListItems) == 0 {
87 return TreeNode{}
88 }
89
90 root := &TreeNode{
91 Children: []TreeNode{},
92 Text: leveledListItems[0].Text,
93 }
94
95 for i, record := range leveledListItems {
96 last := root
97
98 if record.Level < 0 {
99 record.Level = 0
100 leveledListItems[i].Level = 0
101 }
102
103 if len(leveledListItems)-1 != i {
104 if leveledListItems[i+1].Level-1 > record.Level {
105 leveledListItems[i+1].Level = record.Level + 1
106 }
107 }
108
109 for i := 0; i < record.Level; i++ {
110 lastIndex := len(last.Children) - 1
111 last = &last.Children[lastIndex]
112 }
113 last.Children = append(last.Children, TreeNode{
114 Children: []TreeNode{},
115 Text: record.Text,
116 })
117 }
118
119 return *root
120}
121
122// NewRGBFromHEX converts a HEX and returns a new RGB.
123//

Calls

no outgoing calls

Used in the wild real call sites across dependent graphs

searching dependent graphs…