23 lines
876 B
Plaintext
23 lines
876 B
Plaintext
package trees
|
|
|
|
import (
|
|
"context"
|
|
"example.com/recursive/internal/types"
|
|
)
|
|
|
|
func sample() types.Node {
|
|
return types.Node{Name: "root", Children: []types.Node{
|
|
{Name: "child", Children: []types.Node{
|
|
{Name: "leaf", Children: []types.Node{}},
|
|
}},
|
|
}, Lookup: map[string]types.Node{"entry": {Name: "lookup", Children: []types.Node{}}}}
|
|
}
|
|
|
|
func (s *Logic) Tree(context.Context) (*types.Node, error) { node := sample(); return &node, nil }
|
|
func (s *Logic) Forest(context.Context) ([]types.Node, error) { return []types.Node{sample()}, nil }
|
|
func (s *Logic) Optional(context.Context) (*types.Node, error) { return nil, nil }
|
|
func (s *Logic) Raw(context.Context) (*types.Node, error) { node := sample(); return &node, nil }
|
|
func (s *Logic) Pair(context.Context) (*types.Branch, error) {
|
|
return &types.Branch{Leaf: &types.Leaf{}}, nil
|
|
}
|