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