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}