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 }