github.com/tobiash/gqlgen@v0.5.1/codegen/testserver/element.go (about)

     1  package testserver
     2  
     3  import (
     4  	"context"
     5  	"errors"
     6  	"time"
     7  )
     8  
     9  type Element struct {
    10  	ID int
    11  }
    12  
    13  type ElementResolver struct{}
    14  
    15  func (r *ElementResolver) Query_path(ctx context.Context) ([]Element, error) {
    16  	return []Element{{1}, {2}, {3}, {4}}, nil
    17  }
    18  
    19  func (r *ElementResolver) Element_child(ctx context.Context, obj *Element) (Element, error) {
    20  	return Element{obj.ID * 10}, nil
    21  }
    22  
    23  func (r *ElementResolver) Element_error(ctx context.Context, obj *Element, message *string) (bool, error) {
    24  	// A silly hack to make the result order stable
    25  	time.Sleep(time.Duration(obj.ID) * 10 * time.Millisecond)
    26  
    27  	if message != nil {
    28  		return true, errors.New(*message)
    29  	}
    30  	return false, nil
    31  }