Files
genqlient/generate/testdata/snapshots/TestGenerateWithConfig-OptionalGeneric-testdata-queries-generated.go
T
Dylan R. Johnston c61d7acaa5 Add "generic" option to the "optional" configuration for handling nullable types (#252)
This is an implementation for #251, it adds a new `"generic"` option for
the `"optional"` configuration, and a companion type
`"optional_generic_type"` which is a fully qualified type with a
placeholder `%` for the generic parameter.

Co-authored-by: Dylan R. Johnston <dylan.johnston@familyzone.com>
Co-authored-by: Ben Kraft <ben@benkraft.org>
2023-05-06 10:40:03 -07:00

154 lines
4.4 KiB
Go

// Code generated by github.com/Khan/genqlient, DO NOT EDIT.
package queries
import (
"context"
"github.com/Khan/genqlient/graphql"
"github.com/Khan/genqlient/internal/testutil"
)
// ListInputQueryResponse is returned by ListInputQuery on success.
type ListInputQueryResponse struct {
// user looks up a user by some stuff.
//
// See UserQueryInput for what stuff is supported.
// If query is null, returns the current user.
User testutil.Option[ListInputQueryUser] `json:"user"`
}
// GetUser returns ListInputQueryResponse.User, and is useful for accessing the field via an interface.
func (v *ListInputQueryResponse) GetUser() testutil.Option[ListInputQueryUser] { return v.User }
// ListInputQueryUser includes the requested fields of the GraphQL type User.
// The GraphQL type's documentation follows.
//
// A User is a user!
type ListInputQueryUser struct {
// id is the user's ID.
//
// It is stable, unique, and opaque, like all good IDs.
Id string `json:"id"`
}
// GetId returns ListInputQueryUser.Id, and is useful for accessing the field via an interface.
func (v *ListInputQueryUser) GetId() string { return v.Id }
// QueryWithSlicesResponse is returned by QueryWithSlices on success.
type QueryWithSlicesResponse struct {
// user looks up a user by some stuff.
//
// See UserQueryInput for what stuff is supported.
// If query is null, returns the current user.
User testutil.Option[QueryWithSlicesUser] `json:"user"`
}
// GetUser returns QueryWithSlicesResponse.User, and is useful for accessing the field via an interface.
func (v *QueryWithSlicesResponse) GetUser() testutil.Option[QueryWithSlicesUser] { return v.User }
// QueryWithSlicesUser includes the requested fields of the GraphQL type User.
// The GraphQL type's documentation follows.
//
// A User is a user!
type QueryWithSlicesUser struct {
Emails []string `json:"emails"`
EmailsOrNull []string `json:"emailsOrNull"`
EmailsWithNulls []testutil.Option[string] `json:"emailsWithNulls"`
EmailsWithNullsOrNull []testutil.Option[string] `json:"emailsWithNullsOrNull"`
}
// GetEmails returns QueryWithSlicesUser.Emails, and is useful for accessing the field via an interface.
func (v *QueryWithSlicesUser) GetEmails() []string { return v.Emails }
// GetEmailsOrNull returns QueryWithSlicesUser.EmailsOrNull, and is useful for accessing the field via an interface.
func (v *QueryWithSlicesUser) GetEmailsOrNull() []string { return v.EmailsOrNull }
// GetEmailsWithNulls returns QueryWithSlicesUser.EmailsWithNulls, and is useful for accessing the field via an interface.
func (v *QueryWithSlicesUser) GetEmailsWithNulls() []testutil.Option[string] {
return v.EmailsWithNulls
}
// GetEmailsWithNullsOrNull returns QueryWithSlicesUser.EmailsWithNullsOrNull, and is useful for accessing the field via an interface.
func (v *QueryWithSlicesUser) GetEmailsWithNullsOrNull() []testutil.Option[string] {
return v.EmailsWithNullsOrNull
}
// __ListInputQueryInput is used internally by genqlient
type __ListInputQueryInput struct {
Names []testutil.Option[string] `json:"names"`
}
// GetNames returns __ListInputQueryInput.Names, and is useful for accessing the field via an interface.
func (v *__ListInputQueryInput) GetNames() []testutil.Option[string] { return v.Names }
// The query or mutation executed by ListInputQuery.
const ListInputQuery_Operation = `
query ListInputQuery ($names: [String]) {
user(query: {names:$names}) {
id
}
}
`
func ListInputQuery(
ctx context.Context,
client graphql.Client,
names []testutil.Option[string],
) (*ListInputQueryResponse, error) {
req := &graphql.Request{
OpName: "ListInputQuery",
Query: ListInputQuery_Operation,
Variables: &__ListInputQueryInput{
Names: names,
},
}
var err error
var data ListInputQueryResponse
resp := &graphql.Response{Data: &data}
err = client.MakeRequest(
ctx,
req,
resp,
)
return &data, err
}
// The query or mutation executed by QueryWithSlices.
const QueryWithSlices_Operation = `
query QueryWithSlices {
user {
emails
emailsOrNull
emailsWithNulls
emailsWithNullsOrNull
}
}
`
func QueryWithSlices(
ctx context.Context,
client graphql.Client,
) (*QueryWithSlicesResponse, error) {
req := &graphql.Request{
OpName: "QueryWithSlices",
Query: QueryWithSlices_Operation,
}
var err error
var data QueryWithSlicesResponse
resp := &graphql.Response{Data: &data}
err = client.MakeRequest(
ctx,
req,
resp,
)
return &data, err
}