c61d7acaa5
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>
154 lines
4.4 KiB
Go
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
|
|
}
|
|
|