Add GraphQL Extensions (#184)
This enables accessing the Extensions field, as defined in the response format: https://spec.graphql.org/October2021/#sec-Response-Format Extensions can be enabled using configuration option use_extensions. This will change the return parameters of the generated client functions. Making it a breaking change if enabled. Since extensions are untyped as defined in the spec, the Client will return an interface of type map[string]interface{}.
This commit is contained in:
Vendored
+22
-14
@@ -5,6 +5,7 @@ package queries
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/Khan/genqlient/graphql"
|
||||
"github.com/Khan/genqlient/internal/testutil"
|
||||
)
|
||||
|
||||
@@ -37,26 +38,33 @@ func (v *SimpleQueryUser) GetId() string { return v.Id }
|
||||
func SimpleQuery(
|
||||
ctx context.Context,
|
||||
) (*SimpleQueryResponse, error) {
|
||||
var err error
|
||||
client, err := testutil.GetClientFromContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var retval SimpleQueryResponse
|
||||
err = client.MakeRequest(
|
||||
ctx,
|
||||
"SimpleQuery",
|
||||
`
|
||||
req := &graphql.Request{
|
||||
OpName: "SimpleQuery",
|
||||
Query: `
|
||||
query SimpleQuery {
|
||||
user {
|
||||
id
|
||||
}
|
||||
}
|
||||
`,
|
||||
&retval,
|
||||
nil,
|
||||
}
|
||||
var err error
|
||||
var client graphql.Client
|
||||
|
||||
client, err = testutil.GetClientFromContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var data SimpleQueryResponse
|
||||
resp := &graphql.Response{Data: &data}
|
||||
|
||||
err = client.MakeRequest(
|
||||
ctx,
|
||||
req,
|
||||
resp,
|
||||
)
|
||||
return &retval, err
|
||||
|
||||
return &data, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user