e3227388fe
We got reports of conflicts with the old constant-name and symbols that people were defining in their app.
675 lines
25 KiB
Go
675 lines
25 KiB
Go
// Code generated by github.com/Khan/genqlient, DO NOT EDIT.
|
|
|
|
package test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"github.com/Khan/genqlient/graphql"
|
|
"github.com/Khan/genqlient/internal/testutil"
|
|
)
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemArticle includes the requested fields of the GraphQL type Article.
|
|
type InterfaceNoFragmentsQueryRandomItemArticle struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryRandomItemArticle.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemArticle) GetTypename() string { return v.Typename }
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRandomItemArticle.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemArticle) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRandomItemArticle.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemArticle) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemContent includes the requested fields of the GraphQL interface Content.
|
|
//
|
|
// InterfaceNoFragmentsQueryRandomItemContent is implemented by the following types:
|
|
// InterfaceNoFragmentsQueryRandomItemArticle
|
|
// InterfaceNoFragmentsQueryRandomItemTopic
|
|
// InterfaceNoFragmentsQueryRandomItemVideo
|
|
// The GraphQL type's documentation follows.
|
|
//
|
|
// Content is implemented by various types like Article, Video, and Topic.
|
|
type InterfaceNoFragmentsQueryRandomItemContent interface {
|
|
implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemContent()
|
|
// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
|
|
GetTypename() string
|
|
// GetId returns the interface-field "id" from its implementation.
|
|
// The GraphQL interface field's documentation follows.
|
|
//
|
|
// ID is the identifier of the content.
|
|
GetId() testutil.ID
|
|
// GetName returns the interface-field "name" from its implementation.
|
|
GetName() string
|
|
}
|
|
|
|
func (v *InterfaceNoFragmentsQueryRandomItemArticle) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemContent() {
|
|
}
|
|
func (v *InterfaceNoFragmentsQueryRandomItemTopic) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemContent() {
|
|
}
|
|
func (v *InterfaceNoFragmentsQueryRandomItemVideo) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemContent() {
|
|
}
|
|
|
|
func __unmarshalInterfaceNoFragmentsQueryRandomItemContent(b []byte, v *InterfaceNoFragmentsQueryRandomItemContent) error {
|
|
if string(b) == "null" {
|
|
return nil
|
|
}
|
|
|
|
var tn struct {
|
|
TypeName string `json:"__typename"`
|
|
}
|
|
err := json.Unmarshal(b, &tn)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
switch tn.TypeName {
|
|
case "Article":
|
|
*v = new(InterfaceNoFragmentsQueryRandomItemArticle)
|
|
return json.Unmarshal(b, *v)
|
|
case "Topic":
|
|
*v = new(InterfaceNoFragmentsQueryRandomItemTopic)
|
|
return json.Unmarshal(b, *v)
|
|
case "Video":
|
|
*v = new(InterfaceNoFragmentsQueryRandomItemVideo)
|
|
return json.Unmarshal(b, *v)
|
|
case "":
|
|
return fmt.Errorf(
|
|
"response was missing Content.__typename")
|
|
default:
|
|
return fmt.Errorf(
|
|
`unexpected concrete type for InterfaceNoFragmentsQueryRandomItemContent: "%v"`, tn.TypeName)
|
|
}
|
|
}
|
|
|
|
func __marshalInterfaceNoFragmentsQueryRandomItemContent(v *InterfaceNoFragmentsQueryRandomItemContent) ([]byte, error) {
|
|
|
|
var typename string
|
|
switch v := (*v).(type) {
|
|
case *InterfaceNoFragmentsQueryRandomItemArticle:
|
|
typename = "Article"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryRandomItemArticle
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case *InterfaceNoFragmentsQueryRandomItemTopic:
|
|
typename = "Topic"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryRandomItemTopic
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case *InterfaceNoFragmentsQueryRandomItemVideo:
|
|
typename = "Video"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryRandomItemVideo
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case nil:
|
|
return []byte("null"), nil
|
|
default:
|
|
return nil, fmt.Errorf(
|
|
`unexpected concrete type for InterfaceNoFragmentsQueryRandomItemContent: "%T"`, v)
|
|
}
|
|
}
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemTopic includes the requested fields of the GraphQL type Topic.
|
|
type InterfaceNoFragmentsQueryRandomItemTopic struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryRandomItemTopic.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemTopic) GetTypename() string { return v.Typename }
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRandomItemTopic.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemTopic) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRandomItemTopic.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemTopic) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemVideo includes the requested fields of the GraphQL type Video.
|
|
type InterfaceNoFragmentsQueryRandomItemVideo struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryRandomItemVideo.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemVideo) GetTypename() string { return v.Typename }
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRandomItemVideo.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemVideo) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRandomItemVideo.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemVideo) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle includes the requested fields of the GraphQL type Article.
|
|
type InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle) GetTypename() string {
|
|
return v.Typename
|
|
}
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameContent includes the requested fields of the GraphQL interface Content.
|
|
//
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameContent is implemented by the following types:
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo
|
|
// The GraphQL type's documentation follows.
|
|
//
|
|
// Content is implemented by various types like Article, Video, and Topic.
|
|
type InterfaceNoFragmentsQueryRandomItemWithTypeNameContent interface {
|
|
implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemWithTypeNameContent()
|
|
// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
|
|
GetTypename() string
|
|
// GetId returns the interface-field "id" from its implementation.
|
|
// The GraphQL interface field's documentation follows.
|
|
//
|
|
// ID is the identifier of the content.
|
|
GetId() testutil.ID
|
|
// GetName returns the interface-field "name" from its implementation.
|
|
GetName() string
|
|
}
|
|
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemWithTypeNameContent() {
|
|
}
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemWithTypeNameContent() {
|
|
}
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRandomItemWithTypeNameContent() {
|
|
}
|
|
|
|
func __unmarshalInterfaceNoFragmentsQueryRandomItemWithTypeNameContent(b []byte, v *InterfaceNoFragmentsQueryRandomItemWithTypeNameContent) error {
|
|
if string(b) == "null" {
|
|
return nil
|
|
}
|
|
|
|
var tn struct {
|
|
TypeName string `json:"__typename"`
|
|
}
|
|
err := json.Unmarshal(b, &tn)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
switch tn.TypeName {
|
|
case "Article":
|
|
*v = new(InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle)
|
|
return json.Unmarshal(b, *v)
|
|
case "Topic":
|
|
*v = new(InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic)
|
|
return json.Unmarshal(b, *v)
|
|
case "Video":
|
|
*v = new(InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo)
|
|
return json.Unmarshal(b, *v)
|
|
case "":
|
|
return fmt.Errorf(
|
|
"response was missing Content.__typename")
|
|
default:
|
|
return fmt.Errorf(
|
|
`unexpected concrete type for InterfaceNoFragmentsQueryRandomItemWithTypeNameContent: "%v"`, tn.TypeName)
|
|
}
|
|
}
|
|
|
|
func __marshalInterfaceNoFragmentsQueryRandomItemWithTypeNameContent(v *InterfaceNoFragmentsQueryRandomItemWithTypeNameContent) ([]byte, error) {
|
|
|
|
var typename string
|
|
switch v := (*v).(type) {
|
|
case *InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle:
|
|
typename = "Article"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryRandomItemWithTypeNameArticle
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case *InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic:
|
|
typename = "Topic"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case *InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo:
|
|
typename = "Video"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case nil:
|
|
return []byte("null"), nil
|
|
default:
|
|
return nil, fmt.Errorf(
|
|
`unexpected concrete type for InterfaceNoFragmentsQueryRandomItemWithTypeNameContent: "%T"`, v)
|
|
}
|
|
}
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic includes the requested fields of the GraphQL type Topic.
|
|
type InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic) GetTypename() string {
|
|
return v.Typename
|
|
}
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameTopic) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo includes the requested fields of the GraphQL type Video.
|
|
type InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo) GetTypename() string {
|
|
return v.Typename
|
|
}
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRandomItemWithTypeNameVideo) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryResponse is returned by InterfaceNoFragmentsQuery on success.
|
|
type InterfaceNoFragmentsQueryResponse struct {
|
|
Root InterfaceNoFragmentsQueryRootTopic `json:"root"`
|
|
RandomItem InterfaceNoFragmentsQueryRandomItemContent `json:"-"`
|
|
RandomItemWithTypeName InterfaceNoFragmentsQueryRandomItemWithTypeNameContent `json:"-"`
|
|
WithPointer *InterfaceNoFragmentsQueryWithPointerContent `json:"-"`
|
|
}
|
|
|
|
// GetRoot returns InterfaceNoFragmentsQueryResponse.Root, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryResponse) GetRoot() InterfaceNoFragmentsQueryRootTopic {
|
|
return v.Root
|
|
}
|
|
|
|
// GetRandomItem returns InterfaceNoFragmentsQueryResponse.RandomItem, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryResponse) GetRandomItem() InterfaceNoFragmentsQueryRandomItemContent {
|
|
return v.RandomItem
|
|
}
|
|
|
|
// GetRandomItemWithTypeName returns InterfaceNoFragmentsQueryResponse.RandomItemWithTypeName, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryResponse) GetRandomItemWithTypeName() InterfaceNoFragmentsQueryRandomItemWithTypeNameContent {
|
|
return v.RandomItemWithTypeName
|
|
}
|
|
|
|
// GetWithPointer returns InterfaceNoFragmentsQueryResponse.WithPointer, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryResponse) GetWithPointer() *InterfaceNoFragmentsQueryWithPointerContent {
|
|
return v.WithPointer
|
|
}
|
|
|
|
func (v *InterfaceNoFragmentsQueryResponse) UnmarshalJSON(b []byte) error {
|
|
|
|
if string(b) == "null" {
|
|
return nil
|
|
}
|
|
|
|
var firstPass struct {
|
|
*InterfaceNoFragmentsQueryResponse
|
|
RandomItem json.RawMessage `json:"randomItem"`
|
|
RandomItemWithTypeName json.RawMessage `json:"randomItemWithTypeName"`
|
|
WithPointer json.RawMessage `json:"withPointer"`
|
|
graphql.NoUnmarshalJSON
|
|
}
|
|
firstPass.InterfaceNoFragmentsQueryResponse = v
|
|
|
|
err := json.Unmarshal(b, &firstPass)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
{
|
|
dst := &v.RandomItem
|
|
src := firstPass.RandomItem
|
|
if len(src) != 0 && string(src) != "null" {
|
|
err = __unmarshalInterfaceNoFragmentsQueryRandomItemContent(
|
|
src, dst)
|
|
if err != nil {
|
|
return fmt.Errorf(
|
|
"unable to unmarshal InterfaceNoFragmentsQueryResponse.RandomItem: %w", err)
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
dst := &v.RandomItemWithTypeName
|
|
src := firstPass.RandomItemWithTypeName
|
|
if len(src) != 0 && string(src) != "null" {
|
|
err = __unmarshalInterfaceNoFragmentsQueryRandomItemWithTypeNameContent(
|
|
src, dst)
|
|
if err != nil {
|
|
return fmt.Errorf(
|
|
"unable to unmarshal InterfaceNoFragmentsQueryResponse.RandomItemWithTypeName: %w", err)
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
dst := &v.WithPointer
|
|
src := firstPass.WithPointer
|
|
if len(src) != 0 && string(src) != "null" {
|
|
*dst = new(InterfaceNoFragmentsQueryWithPointerContent)
|
|
err = __unmarshalInterfaceNoFragmentsQueryWithPointerContent(
|
|
src, *dst)
|
|
if err != nil {
|
|
return fmt.Errorf(
|
|
"unable to unmarshal InterfaceNoFragmentsQueryResponse.WithPointer: %w", err)
|
|
}
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type __premarshalInterfaceNoFragmentsQueryResponse struct {
|
|
Root InterfaceNoFragmentsQueryRootTopic `json:"root"`
|
|
|
|
RandomItem json.RawMessage `json:"randomItem"`
|
|
|
|
RandomItemWithTypeName json.RawMessage `json:"randomItemWithTypeName"`
|
|
|
|
WithPointer json.RawMessage `json:"withPointer"`
|
|
}
|
|
|
|
func (v *InterfaceNoFragmentsQueryResponse) MarshalJSON() ([]byte, error) {
|
|
premarshaled, err := v.__premarshalJSON()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return json.Marshal(premarshaled)
|
|
}
|
|
|
|
func (v *InterfaceNoFragmentsQueryResponse) __premarshalJSON() (*__premarshalInterfaceNoFragmentsQueryResponse, error) {
|
|
var retval __premarshalInterfaceNoFragmentsQueryResponse
|
|
|
|
retval.Root = v.Root
|
|
{
|
|
|
|
dst := &retval.RandomItem
|
|
src := v.RandomItem
|
|
var err error
|
|
*dst, err = __marshalInterfaceNoFragmentsQueryRandomItemContent(
|
|
&src)
|
|
if err != nil {
|
|
return nil, fmt.Errorf(
|
|
"unable to marshal InterfaceNoFragmentsQueryResponse.RandomItem: %w", err)
|
|
}
|
|
}
|
|
{
|
|
|
|
dst := &retval.RandomItemWithTypeName
|
|
src := v.RandomItemWithTypeName
|
|
var err error
|
|
*dst, err = __marshalInterfaceNoFragmentsQueryRandomItemWithTypeNameContent(
|
|
&src)
|
|
if err != nil {
|
|
return nil, fmt.Errorf(
|
|
"unable to marshal InterfaceNoFragmentsQueryResponse.RandomItemWithTypeName: %w", err)
|
|
}
|
|
}
|
|
{
|
|
|
|
dst := &retval.WithPointer
|
|
src := v.WithPointer
|
|
if src != nil {
|
|
var err error
|
|
*dst, err = __marshalInterfaceNoFragmentsQueryWithPointerContent(
|
|
src)
|
|
if err != nil {
|
|
return nil, fmt.Errorf(
|
|
"unable to marshal InterfaceNoFragmentsQueryResponse.WithPointer: %w", err)
|
|
}
|
|
}
|
|
}
|
|
return &retval, nil
|
|
}
|
|
|
|
// InterfaceNoFragmentsQueryRootTopic includes the requested fields of the GraphQL type Topic.
|
|
type InterfaceNoFragmentsQueryRootTopic struct {
|
|
// ID is documented in the Content interface.
|
|
Id testutil.ID `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryRootTopic.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRootTopic) GetId() testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryRootTopic.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryRootTopic) GetName() string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryWithPointerArticle includes the requested fields of the GraphQL type Article.
|
|
type InterfaceNoFragmentsQueryWithPointerArticle struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id *testutil.ID `json:"id"`
|
|
Name *string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryWithPointerArticle.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerArticle) GetTypename() string { return v.Typename }
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryWithPointerArticle.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerArticle) GetId() *testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryWithPointerArticle.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerArticle) GetName() *string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryWithPointerContent includes the requested fields of the GraphQL interface Content.
|
|
//
|
|
// InterfaceNoFragmentsQueryWithPointerContent is implemented by the following types:
|
|
// InterfaceNoFragmentsQueryWithPointerArticle
|
|
// InterfaceNoFragmentsQueryWithPointerTopic
|
|
// InterfaceNoFragmentsQueryWithPointerVideo
|
|
// The GraphQL type's documentation follows.
|
|
//
|
|
// Content is implemented by various types like Article, Video, and Topic.
|
|
type InterfaceNoFragmentsQueryWithPointerContent interface {
|
|
implementsGraphQLInterfaceInterfaceNoFragmentsQueryWithPointerContent()
|
|
// GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values).
|
|
GetTypename() string
|
|
// GetId returns the interface-field "id" from its implementation.
|
|
// The GraphQL interface field's documentation follows.
|
|
//
|
|
// ID is the identifier of the content.
|
|
GetId() *testutil.ID
|
|
// GetName returns the interface-field "name" from its implementation.
|
|
GetName() *string
|
|
}
|
|
|
|
func (v *InterfaceNoFragmentsQueryWithPointerArticle) implementsGraphQLInterfaceInterfaceNoFragmentsQueryWithPointerContent() {
|
|
}
|
|
func (v *InterfaceNoFragmentsQueryWithPointerTopic) implementsGraphQLInterfaceInterfaceNoFragmentsQueryWithPointerContent() {
|
|
}
|
|
func (v *InterfaceNoFragmentsQueryWithPointerVideo) implementsGraphQLInterfaceInterfaceNoFragmentsQueryWithPointerContent() {
|
|
}
|
|
|
|
func __unmarshalInterfaceNoFragmentsQueryWithPointerContent(b []byte, v *InterfaceNoFragmentsQueryWithPointerContent) error {
|
|
if string(b) == "null" {
|
|
return nil
|
|
}
|
|
|
|
var tn struct {
|
|
TypeName string `json:"__typename"`
|
|
}
|
|
err := json.Unmarshal(b, &tn)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
switch tn.TypeName {
|
|
case "Article":
|
|
*v = new(InterfaceNoFragmentsQueryWithPointerArticle)
|
|
return json.Unmarshal(b, *v)
|
|
case "Topic":
|
|
*v = new(InterfaceNoFragmentsQueryWithPointerTopic)
|
|
return json.Unmarshal(b, *v)
|
|
case "Video":
|
|
*v = new(InterfaceNoFragmentsQueryWithPointerVideo)
|
|
return json.Unmarshal(b, *v)
|
|
case "":
|
|
return fmt.Errorf(
|
|
"response was missing Content.__typename")
|
|
default:
|
|
return fmt.Errorf(
|
|
`unexpected concrete type for InterfaceNoFragmentsQueryWithPointerContent: "%v"`, tn.TypeName)
|
|
}
|
|
}
|
|
|
|
func __marshalInterfaceNoFragmentsQueryWithPointerContent(v *InterfaceNoFragmentsQueryWithPointerContent) ([]byte, error) {
|
|
|
|
var typename string
|
|
switch v := (*v).(type) {
|
|
case *InterfaceNoFragmentsQueryWithPointerArticle:
|
|
typename = "Article"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryWithPointerArticle
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case *InterfaceNoFragmentsQueryWithPointerTopic:
|
|
typename = "Topic"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryWithPointerTopic
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case *InterfaceNoFragmentsQueryWithPointerVideo:
|
|
typename = "Video"
|
|
|
|
result := struct {
|
|
TypeName string `json:"__typename"`
|
|
*InterfaceNoFragmentsQueryWithPointerVideo
|
|
}{typename, v}
|
|
return json.Marshal(result)
|
|
case nil:
|
|
return []byte("null"), nil
|
|
default:
|
|
return nil, fmt.Errorf(
|
|
`unexpected concrete type for InterfaceNoFragmentsQueryWithPointerContent: "%T"`, v)
|
|
}
|
|
}
|
|
|
|
// InterfaceNoFragmentsQueryWithPointerTopic includes the requested fields of the GraphQL type Topic.
|
|
type InterfaceNoFragmentsQueryWithPointerTopic struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id *testutil.ID `json:"id"`
|
|
Name *string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryWithPointerTopic.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerTopic) GetTypename() string { return v.Typename }
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryWithPointerTopic.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerTopic) GetId() *testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryWithPointerTopic.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerTopic) GetName() *string { return v.Name }
|
|
|
|
// InterfaceNoFragmentsQueryWithPointerVideo includes the requested fields of the GraphQL type Video.
|
|
type InterfaceNoFragmentsQueryWithPointerVideo struct {
|
|
Typename string `json:"__typename"`
|
|
// ID is the identifier of the content.
|
|
Id *testutil.ID `json:"id"`
|
|
Name *string `json:"name"`
|
|
}
|
|
|
|
// GetTypename returns InterfaceNoFragmentsQueryWithPointerVideo.Typename, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerVideo) GetTypename() string { return v.Typename }
|
|
|
|
// GetId returns InterfaceNoFragmentsQueryWithPointerVideo.Id, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerVideo) GetId() *testutil.ID { return v.Id }
|
|
|
|
// GetName returns InterfaceNoFragmentsQueryWithPointerVideo.Name, and is useful for accessing the field via an interface.
|
|
func (v *InterfaceNoFragmentsQueryWithPointerVideo) GetName() *string { return v.Name }
|
|
|
|
// The query or mutation executed by InterfaceNoFragmentsQuery.
|
|
const InterfaceNoFragmentsQuery_Operation = `
|
|
query InterfaceNoFragmentsQuery {
|
|
root {
|
|
id
|
|
name
|
|
}
|
|
randomItem {
|
|
__typename
|
|
id
|
|
name
|
|
}
|
|
randomItemWithTypeName: randomItem {
|
|
__typename
|
|
id
|
|
name
|
|
}
|
|
withPointer: randomItem {
|
|
__typename
|
|
id
|
|
name
|
|
}
|
|
}
|
|
`
|
|
|
|
func InterfaceNoFragmentsQuery(
|
|
client graphql.Client,
|
|
) (*InterfaceNoFragmentsQueryResponse, error) {
|
|
req := &graphql.Request{
|
|
OpName: "InterfaceNoFragmentsQuery",
|
|
Query: InterfaceNoFragmentsQuery_Operation,
|
|
}
|
|
var err error
|
|
|
|
var data InterfaceNoFragmentsQueryResponse
|
|
resp := &graphql.Response{Data: &data}
|
|
|
|
err = client.MakeRequest(
|
|
nil,
|
|
req,
|
|
resp,
|
|
)
|
|
|
|
return &data, err
|
|
}
|
|
|