create position builder
This commit is contained in:
11
node/node.go
11
node/node.go
@@ -2,6 +2,13 @@ package node
|
||||
|
||||
// Node interface
|
||||
type Node interface {
|
||||
Attributes() map[string]interface{}
|
||||
Walk(v Visitor)
|
||||
Attributes() map[string]interface{} // Attributes returns node attributes as map
|
||||
Walk(v Visitor) // Walk traverses nodes
|
||||
}
|
||||
|
||||
// Visitor interface
|
||||
type Visitor interface {
|
||||
EnterNode(node Node) bool // EnterNode invoked for each node encountered by Walk.
|
||||
GetChildrenVisitor(Key string) Visitor // GetChildrenVisitor returns visitor for children nodes
|
||||
LeaveNode(node Node) // LeaveNode invoked after process node
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package node
|
||||
|
||||
type Visitor interface {
|
||||
EnterNode(node Node) bool
|
||||
GetChildrenVisitor(Key string) Visitor
|
||||
LeaveNode(node Node)
|
||||
}
|
||||
Reference in New Issue
Block a user