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