treerack/node.go

39 lines
601 B
Go
Raw Permalink Normal View History

2017-07-15 21:49:08 +02:00
package treerack
2017-06-25 17:51:08 +02:00
2025-08-19 00:56:08 +02:00
import "code.squareroundforest.org/arpio/treerack/self"
2017-06-25 17:51:08 +02:00
2017-11-01 00:19:29 +01:00
func mapNodes(m func(n *Node) *Node, n []*Node) []*Node {
var nn []*Node
for i := range n {
nn = append(nn, m(n[i]))
}
return nn
}
func filterNodes(f func(n *Node) bool, n []*Node) []*Node {
var nn []*Node
for i := range n {
if f(n[i]) {
nn = append(nn, n[i])
}
}
return nn
}
2018-01-05 19:06:10 +01:00
func mapSelfNode(n *self.Node) *Node {
nn := Node{
Name: n.Name,
From: n.From,
To: n.To,
tokens: n.Tokens(),
}
for i := range n.Nodes {
nn.Nodes = append(nn.Nodes, mapSelfNode(n.Nodes[i]))
}
2017-06-25 17:51:08 +02:00
2018-01-05 19:06:10 +01:00
return &nn
2017-06-25 17:51:08 +02:00
}