located.go

 1package gqlerrors
 2
 3import (
 4	"errors"
 5	"github.com/graphql-go/graphql/language/ast"
 6)
 7
 8// NewLocatedError creates a graphql.Error with location info
 9// @deprecated 0.4.18
10// Already exists in `graphql.NewLocatedError()`
11func NewLocatedError(err interface{}, nodes []ast.Node) *Error {
12	var origError error
13	message := "An unknown error occurred."
14	if err, ok := err.(error); ok {
15		message = err.Error()
16		origError = err
17	}
18	if err, ok := err.(string); ok {
19		message = err
20		origError = errors.New(err)
21	}
22	stack := message
23	return NewError(
24		message,
25		nodes,
26		stack,
27		nil,
28		[]int{},
29		origError,
30	)
31}
32
33func FieldASTsToNodeASTs(fieldASTs []*ast.Field) []ast.Node {
34	nodes := []ast.Node{}
35	for _, fieldAST := range fieldASTs {
36		nodes = append(nodes, fieldAST)
37	}
38	return nodes
39}