Skip to content

Commit

Permalink
Merge pull request #3 from eiso/feature/FindLastNode
Browse files Browse the repository at this point in the history
Added a small method to return the last node
  • Loading branch information
xlab committed Mar 16, 2018
2 parents 0f25eb5 + a3fc0ad commit f3a15cf
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions treeprint.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ type Tree interface {
// FindByValue finds a node whose value matches the provided one by reflect.DeepEqual,
// returns nil if not found.
FindByValue(value Value) Tree
// returns the last node of a tree
FindLastNode() Tree
// String renders the tree or subtree as a string.
String() string
// Bytes renders the tree or subtree as byteslice.
Expand All @@ -43,6 +45,12 @@ type node struct {
Nodes []*node
}

func (n *node) FindLastNode() Tree {
ns := n.Nodes
n = ns[len(ns)-1]
return n
}

func (n *node) AddNode(v Value) Tree {
n.Nodes = append(n.Nodes, &node{
Root: n,
Expand Down

0 comments on commit f3a15cf

Please sign in to comment.