github.com/99designs/gqlgen@v0.17.45/plugin/federation/testdata/entityinterfaces/generated/exec.go (about)

     1  // Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
     2  
     3  package generated
     4  
     5  import (
     6  	"bytes"
     7  	"context"
     8  	"errors"
     9  	"fmt"
    10  	"strconv"
    11  	"sync"
    12  	"sync/atomic"
    13  
    14  	"github.com/99designs/gqlgen/graphql"
    15  	"github.com/99designs/gqlgen/graphql/introspection"
    16  	"github.com/99designs/gqlgen/plugin/federation/fedruntime"
    17  	gqlparser "github.com/vektah/gqlparser/v2"
    18  	"github.com/vektah/gqlparser/v2/ast"
    19  )
    20  
    21  // region    ************************** generated!.gotpl **************************
    22  
    23  // NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
    24  func NewExecutableSchema(cfg Config) graphql.ExecutableSchema {
    25  	return &executableSchema{
    26  		schema:     cfg.Schema,
    27  		resolvers:  cfg.Resolvers,
    28  		directives: cfg.Directives,
    29  		complexity: cfg.Complexity,
    30  	}
    31  }
    32  
    33  type Config struct {
    34  	Schema     *ast.Schema
    35  	Resolvers  ResolverRoot
    36  	Directives DirectiveRoot
    37  	Complexity ComplexityRoot
    38  }
    39  
    40  type ResolverRoot interface {
    41  	Entity() EntityResolver
    42  }
    43  
    44  type DirectiveRoot struct {
    45  }
    46  
    47  type ComplexityRoot struct {
    48  	Entity struct {
    49  		FindHelloByID func(childComplexity int, id string) int
    50  		FindWorldByID func(childComplexity int, id string) int
    51  	}
    52  
    53  	Query struct {
    54  		__resolve__service func(childComplexity int) int
    55  		__resolve_entities func(childComplexity int, representations []map[string]interface{}) int
    56  	}
    57  
    58  	World struct {
    59  		ID    func(childComplexity int) int
    60  		Title func(childComplexity int) int
    61  	}
    62  
    63  	_Service struct {
    64  		SDL func(childComplexity int) int
    65  	}
    66  }
    67  
    68  type EntityResolver interface {
    69  	FindHelloByID(ctx context.Context, id string) (Hello, error)
    70  	FindWorldByID(ctx context.Context, id string) (*World, error)
    71  }
    72  
    73  type executableSchema struct {
    74  	schema     *ast.Schema
    75  	resolvers  ResolverRoot
    76  	directives DirectiveRoot
    77  	complexity ComplexityRoot
    78  }
    79  
    80  func (e *executableSchema) Schema() *ast.Schema {
    81  	if e.schema != nil {
    82  		return e.schema
    83  	}
    84  	return parsedSchema
    85  }
    86  
    87  func (e *executableSchema) Complexity(typeName, field string, childComplexity int, rawArgs map[string]interface{}) (int, bool) {
    88  	ec := executionContext{nil, e, 0, 0, nil}
    89  	_ = ec
    90  	switch typeName + "." + field {
    91  
    92  	case "Entity.findHelloByID":
    93  		if e.complexity.Entity.FindHelloByID == nil {
    94  			break
    95  		}
    96  
    97  		args, err := ec.field_Entity_findHelloByID_args(context.TODO(), rawArgs)
    98  		if err != nil {
    99  			return 0, false
   100  		}
   101  
   102  		return e.complexity.Entity.FindHelloByID(childComplexity, args["id"].(string)), true
   103  
   104  	case "Entity.findWorldByID":
   105  		if e.complexity.Entity.FindWorldByID == nil {
   106  			break
   107  		}
   108  
   109  		args, err := ec.field_Entity_findWorldByID_args(context.TODO(), rawArgs)
   110  		if err != nil {
   111  			return 0, false
   112  		}
   113  
   114  		return e.complexity.Entity.FindWorldByID(childComplexity, args["id"].(string)), true
   115  
   116  	case "Query._service":
   117  		if e.complexity.Query.__resolve__service == nil {
   118  			break
   119  		}
   120  
   121  		return e.complexity.Query.__resolve__service(childComplexity), true
   122  
   123  	case "Query._entities":
   124  		if e.complexity.Query.__resolve_entities == nil {
   125  			break
   126  		}
   127  
   128  		args, err := ec.field_Query__entities_args(context.TODO(), rawArgs)
   129  		if err != nil {
   130  			return 0, false
   131  		}
   132  
   133  		return e.complexity.Query.__resolve_entities(childComplexity, args["representations"].([]map[string]interface{})), true
   134  
   135  	case "World.id":
   136  		if e.complexity.World.ID == nil {
   137  			break
   138  		}
   139  
   140  		return e.complexity.World.ID(childComplexity), true
   141  
   142  	case "World.title":
   143  		if e.complexity.World.Title == nil {
   144  			break
   145  		}
   146  
   147  		return e.complexity.World.Title(childComplexity), true
   148  
   149  	case "_Service.sdl":
   150  		if e.complexity._Service.SDL == nil {
   151  			break
   152  		}
   153  
   154  		return e.complexity._Service.SDL(childComplexity), true
   155  
   156  	}
   157  	return 0, false
   158  }
   159  
   160  func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler {
   161  	rc := graphql.GetOperationContext(ctx)
   162  	ec := executionContext{rc, e, 0, 0, make(chan graphql.DeferredResult)}
   163  	inputUnmarshalMap := graphql.BuildUnmarshalerMap()
   164  	first := true
   165  
   166  	switch rc.Operation.Operation {
   167  	case ast.Query:
   168  		return func(ctx context.Context) *graphql.Response {
   169  			var response graphql.Response
   170  			var data graphql.Marshaler
   171  			if first {
   172  				first = false
   173  				ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap)
   174  				data = ec._Query(ctx, rc.Operation.SelectionSet)
   175  			} else {
   176  				if atomic.LoadInt32(&ec.pendingDeferred) > 0 {
   177  					result := <-ec.deferredResults
   178  					atomic.AddInt32(&ec.pendingDeferred, -1)
   179  					data = result.Result
   180  					response.Path = result.Path
   181  					response.Label = result.Label
   182  					response.Errors = result.Errors
   183  				} else {
   184  					return nil
   185  				}
   186  			}
   187  			var buf bytes.Buffer
   188  			data.MarshalGQL(&buf)
   189  			response.Data = buf.Bytes()
   190  			if atomic.LoadInt32(&ec.deferred) > 0 {
   191  				hasNext := atomic.LoadInt32(&ec.pendingDeferred) > 0
   192  				response.HasNext = &hasNext
   193  			}
   194  
   195  			return &response
   196  		}
   197  
   198  	default:
   199  		return graphql.OneShot(graphql.ErrorResponse(ctx, "unsupported GraphQL operation"))
   200  	}
   201  }
   202  
   203  type executionContext struct {
   204  	*graphql.OperationContext
   205  	*executableSchema
   206  	deferred        int32
   207  	pendingDeferred int32
   208  	deferredResults chan graphql.DeferredResult
   209  }
   210  
   211  func (ec *executionContext) processDeferredGroup(dg graphql.DeferredGroup) {
   212  	atomic.AddInt32(&ec.pendingDeferred, 1)
   213  	go func() {
   214  		ctx := graphql.WithFreshResponseContext(dg.Context)
   215  		dg.FieldSet.Dispatch(ctx)
   216  		ds := graphql.DeferredResult{
   217  			Path:   dg.Path,
   218  			Label:  dg.Label,
   219  			Result: dg.FieldSet,
   220  			Errors: graphql.GetErrors(ctx),
   221  		}
   222  		// null fields should bubble up
   223  		if dg.FieldSet.Invalids > 0 {
   224  			ds.Result = graphql.Null
   225  		}
   226  		ec.deferredResults <- ds
   227  	}()
   228  }
   229  
   230  func (ec *executionContext) introspectSchema() (*introspection.Schema, error) {
   231  	if ec.DisableIntrospection {
   232  		return nil, errors.New("introspection disabled")
   233  	}
   234  	return introspection.WrapSchema(ec.Schema()), nil
   235  }
   236  
   237  func (ec *executionContext) introspectType(name string) (*introspection.Type, error) {
   238  	if ec.DisableIntrospection {
   239  		return nil, errors.New("introspection disabled")
   240  	}
   241  	return introspection.WrapTypeFromDef(ec.Schema(), ec.Schema().Types[name]), nil
   242  }
   243  
   244  var sources = []*ast.Source{
   245  	{Name: "../interface.graphql", Input: `extend schema
   246    @link(url: "https://specs.apollo.dev/federation/v2.3",
   247          import: ["@key"])
   248  
   249  interface Hello @key(fields: "id"){
   250    id: String!
   251    title: String!
   252  }
   253  
   254  type World implements Hello @key(fields: "id") {
   255    id: String!
   256    title: String!
   257  }`, BuiltIn: false},
   258  	{Name: "../../../federation/directives.graphql", Input: `
   259  	directive @authenticated on FIELD_DEFINITION | OBJECT | INTERFACE | SCALAR | ENUM
   260  	directive @composeDirective(name: String!) repeatable on SCHEMA
   261  	directive @extends on OBJECT | INTERFACE
   262  	directive @external on OBJECT | FIELD_DEFINITION
   263  	directive @key(fields: FieldSet!, resolvable: Boolean = true) repeatable on OBJECT | INTERFACE
   264  	directive @inaccessible on
   265  	  | ARGUMENT_DEFINITION
   266  	  | ENUM
   267  	  | ENUM_VALUE
   268  	  | FIELD_DEFINITION
   269  	  | INPUT_FIELD_DEFINITION
   270  	  | INPUT_OBJECT
   271  	  | INTERFACE
   272  	  | OBJECT
   273  	  | SCALAR
   274  	  | UNION
   275  	directive @interfaceObject on OBJECT
   276  	directive @link(import: [String!], url: String!) repeatable on SCHEMA
   277  	directive @override(from: String!) on FIELD_DEFINITION
   278  	directive @provides(fields: FieldSet!) on FIELD_DEFINITION
   279  	directive @requires(fields: FieldSet!) on FIELD_DEFINITION
   280  	directive @requiresScopes(scopes: [[federation__Scope!]!]!) on 
   281  	  | FIELD_DEFINITION
   282  	  | OBJECT
   283  	  | INTERFACE
   284  	  | SCALAR
   285  	  | ENUM
   286  	directive @shareable repeatable on FIELD_DEFINITION | OBJECT
   287  	directive @tag(name: String!) repeatable on
   288  	  | ARGUMENT_DEFINITION
   289  	  | ENUM
   290  	  | ENUM_VALUE
   291  	  | FIELD_DEFINITION
   292  	  | INPUT_FIELD_DEFINITION
   293  	  | INPUT_OBJECT
   294  	  | INTERFACE
   295  	  | OBJECT
   296  	  | SCALAR
   297  	  | UNION
   298  	scalar _Any
   299  	scalar FieldSet
   300  	scalar federation__Scope
   301  `, BuiltIn: true},
   302  	{Name: "../../../federation/entity.graphql", Input: `
   303  # a union of all types that use the @key directive
   304  union _Entity = World
   305  
   306  # fake type to build resolver interfaces for users to implement
   307  type Entity {
   308  		findHelloByID(id: String!,): Hello!
   309  	findWorldByID(id: String!,): World!
   310  
   311  }
   312  
   313  type _Service {
   314    sdl: String
   315  }
   316  
   317  extend type Query {
   318    _entities(representations: [_Any!]!): [_Entity]!
   319    _service: _Service!
   320  }
   321  `, BuiltIn: true},
   322  }
   323  var parsedSchema = gqlparser.MustLoadSchema(sources...)
   324  
   325  // endregion ************************** generated!.gotpl **************************
   326  
   327  // region    ***************************** args.gotpl *****************************
   328  
   329  func (ec *executionContext) field_Entity_findHelloByID_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) {
   330  	var err error
   331  	args := map[string]interface{}{}
   332  	var arg0 string
   333  	if tmp, ok := rawArgs["id"]; ok {
   334  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id"))
   335  		arg0, err = ec.unmarshalNString2string(ctx, tmp)
   336  		if err != nil {
   337  			return nil, err
   338  		}
   339  	}
   340  	args["id"] = arg0
   341  	return args, nil
   342  }
   343  
   344  func (ec *executionContext) field_Entity_findWorldByID_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) {
   345  	var err error
   346  	args := map[string]interface{}{}
   347  	var arg0 string
   348  	if tmp, ok := rawArgs["id"]; ok {
   349  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id"))
   350  		arg0, err = ec.unmarshalNString2string(ctx, tmp)
   351  		if err != nil {
   352  			return nil, err
   353  		}
   354  	}
   355  	args["id"] = arg0
   356  	return args, nil
   357  }
   358  
   359  func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) {
   360  	var err error
   361  	args := map[string]interface{}{}
   362  	var arg0 string
   363  	if tmp, ok := rawArgs["name"]; ok {
   364  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name"))
   365  		arg0, err = ec.unmarshalNString2string(ctx, tmp)
   366  		if err != nil {
   367  			return nil, err
   368  		}
   369  	}
   370  	args["name"] = arg0
   371  	return args, nil
   372  }
   373  
   374  func (ec *executionContext) field_Query__entities_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) {
   375  	var err error
   376  	args := map[string]interface{}{}
   377  	var arg0 []map[string]interface{}
   378  	if tmp, ok := rawArgs["representations"]; ok {
   379  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("representations"))
   380  		arg0, err = ec.unmarshalN_Any2ᚕmapᚄ(ctx, tmp)
   381  		if err != nil {
   382  			return nil, err
   383  		}
   384  	}
   385  	args["representations"] = arg0
   386  	return args, nil
   387  }
   388  
   389  func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) {
   390  	var err error
   391  	args := map[string]interface{}{}
   392  	var arg0 bool
   393  	if tmp, ok := rawArgs["includeDeprecated"]; ok {
   394  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated"))
   395  		arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp)
   396  		if err != nil {
   397  			return nil, err
   398  		}
   399  	}
   400  	args["includeDeprecated"] = arg0
   401  	return args, nil
   402  }
   403  
   404  func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) {
   405  	var err error
   406  	args := map[string]interface{}{}
   407  	var arg0 bool
   408  	if tmp, ok := rawArgs["includeDeprecated"]; ok {
   409  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated"))
   410  		arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp)
   411  		if err != nil {
   412  			return nil, err
   413  		}
   414  	}
   415  	args["includeDeprecated"] = arg0
   416  	return args, nil
   417  }
   418  
   419  // endregion ***************************** args.gotpl *****************************
   420  
   421  // region    ************************** directives.gotpl **************************
   422  
   423  // endregion ************************** directives.gotpl **************************
   424  
   425  // region    **************************** field.gotpl *****************************
   426  
   427  func (ec *executionContext) _Entity_findHelloByID(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
   428  	fc, err := ec.fieldContext_Entity_findHelloByID(ctx, field)
   429  	if err != nil {
   430  		return graphql.Null
   431  	}
   432  	ctx = graphql.WithFieldContext(ctx, fc)
   433  	defer func() {
   434  		if r := recover(); r != nil {
   435  			ec.Error(ctx, ec.Recover(ctx, r))
   436  			ret = graphql.Null
   437  		}
   438  	}()
   439  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   440  		ctx = rctx // use context from middleware stack in children
   441  		return ec.resolvers.Entity().FindHelloByID(rctx, fc.Args["id"].(string))
   442  	})
   443  	if err != nil {
   444  		ec.Error(ctx, err)
   445  		return graphql.Null
   446  	}
   447  	if resTmp == nil {
   448  		if !graphql.HasFieldError(ctx, fc) {
   449  			ec.Errorf(ctx, "must not be null")
   450  		}
   451  		return graphql.Null
   452  	}
   453  	res := resTmp.(Hello)
   454  	fc.Result = res
   455  	return ec.marshalNHello2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋtestdataᚋentityinterfacesᚋgeneratedᚐHello(ctx, field.Selections, res)
   456  }
   457  
   458  func (ec *executionContext) fieldContext_Entity_findHelloByID(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   459  	fc = &graphql.FieldContext{
   460  		Object:     "Entity",
   461  		Field:      field,
   462  		IsMethod:   true,
   463  		IsResolver: true,
   464  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   465  			return nil, errors.New("FieldContext.Child cannot be called on type INTERFACE")
   466  		},
   467  	}
   468  	defer func() {
   469  		if r := recover(); r != nil {
   470  			err = ec.Recover(ctx, r)
   471  			ec.Error(ctx, err)
   472  		}
   473  	}()
   474  	ctx = graphql.WithFieldContext(ctx, fc)
   475  	if fc.Args, err = ec.field_Entity_findHelloByID_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
   476  		ec.Error(ctx, err)
   477  		return fc, err
   478  	}
   479  	return fc, nil
   480  }
   481  
   482  func (ec *executionContext) _Entity_findWorldByID(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
   483  	fc, err := ec.fieldContext_Entity_findWorldByID(ctx, field)
   484  	if err != nil {
   485  		return graphql.Null
   486  	}
   487  	ctx = graphql.WithFieldContext(ctx, fc)
   488  	defer func() {
   489  		if r := recover(); r != nil {
   490  			ec.Error(ctx, ec.Recover(ctx, r))
   491  			ret = graphql.Null
   492  		}
   493  	}()
   494  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   495  		ctx = rctx // use context from middleware stack in children
   496  		return ec.resolvers.Entity().FindWorldByID(rctx, fc.Args["id"].(string))
   497  	})
   498  	if err != nil {
   499  		ec.Error(ctx, err)
   500  		return graphql.Null
   501  	}
   502  	if resTmp == nil {
   503  		if !graphql.HasFieldError(ctx, fc) {
   504  			ec.Errorf(ctx, "must not be null")
   505  		}
   506  		return graphql.Null
   507  	}
   508  	res := resTmp.(*World)
   509  	fc.Result = res
   510  	return ec.marshalNWorld2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋtestdataᚋentityinterfacesᚋgeneratedᚐWorld(ctx, field.Selections, res)
   511  }
   512  
   513  func (ec *executionContext) fieldContext_Entity_findWorldByID(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   514  	fc = &graphql.FieldContext{
   515  		Object:     "Entity",
   516  		Field:      field,
   517  		IsMethod:   true,
   518  		IsResolver: true,
   519  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   520  			switch field.Name {
   521  			case "id":
   522  				return ec.fieldContext_World_id(ctx, field)
   523  			case "title":
   524  				return ec.fieldContext_World_title(ctx, field)
   525  			}
   526  			return nil, fmt.Errorf("no field named %q was found under type World", field.Name)
   527  		},
   528  	}
   529  	defer func() {
   530  		if r := recover(); r != nil {
   531  			err = ec.Recover(ctx, r)
   532  			ec.Error(ctx, err)
   533  		}
   534  	}()
   535  	ctx = graphql.WithFieldContext(ctx, fc)
   536  	if fc.Args, err = ec.field_Entity_findWorldByID_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
   537  		ec.Error(ctx, err)
   538  		return fc, err
   539  	}
   540  	return fc, nil
   541  }
   542  
   543  func (ec *executionContext) _Query__entities(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
   544  	fc, err := ec.fieldContext_Query__entities(ctx, field)
   545  	if err != nil {
   546  		return graphql.Null
   547  	}
   548  	ctx = graphql.WithFieldContext(ctx, fc)
   549  	defer func() {
   550  		if r := recover(); r != nil {
   551  			ec.Error(ctx, ec.Recover(ctx, r))
   552  			ret = graphql.Null
   553  		}
   554  	}()
   555  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   556  		ctx = rctx // use context from middleware stack in children
   557  		return ec.__resolve_entities(ctx, fc.Args["representations"].([]map[string]interface{})), nil
   558  	})
   559  	if err != nil {
   560  		ec.Error(ctx, err)
   561  		return graphql.Null
   562  	}
   563  	if resTmp == nil {
   564  		if !graphql.HasFieldError(ctx, fc) {
   565  			ec.Errorf(ctx, "must not be null")
   566  		}
   567  		return graphql.Null
   568  	}
   569  	res := resTmp.([]fedruntime.Entity)
   570  	fc.Result = res
   571  	return ec.marshalN_Entity2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋfedruntimeᚐEntity(ctx, field.Selections, res)
   572  }
   573  
   574  func (ec *executionContext) fieldContext_Query__entities(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   575  	fc = &graphql.FieldContext{
   576  		Object:     "Query",
   577  		Field:      field,
   578  		IsMethod:   true,
   579  		IsResolver: false,
   580  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   581  			return nil, errors.New("field of type _Entity does not have child fields")
   582  		},
   583  	}
   584  	defer func() {
   585  		if r := recover(); r != nil {
   586  			err = ec.Recover(ctx, r)
   587  			ec.Error(ctx, err)
   588  		}
   589  	}()
   590  	ctx = graphql.WithFieldContext(ctx, fc)
   591  	if fc.Args, err = ec.field_Query__entities_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
   592  		ec.Error(ctx, err)
   593  		return fc, err
   594  	}
   595  	return fc, nil
   596  }
   597  
   598  func (ec *executionContext) _Query__service(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
   599  	fc, err := ec.fieldContext_Query__service(ctx, field)
   600  	if err != nil {
   601  		return graphql.Null
   602  	}
   603  	ctx = graphql.WithFieldContext(ctx, fc)
   604  	defer func() {
   605  		if r := recover(); r != nil {
   606  			ec.Error(ctx, ec.Recover(ctx, r))
   607  			ret = graphql.Null
   608  		}
   609  	}()
   610  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   611  		ctx = rctx // use context from middleware stack in children
   612  		return ec.__resolve__service(ctx)
   613  	})
   614  	if err != nil {
   615  		ec.Error(ctx, err)
   616  		return graphql.Null
   617  	}
   618  	if resTmp == nil {
   619  		if !graphql.HasFieldError(ctx, fc) {
   620  			ec.Errorf(ctx, "must not be null")
   621  		}
   622  		return graphql.Null
   623  	}
   624  	res := resTmp.(fedruntime.Service)
   625  	fc.Result = res
   626  	return ec.marshalN_Service2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋfedruntimeᚐService(ctx, field.Selections, res)
   627  }
   628  
   629  func (ec *executionContext) fieldContext_Query__service(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   630  	fc = &graphql.FieldContext{
   631  		Object:     "Query",
   632  		Field:      field,
   633  		IsMethod:   true,
   634  		IsResolver: false,
   635  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   636  			switch field.Name {
   637  			case "sdl":
   638  				return ec.fieldContext__Service_sdl(ctx, field)
   639  			}
   640  			return nil, fmt.Errorf("no field named %q was found under type _Service", field.Name)
   641  		},
   642  	}
   643  	return fc, nil
   644  }
   645  
   646  func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
   647  	fc, err := ec.fieldContext_Query___type(ctx, field)
   648  	if err != nil {
   649  		return graphql.Null
   650  	}
   651  	ctx = graphql.WithFieldContext(ctx, fc)
   652  	defer func() {
   653  		if r := recover(); r != nil {
   654  			ec.Error(ctx, ec.Recover(ctx, r))
   655  			ret = graphql.Null
   656  		}
   657  	}()
   658  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   659  		ctx = rctx // use context from middleware stack in children
   660  		return ec.introspectType(fc.Args["name"].(string))
   661  	})
   662  	if err != nil {
   663  		ec.Error(ctx, err)
   664  		return graphql.Null
   665  	}
   666  	if resTmp == nil {
   667  		return graphql.Null
   668  	}
   669  	res := resTmp.(*introspection.Type)
   670  	fc.Result = res
   671  	return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
   672  }
   673  
   674  func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   675  	fc = &graphql.FieldContext{
   676  		Object:     "Query",
   677  		Field:      field,
   678  		IsMethod:   true,
   679  		IsResolver: false,
   680  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   681  			switch field.Name {
   682  			case "kind":
   683  				return ec.fieldContext___Type_kind(ctx, field)
   684  			case "name":
   685  				return ec.fieldContext___Type_name(ctx, field)
   686  			case "description":
   687  				return ec.fieldContext___Type_description(ctx, field)
   688  			case "fields":
   689  				return ec.fieldContext___Type_fields(ctx, field)
   690  			case "interfaces":
   691  				return ec.fieldContext___Type_interfaces(ctx, field)
   692  			case "possibleTypes":
   693  				return ec.fieldContext___Type_possibleTypes(ctx, field)
   694  			case "enumValues":
   695  				return ec.fieldContext___Type_enumValues(ctx, field)
   696  			case "inputFields":
   697  				return ec.fieldContext___Type_inputFields(ctx, field)
   698  			case "ofType":
   699  				return ec.fieldContext___Type_ofType(ctx, field)
   700  			case "specifiedByURL":
   701  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
   702  			}
   703  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
   704  		},
   705  	}
   706  	defer func() {
   707  		if r := recover(); r != nil {
   708  			err = ec.Recover(ctx, r)
   709  			ec.Error(ctx, err)
   710  		}
   711  	}()
   712  	ctx = graphql.WithFieldContext(ctx, fc)
   713  	if fc.Args, err = ec.field_Query___type_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
   714  		ec.Error(ctx, err)
   715  		return fc, err
   716  	}
   717  	return fc, nil
   718  }
   719  
   720  func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
   721  	fc, err := ec.fieldContext_Query___schema(ctx, field)
   722  	if err != nil {
   723  		return graphql.Null
   724  	}
   725  	ctx = graphql.WithFieldContext(ctx, fc)
   726  	defer func() {
   727  		if r := recover(); r != nil {
   728  			ec.Error(ctx, ec.Recover(ctx, r))
   729  			ret = graphql.Null
   730  		}
   731  	}()
   732  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   733  		ctx = rctx // use context from middleware stack in children
   734  		return ec.introspectSchema()
   735  	})
   736  	if err != nil {
   737  		ec.Error(ctx, err)
   738  		return graphql.Null
   739  	}
   740  	if resTmp == nil {
   741  		return graphql.Null
   742  	}
   743  	res := resTmp.(*introspection.Schema)
   744  	fc.Result = res
   745  	return ec.marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx, field.Selections, res)
   746  }
   747  
   748  func (ec *executionContext) fieldContext_Query___schema(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   749  	fc = &graphql.FieldContext{
   750  		Object:     "Query",
   751  		Field:      field,
   752  		IsMethod:   true,
   753  		IsResolver: false,
   754  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   755  			switch field.Name {
   756  			case "description":
   757  				return ec.fieldContext___Schema_description(ctx, field)
   758  			case "types":
   759  				return ec.fieldContext___Schema_types(ctx, field)
   760  			case "queryType":
   761  				return ec.fieldContext___Schema_queryType(ctx, field)
   762  			case "mutationType":
   763  				return ec.fieldContext___Schema_mutationType(ctx, field)
   764  			case "subscriptionType":
   765  				return ec.fieldContext___Schema_subscriptionType(ctx, field)
   766  			case "directives":
   767  				return ec.fieldContext___Schema_directives(ctx, field)
   768  			}
   769  			return nil, fmt.Errorf("no field named %q was found under type __Schema", field.Name)
   770  		},
   771  	}
   772  	return fc, nil
   773  }
   774  
   775  func (ec *executionContext) _World_id(ctx context.Context, field graphql.CollectedField, obj *World) (ret graphql.Marshaler) {
   776  	fc, err := ec.fieldContext_World_id(ctx, field)
   777  	if err != nil {
   778  		return graphql.Null
   779  	}
   780  	ctx = graphql.WithFieldContext(ctx, fc)
   781  	defer func() {
   782  		if r := recover(); r != nil {
   783  			ec.Error(ctx, ec.Recover(ctx, r))
   784  			ret = graphql.Null
   785  		}
   786  	}()
   787  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   788  		ctx = rctx // use context from middleware stack in children
   789  		return obj.ID, nil
   790  	})
   791  	if err != nil {
   792  		ec.Error(ctx, err)
   793  		return graphql.Null
   794  	}
   795  	if resTmp == nil {
   796  		if !graphql.HasFieldError(ctx, fc) {
   797  			ec.Errorf(ctx, "must not be null")
   798  		}
   799  		return graphql.Null
   800  	}
   801  	res := resTmp.(string)
   802  	fc.Result = res
   803  	return ec.marshalNString2string(ctx, field.Selections, res)
   804  }
   805  
   806  func (ec *executionContext) fieldContext_World_id(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   807  	fc = &graphql.FieldContext{
   808  		Object:     "World",
   809  		Field:      field,
   810  		IsMethod:   false,
   811  		IsResolver: false,
   812  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   813  			return nil, errors.New("field of type String does not have child fields")
   814  		},
   815  	}
   816  	return fc, nil
   817  }
   818  
   819  func (ec *executionContext) _World_title(ctx context.Context, field graphql.CollectedField, obj *World) (ret graphql.Marshaler) {
   820  	fc, err := ec.fieldContext_World_title(ctx, field)
   821  	if err != nil {
   822  		return graphql.Null
   823  	}
   824  	ctx = graphql.WithFieldContext(ctx, fc)
   825  	defer func() {
   826  		if r := recover(); r != nil {
   827  			ec.Error(ctx, ec.Recover(ctx, r))
   828  			ret = graphql.Null
   829  		}
   830  	}()
   831  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   832  		ctx = rctx // use context from middleware stack in children
   833  		return obj.Title, nil
   834  	})
   835  	if err != nil {
   836  		ec.Error(ctx, err)
   837  		return graphql.Null
   838  	}
   839  	if resTmp == nil {
   840  		if !graphql.HasFieldError(ctx, fc) {
   841  			ec.Errorf(ctx, "must not be null")
   842  		}
   843  		return graphql.Null
   844  	}
   845  	res := resTmp.(string)
   846  	fc.Result = res
   847  	return ec.marshalNString2string(ctx, field.Selections, res)
   848  }
   849  
   850  func (ec *executionContext) fieldContext_World_title(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   851  	fc = &graphql.FieldContext{
   852  		Object:     "World",
   853  		Field:      field,
   854  		IsMethod:   false,
   855  		IsResolver: false,
   856  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   857  			return nil, errors.New("field of type String does not have child fields")
   858  		},
   859  	}
   860  	return fc, nil
   861  }
   862  
   863  func (ec *executionContext) __Service_sdl(ctx context.Context, field graphql.CollectedField, obj *fedruntime.Service) (ret graphql.Marshaler) {
   864  	fc, err := ec.fieldContext__Service_sdl(ctx, field)
   865  	if err != nil {
   866  		return graphql.Null
   867  	}
   868  	ctx = graphql.WithFieldContext(ctx, fc)
   869  	defer func() {
   870  		if r := recover(); r != nil {
   871  			ec.Error(ctx, ec.Recover(ctx, r))
   872  			ret = graphql.Null
   873  		}
   874  	}()
   875  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   876  		ctx = rctx // use context from middleware stack in children
   877  		return obj.SDL, nil
   878  	})
   879  	if err != nil {
   880  		ec.Error(ctx, err)
   881  		return graphql.Null
   882  	}
   883  	if resTmp == nil {
   884  		return graphql.Null
   885  	}
   886  	res := resTmp.(string)
   887  	fc.Result = res
   888  	return ec.marshalOString2string(ctx, field.Selections, res)
   889  }
   890  
   891  func (ec *executionContext) fieldContext__Service_sdl(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   892  	fc = &graphql.FieldContext{
   893  		Object:     "_Service",
   894  		Field:      field,
   895  		IsMethod:   false,
   896  		IsResolver: false,
   897  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   898  			return nil, errors.New("field of type String does not have child fields")
   899  		},
   900  	}
   901  	return fc, nil
   902  }
   903  
   904  func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) {
   905  	fc, err := ec.fieldContext___Directive_name(ctx, field)
   906  	if err != nil {
   907  		return graphql.Null
   908  	}
   909  	ctx = graphql.WithFieldContext(ctx, fc)
   910  	defer func() {
   911  		if r := recover(); r != nil {
   912  			ec.Error(ctx, ec.Recover(ctx, r))
   913  			ret = graphql.Null
   914  		}
   915  	}()
   916  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   917  		ctx = rctx // use context from middleware stack in children
   918  		return obj.Name, nil
   919  	})
   920  	if err != nil {
   921  		ec.Error(ctx, err)
   922  		return graphql.Null
   923  	}
   924  	if resTmp == nil {
   925  		if !graphql.HasFieldError(ctx, fc) {
   926  			ec.Errorf(ctx, "must not be null")
   927  		}
   928  		return graphql.Null
   929  	}
   930  	res := resTmp.(string)
   931  	fc.Result = res
   932  	return ec.marshalNString2string(ctx, field.Selections, res)
   933  }
   934  
   935  func (ec *executionContext) fieldContext___Directive_name(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   936  	fc = &graphql.FieldContext{
   937  		Object:     "__Directive",
   938  		Field:      field,
   939  		IsMethod:   false,
   940  		IsResolver: false,
   941  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   942  			return nil, errors.New("field of type String does not have child fields")
   943  		},
   944  	}
   945  	return fc, nil
   946  }
   947  
   948  func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) {
   949  	fc, err := ec.fieldContext___Directive_description(ctx, field)
   950  	if err != nil {
   951  		return graphql.Null
   952  	}
   953  	ctx = graphql.WithFieldContext(ctx, fc)
   954  	defer func() {
   955  		if r := recover(); r != nil {
   956  			ec.Error(ctx, ec.Recover(ctx, r))
   957  			ret = graphql.Null
   958  		}
   959  	}()
   960  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
   961  		ctx = rctx // use context from middleware stack in children
   962  		return obj.Description(), nil
   963  	})
   964  	if err != nil {
   965  		ec.Error(ctx, err)
   966  		return graphql.Null
   967  	}
   968  	if resTmp == nil {
   969  		return graphql.Null
   970  	}
   971  	res := resTmp.(*string)
   972  	fc.Result = res
   973  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
   974  }
   975  
   976  func (ec *executionContext) fieldContext___Directive_description(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
   977  	fc = &graphql.FieldContext{
   978  		Object:     "__Directive",
   979  		Field:      field,
   980  		IsMethod:   true,
   981  		IsResolver: false,
   982  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
   983  			return nil, errors.New("field of type String does not have child fields")
   984  		},
   985  	}
   986  	return fc, nil
   987  }
   988  
   989  func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) {
   990  	fc, err := ec.fieldContext___Directive_locations(ctx, field)
   991  	if err != nil {
   992  		return graphql.Null
   993  	}
   994  	ctx = graphql.WithFieldContext(ctx, fc)
   995  	defer func() {
   996  		if r := recover(); r != nil {
   997  			ec.Error(ctx, ec.Recover(ctx, r))
   998  			ret = graphql.Null
   999  		}
  1000  	}()
  1001  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1002  		ctx = rctx // use context from middleware stack in children
  1003  		return obj.Locations, nil
  1004  	})
  1005  	if err != nil {
  1006  		ec.Error(ctx, err)
  1007  		return graphql.Null
  1008  	}
  1009  	if resTmp == nil {
  1010  		if !graphql.HasFieldError(ctx, fc) {
  1011  			ec.Errorf(ctx, "must not be null")
  1012  		}
  1013  		return graphql.Null
  1014  	}
  1015  	res := resTmp.([]string)
  1016  	fc.Result = res
  1017  	return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res)
  1018  }
  1019  
  1020  func (ec *executionContext) fieldContext___Directive_locations(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1021  	fc = &graphql.FieldContext{
  1022  		Object:     "__Directive",
  1023  		Field:      field,
  1024  		IsMethod:   false,
  1025  		IsResolver: false,
  1026  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1027  			return nil, errors.New("field of type __DirectiveLocation does not have child fields")
  1028  		},
  1029  	}
  1030  	return fc, nil
  1031  }
  1032  
  1033  func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) {
  1034  	fc, err := ec.fieldContext___Directive_args(ctx, field)
  1035  	if err != nil {
  1036  		return graphql.Null
  1037  	}
  1038  	ctx = graphql.WithFieldContext(ctx, fc)
  1039  	defer func() {
  1040  		if r := recover(); r != nil {
  1041  			ec.Error(ctx, ec.Recover(ctx, r))
  1042  			ret = graphql.Null
  1043  		}
  1044  	}()
  1045  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1046  		ctx = rctx // use context from middleware stack in children
  1047  		return obj.Args, nil
  1048  	})
  1049  	if err != nil {
  1050  		ec.Error(ctx, err)
  1051  		return graphql.Null
  1052  	}
  1053  	if resTmp == nil {
  1054  		if !graphql.HasFieldError(ctx, fc) {
  1055  			ec.Errorf(ctx, "must not be null")
  1056  		}
  1057  		return graphql.Null
  1058  	}
  1059  	res := resTmp.([]introspection.InputValue)
  1060  	fc.Result = res
  1061  	return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res)
  1062  }
  1063  
  1064  func (ec *executionContext) fieldContext___Directive_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1065  	fc = &graphql.FieldContext{
  1066  		Object:     "__Directive",
  1067  		Field:      field,
  1068  		IsMethod:   false,
  1069  		IsResolver: false,
  1070  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1071  			switch field.Name {
  1072  			case "name":
  1073  				return ec.fieldContext___InputValue_name(ctx, field)
  1074  			case "description":
  1075  				return ec.fieldContext___InputValue_description(ctx, field)
  1076  			case "type":
  1077  				return ec.fieldContext___InputValue_type(ctx, field)
  1078  			case "defaultValue":
  1079  				return ec.fieldContext___InputValue_defaultValue(ctx, field)
  1080  			}
  1081  			return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name)
  1082  		},
  1083  	}
  1084  	return fc, nil
  1085  }
  1086  
  1087  func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) {
  1088  	fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field)
  1089  	if err != nil {
  1090  		return graphql.Null
  1091  	}
  1092  	ctx = graphql.WithFieldContext(ctx, fc)
  1093  	defer func() {
  1094  		if r := recover(); r != nil {
  1095  			ec.Error(ctx, ec.Recover(ctx, r))
  1096  			ret = graphql.Null
  1097  		}
  1098  	}()
  1099  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1100  		ctx = rctx // use context from middleware stack in children
  1101  		return obj.IsRepeatable, nil
  1102  	})
  1103  	if err != nil {
  1104  		ec.Error(ctx, err)
  1105  		return graphql.Null
  1106  	}
  1107  	if resTmp == nil {
  1108  		if !graphql.HasFieldError(ctx, fc) {
  1109  			ec.Errorf(ctx, "must not be null")
  1110  		}
  1111  		return graphql.Null
  1112  	}
  1113  	res := resTmp.(bool)
  1114  	fc.Result = res
  1115  	return ec.marshalNBoolean2bool(ctx, field.Selections, res)
  1116  }
  1117  
  1118  func (ec *executionContext) fieldContext___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1119  	fc = &graphql.FieldContext{
  1120  		Object:     "__Directive",
  1121  		Field:      field,
  1122  		IsMethod:   false,
  1123  		IsResolver: false,
  1124  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1125  			return nil, errors.New("field of type Boolean does not have child fields")
  1126  		},
  1127  	}
  1128  	return fc, nil
  1129  }
  1130  
  1131  func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) {
  1132  	fc, err := ec.fieldContext___EnumValue_name(ctx, field)
  1133  	if err != nil {
  1134  		return graphql.Null
  1135  	}
  1136  	ctx = graphql.WithFieldContext(ctx, fc)
  1137  	defer func() {
  1138  		if r := recover(); r != nil {
  1139  			ec.Error(ctx, ec.Recover(ctx, r))
  1140  			ret = graphql.Null
  1141  		}
  1142  	}()
  1143  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1144  		ctx = rctx // use context from middleware stack in children
  1145  		return obj.Name, nil
  1146  	})
  1147  	if err != nil {
  1148  		ec.Error(ctx, err)
  1149  		return graphql.Null
  1150  	}
  1151  	if resTmp == nil {
  1152  		if !graphql.HasFieldError(ctx, fc) {
  1153  			ec.Errorf(ctx, "must not be null")
  1154  		}
  1155  		return graphql.Null
  1156  	}
  1157  	res := resTmp.(string)
  1158  	fc.Result = res
  1159  	return ec.marshalNString2string(ctx, field.Selections, res)
  1160  }
  1161  
  1162  func (ec *executionContext) fieldContext___EnumValue_name(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1163  	fc = &graphql.FieldContext{
  1164  		Object:     "__EnumValue",
  1165  		Field:      field,
  1166  		IsMethod:   false,
  1167  		IsResolver: false,
  1168  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1169  			return nil, errors.New("field of type String does not have child fields")
  1170  		},
  1171  	}
  1172  	return fc, nil
  1173  }
  1174  
  1175  func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) {
  1176  	fc, err := ec.fieldContext___EnumValue_description(ctx, field)
  1177  	if err != nil {
  1178  		return graphql.Null
  1179  	}
  1180  	ctx = graphql.WithFieldContext(ctx, fc)
  1181  	defer func() {
  1182  		if r := recover(); r != nil {
  1183  			ec.Error(ctx, ec.Recover(ctx, r))
  1184  			ret = graphql.Null
  1185  		}
  1186  	}()
  1187  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1188  		ctx = rctx // use context from middleware stack in children
  1189  		return obj.Description(), nil
  1190  	})
  1191  	if err != nil {
  1192  		ec.Error(ctx, err)
  1193  		return graphql.Null
  1194  	}
  1195  	if resTmp == nil {
  1196  		return graphql.Null
  1197  	}
  1198  	res := resTmp.(*string)
  1199  	fc.Result = res
  1200  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1201  }
  1202  
  1203  func (ec *executionContext) fieldContext___EnumValue_description(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1204  	fc = &graphql.FieldContext{
  1205  		Object:     "__EnumValue",
  1206  		Field:      field,
  1207  		IsMethod:   true,
  1208  		IsResolver: false,
  1209  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1210  			return nil, errors.New("field of type String does not have child fields")
  1211  		},
  1212  	}
  1213  	return fc, nil
  1214  }
  1215  
  1216  func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) {
  1217  	fc, err := ec.fieldContext___EnumValue_isDeprecated(ctx, field)
  1218  	if err != nil {
  1219  		return graphql.Null
  1220  	}
  1221  	ctx = graphql.WithFieldContext(ctx, fc)
  1222  	defer func() {
  1223  		if r := recover(); r != nil {
  1224  			ec.Error(ctx, ec.Recover(ctx, r))
  1225  			ret = graphql.Null
  1226  		}
  1227  	}()
  1228  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1229  		ctx = rctx // use context from middleware stack in children
  1230  		return obj.IsDeprecated(), nil
  1231  	})
  1232  	if err != nil {
  1233  		ec.Error(ctx, err)
  1234  		return graphql.Null
  1235  	}
  1236  	if resTmp == nil {
  1237  		if !graphql.HasFieldError(ctx, fc) {
  1238  			ec.Errorf(ctx, "must not be null")
  1239  		}
  1240  		return graphql.Null
  1241  	}
  1242  	res := resTmp.(bool)
  1243  	fc.Result = res
  1244  	return ec.marshalNBoolean2bool(ctx, field.Selections, res)
  1245  }
  1246  
  1247  func (ec *executionContext) fieldContext___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1248  	fc = &graphql.FieldContext{
  1249  		Object:     "__EnumValue",
  1250  		Field:      field,
  1251  		IsMethod:   true,
  1252  		IsResolver: false,
  1253  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1254  			return nil, errors.New("field of type Boolean does not have child fields")
  1255  		},
  1256  	}
  1257  	return fc, nil
  1258  }
  1259  
  1260  func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) {
  1261  	fc, err := ec.fieldContext___EnumValue_deprecationReason(ctx, field)
  1262  	if err != nil {
  1263  		return graphql.Null
  1264  	}
  1265  	ctx = graphql.WithFieldContext(ctx, fc)
  1266  	defer func() {
  1267  		if r := recover(); r != nil {
  1268  			ec.Error(ctx, ec.Recover(ctx, r))
  1269  			ret = graphql.Null
  1270  		}
  1271  	}()
  1272  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1273  		ctx = rctx // use context from middleware stack in children
  1274  		return obj.DeprecationReason(), nil
  1275  	})
  1276  	if err != nil {
  1277  		ec.Error(ctx, err)
  1278  		return graphql.Null
  1279  	}
  1280  	if resTmp == nil {
  1281  		return graphql.Null
  1282  	}
  1283  	res := resTmp.(*string)
  1284  	fc.Result = res
  1285  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1286  }
  1287  
  1288  func (ec *executionContext) fieldContext___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1289  	fc = &graphql.FieldContext{
  1290  		Object:     "__EnumValue",
  1291  		Field:      field,
  1292  		IsMethod:   true,
  1293  		IsResolver: false,
  1294  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1295  			return nil, errors.New("field of type String does not have child fields")
  1296  		},
  1297  	}
  1298  	return fc, nil
  1299  }
  1300  
  1301  func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) {
  1302  	fc, err := ec.fieldContext___Field_name(ctx, field)
  1303  	if err != nil {
  1304  		return graphql.Null
  1305  	}
  1306  	ctx = graphql.WithFieldContext(ctx, fc)
  1307  	defer func() {
  1308  		if r := recover(); r != nil {
  1309  			ec.Error(ctx, ec.Recover(ctx, r))
  1310  			ret = graphql.Null
  1311  		}
  1312  	}()
  1313  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1314  		ctx = rctx // use context from middleware stack in children
  1315  		return obj.Name, nil
  1316  	})
  1317  	if err != nil {
  1318  		ec.Error(ctx, err)
  1319  		return graphql.Null
  1320  	}
  1321  	if resTmp == nil {
  1322  		if !graphql.HasFieldError(ctx, fc) {
  1323  			ec.Errorf(ctx, "must not be null")
  1324  		}
  1325  		return graphql.Null
  1326  	}
  1327  	res := resTmp.(string)
  1328  	fc.Result = res
  1329  	return ec.marshalNString2string(ctx, field.Selections, res)
  1330  }
  1331  
  1332  func (ec *executionContext) fieldContext___Field_name(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1333  	fc = &graphql.FieldContext{
  1334  		Object:     "__Field",
  1335  		Field:      field,
  1336  		IsMethod:   false,
  1337  		IsResolver: false,
  1338  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1339  			return nil, errors.New("field of type String does not have child fields")
  1340  		},
  1341  	}
  1342  	return fc, nil
  1343  }
  1344  
  1345  func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) {
  1346  	fc, err := ec.fieldContext___Field_description(ctx, field)
  1347  	if err != nil {
  1348  		return graphql.Null
  1349  	}
  1350  	ctx = graphql.WithFieldContext(ctx, fc)
  1351  	defer func() {
  1352  		if r := recover(); r != nil {
  1353  			ec.Error(ctx, ec.Recover(ctx, r))
  1354  			ret = graphql.Null
  1355  		}
  1356  	}()
  1357  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1358  		ctx = rctx // use context from middleware stack in children
  1359  		return obj.Description(), nil
  1360  	})
  1361  	if err != nil {
  1362  		ec.Error(ctx, err)
  1363  		return graphql.Null
  1364  	}
  1365  	if resTmp == nil {
  1366  		return graphql.Null
  1367  	}
  1368  	res := resTmp.(*string)
  1369  	fc.Result = res
  1370  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1371  }
  1372  
  1373  func (ec *executionContext) fieldContext___Field_description(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1374  	fc = &graphql.FieldContext{
  1375  		Object:     "__Field",
  1376  		Field:      field,
  1377  		IsMethod:   true,
  1378  		IsResolver: false,
  1379  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1380  			return nil, errors.New("field of type String does not have child fields")
  1381  		},
  1382  	}
  1383  	return fc, nil
  1384  }
  1385  
  1386  func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) {
  1387  	fc, err := ec.fieldContext___Field_args(ctx, field)
  1388  	if err != nil {
  1389  		return graphql.Null
  1390  	}
  1391  	ctx = graphql.WithFieldContext(ctx, fc)
  1392  	defer func() {
  1393  		if r := recover(); r != nil {
  1394  			ec.Error(ctx, ec.Recover(ctx, r))
  1395  			ret = graphql.Null
  1396  		}
  1397  	}()
  1398  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1399  		ctx = rctx // use context from middleware stack in children
  1400  		return obj.Args, nil
  1401  	})
  1402  	if err != nil {
  1403  		ec.Error(ctx, err)
  1404  		return graphql.Null
  1405  	}
  1406  	if resTmp == nil {
  1407  		if !graphql.HasFieldError(ctx, fc) {
  1408  			ec.Errorf(ctx, "must not be null")
  1409  		}
  1410  		return graphql.Null
  1411  	}
  1412  	res := resTmp.([]introspection.InputValue)
  1413  	fc.Result = res
  1414  	return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res)
  1415  }
  1416  
  1417  func (ec *executionContext) fieldContext___Field_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1418  	fc = &graphql.FieldContext{
  1419  		Object:     "__Field",
  1420  		Field:      field,
  1421  		IsMethod:   false,
  1422  		IsResolver: false,
  1423  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1424  			switch field.Name {
  1425  			case "name":
  1426  				return ec.fieldContext___InputValue_name(ctx, field)
  1427  			case "description":
  1428  				return ec.fieldContext___InputValue_description(ctx, field)
  1429  			case "type":
  1430  				return ec.fieldContext___InputValue_type(ctx, field)
  1431  			case "defaultValue":
  1432  				return ec.fieldContext___InputValue_defaultValue(ctx, field)
  1433  			}
  1434  			return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name)
  1435  		},
  1436  	}
  1437  	return fc, nil
  1438  }
  1439  
  1440  func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) {
  1441  	fc, err := ec.fieldContext___Field_type(ctx, field)
  1442  	if err != nil {
  1443  		return graphql.Null
  1444  	}
  1445  	ctx = graphql.WithFieldContext(ctx, fc)
  1446  	defer func() {
  1447  		if r := recover(); r != nil {
  1448  			ec.Error(ctx, ec.Recover(ctx, r))
  1449  			ret = graphql.Null
  1450  		}
  1451  	}()
  1452  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1453  		ctx = rctx // use context from middleware stack in children
  1454  		return obj.Type, nil
  1455  	})
  1456  	if err != nil {
  1457  		ec.Error(ctx, err)
  1458  		return graphql.Null
  1459  	}
  1460  	if resTmp == nil {
  1461  		if !graphql.HasFieldError(ctx, fc) {
  1462  			ec.Errorf(ctx, "must not be null")
  1463  		}
  1464  		return graphql.Null
  1465  	}
  1466  	res := resTmp.(*introspection.Type)
  1467  	fc.Result = res
  1468  	return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
  1469  }
  1470  
  1471  func (ec *executionContext) fieldContext___Field_type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1472  	fc = &graphql.FieldContext{
  1473  		Object:     "__Field",
  1474  		Field:      field,
  1475  		IsMethod:   false,
  1476  		IsResolver: false,
  1477  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1478  			switch field.Name {
  1479  			case "kind":
  1480  				return ec.fieldContext___Type_kind(ctx, field)
  1481  			case "name":
  1482  				return ec.fieldContext___Type_name(ctx, field)
  1483  			case "description":
  1484  				return ec.fieldContext___Type_description(ctx, field)
  1485  			case "fields":
  1486  				return ec.fieldContext___Type_fields(ctx, field)
  1487  			case "interfaces":
  1488  				return ec.fieldContext___Type_interfaces(ctx, field)
  1489  			case "possibleTypes":
  1490  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  1491  			case "enumValues":
  1492  				return ec.fieldContext___Type_enumValues(ctx, field)
  1493  			case "inputFields":
  1494  				return ec.fieldContext___Type_inputFields(ctx, field)
  1495  			case "ofType":
  1496  				return ec.fieldContext___Type_ofType(ctx, field)
  1497  			case "specifiedByURL":
  1498  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  1499  			}
  1500  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  1501  		},
  1502  	}
  1503  	return fc, nil
  1504  }
  1505  
  1506  func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) {
  1507  	fc, err := ec.fieldContext___Field_isDeprecated(ctx, field)
  1508  	if err != nil {
  1509  		return graphql.Null
  1510  	}
  1511  	ctx = graphql.WithFieldContext(ctx, fc)
  1512  	defer func() {
  1513  		if r := recover(); r != nil {
  1514  			ec.Error(ctx, ec.Recover(ctx, r))
  1515  			ret = graphql.Null
  1516  		}
  1517  	}()
  1518  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1519  		ctx = rctx // use context from middleware stack in children
  1520  		return obj.IsDeprecated(), nil
  1521  	})
  1522  	if err != nil {
  1523  		ec.Error(ctx, err)
  1524  		return graphql.Null
  1525  	}
  1526  	if resTmp == nil {
  1527  		if !graphql.HasFieldError(ctx, fc) {
  1528  			ec.Errorf(ctx, "must not be null")
  1529  		}
  1530  		return graphql.Null
  1531  	}
  1532  	res := resTmp.(bool)
  1533  	fc.Result = res
  1534  	return ec.marshalNBoolean2bool(ctx, field.Selections, res)
  1535  }
  1536  
  1537  func (ec *executionContext) fieldContext___Field_isDeprecated(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1538  	fc = &graphql.FieldContext{
  1539  		Object:     "__Field",
  1540  		Field:      field,
  1541  		IsMethod:   true,
  1542  		IsResolver: false,
  1543  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1544  			return nil, errors.New("field of type Boolean does not have child fields")
  1545  		},
  1546  	}
  1547  	return fc, nil
  1548  }
  1549  
  1550  func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) {
  1551  	fc, err := ec.fieldContext___Field_deprecationReason(ctx, field)
  1552  	if err != nil {
  1553  		return graphql.Null
  1554  	}
  1555  	ctx = graphql.WithFieldContext(ctx, fc)
  1556  	defer func() {
  1557  		if r := recover(); r != nil {
  1558  			ec.Error(ctx, ec.Recover(ctx, r))
  1559  			ret = graphql.Null
  1560  		}
  1561  	}()
  1562  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1563  		ctx = rctx // use context from middleware stack in children
  1564  		return obj.DeprecationReason(), nil
  1565  	})
  1566  	if err != nil {
  1567  		ec.Error(ctx, err)
  1568  		return graphql.Null
  1569  	}
  1570  	if resTmp == nil {
  1571  		return graphql.Null
  1572  	}
  1573  	res := resTmp.(*string)
  1574  	fc.Result = res
  1575  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1576  }
  1577  
  1578  func (ec *executionContext) fieldContext___Field_deprecationReason(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1579  	fc = &graphql.FieldContext{
  1580  		Object:     "__Field",
  1581  		Field:      field,
  1582  		IsMethod:   true,
  1583  		IsResolver: false,
  1584  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1585  			return nil, errors.New("field of type String does not have child fields")
  1586  		},
  1587  	}
  1588  	return fc, nil
  1589  }
  1590  
  1591  func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) {
  1592  	fc, err := ec.fieldContext___InputValue_name(ctx, field)
  1593  	if err != nil {
  1594  		return graphql.Null
  1595  	}
  1596  	ctx = graphql.WithFieldContext(ctx, fc)
  1597  	defer func() {
  1598  		if r := recover(); r != nil {
  1599  			ec.Error(ctx, ec.Recover(ctx, r))
  1600  			ret = graphql.Null
  1601  		}
  1602  	}()
  1603  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1604  		ctx = rctx // use context from middleware stack in children
  1605  		return obj.Name, nil
  1606  	})
  1607  	if err != nil {
  1608  		ec.Error(ctx, err)
  1609  		return graphql.Null
  1610  	}
  1611  	if resTmp == nil {
  1612  		if !graphql.HasFieldError(ctx, fc) {
  1613  			ec.Errorf(ctx, "must not be null")
  1614  		}
  1615  		return graphql.Null
  1616  	}
  1617  	res := resTmp.(string)
  1618  	fc.Result = res
  1619  	return ec.marshalNString2string(ctx, field.Selections, res)
  1620  }
  1621  
  1622  func (ec *executionContext) fieldContext___InputValue_name(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1623  	fc = &graphql.FieldContext{
  1624  		Object:     "__InputValue",
  1625  		Field:      field,
  1626  		IsMethod:   false,
  1627  		IsResolver: false,
  1628  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1629  			return nil, errors.New("field of type String does not have child fields")
  1630  		},
  1631  	}
  1632  	return fc, nil
  1633  }
  1634  
  1635  func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) {
  1636  	fc, err := ec.fieldContext___InputValue_description(ctx, field)
  1637  	if err != nil {
  1638  		return graphql.Null
  1639  	}
  1640  	ctx = graphql.WithFieldContext(ctx, fc)
  1641  	defer func() {
  1642  		if r := recover(); r != nil {
  1643  			ec.Error(ctx, ec.Recover(ctx, r))
  1644  			ret = graphql.Null
  1645  		}
  1646  	}()
  1647  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1648  		ctx = rctx // use context from middleware stack in children
  1649  		return obj.Description(), nil
  1650  	})
  1651  	if err != nil {
  1652  		ec.Error(ctx, err)
  1653  		return graphql.Null
  1654  	}
  1655  	if resTmp == nil {
  1656  		return graphql.Null
  1657  	}
  1658  	res := resTmp.(*string)
  1659  	fc.Result = res
  1660  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1661  }
  1662  
  1663  func (ec *executionContext) fieldContext___InputValue_description(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1664  	fc = &graphql.FieldContext{
  1665  		Object:     "__InputValue",
  1666  		Field:      field,
  1667  		IsMethod:   true,
  1668  		IsResolver: false,
  1669  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1670  			return nil, errors.New("field of type String does not have child fields")
  1671  		},
  1672  	}
  1673  	return fc, nil
  1674  }
  1675  
  1676  func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) {
  1677  	fc, err := ec.fieldContext___InputValue_type(ctx, field)
  1678  	if err != nil {
  1679  		return graphql.Null
  1680  	}
  1681  	ctx = graphql.WithFieldContext(ctx, fc)
  1682  	defer func() {
  1683  		if r := recover(); r != nil {
  1684  			ec.Error(ctx, ec.Recover(ctx, r))
  1685  			ret = graphql.Null
  1686  		}
  1687  	}()
  1688  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1689  		ctx = rctx // use context from middleware stack in children
  1690  		return obj.Type, nil
  1691  	})
  1692  	if err != nil {
  1693  		ec.Error(ctx, err)
  1694  		return graphql.Null
  1695  	}
  1696  	if resTmp == nil {
  1697  		if !graphql.HasFieldError(ctx, fc) {
  1698  			ec.Errorf(ctx, "must not be null")
  1699  		}
  1700  		return graphql.Null
  1701  	}
  1702  	res := resTmp.(*introspection.Type)
  1703  	fc.Result = res
  1704  	return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
  1705  }
  1706  
  1707  func (ec *executionContext) fieldContext___InputValue_type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1708  	fc = &graphql.FieldContext{
  1709  		Object:     "__InputValue",
  1710  		Field:      field,
  1711  		IsMethod:   false,
  1712  		IsResolver: false,
  1713  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1714  			switch field.Name {
  1715  			case "kind":
  1716  				return ec.fieldContext___Type_kind(ctx, field)
  1717  			case "name":
  1718  				return ec.fieldContext___Type_name(ctx, field)
  1719  			case "description":
  1720  				return ec.fieldContext___Type_description(ctx, field)
  1721  			case "fields":
  1722  				return ec.fieldContext___Type_fields(ctx, field)
  1723  			case "interfaces":
  1724  				return ec.fieldContext___Type_interfaces(ctx, field)
  1725  			case "possibleTypes":
  1726  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  1727  			case "enumValues":
  1728  				return ec.fieldContext___Type_enumValues(ctx, field)
  1729  			case "inputFields":
  1730  				return ec.fieldContext___Type_inputFields(ctx, field)
  1731  			case "ofType":
  1732  				return ec.fieldContext___Type_ofType(ctx, field)
  1733  			case "specifiedByURL":
  1734  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  1735  			}
  1736  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  1737  		},
  1738  	}
  1739  	return fc, nil
  1740  }
  1741  
  1742  func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) {
  1743  	fc, err := ec.fieldContext___InputValue_defaultValue(ctx, field)
  1744  	if err != nil {
  1745  		return graphql.Null
  1746  	}
  1747  	ctx = graphql.WithFieldContext(ctx, fc)
  1748  	defer func() {
  1749  		if r := recover(); r != nil {
  1750  			ec.Error(ctx, ec.Recover(ctx, r))
  1751  			ret = graphql.Null
  1752  		}
  1753  	}()
  1754  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1755  		ctx = rctx // use context from middleware stack in children
  1756  		return obj.DefaultValue, nil
  1757  	})
  1758  	if err != nil {
  1759  		ec.Error(ctx, err)
  1760  		return graphql.Null
  1761  	}
  1762  	if resTmp == nil {
  1763  		return graphql.Null
  1764  	}
  1765  	res := resTmp.(*string)
  1766  	fc.Result = res
  1767  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1768  }
  1769  
  1770  func (ec *executionContext) fieldContext___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1771  	fc = &graphql.FieldContext{
  1772  		Object:     "__InputValue",
  1773  		Field:      field,
  1774  		IsMethod:   false,
  1775  		IsResolver: false,
  1776  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1777  			return nil, errors.New("field of type String does not have child fields")
  1778  		},
  1779  	}
  1780  	return fc, nil
  1781  }
  1782  
  1783  func (ec *executionContext) ___Schema_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) {
  1784  	fc, err := ec.fieldContext___Schema_description(ctx, field)
  1785  	if err != nil {
  1786  		return graphql.Null
  1787  	}
  1788  	ctx = graphql.WithFieldContext(ctx, fc)
  1789  	defer func() {
  1790  		if r := recover(); r != nil {
  1791  			ec.Error(ctx, ec.Recover(ctx, r))
  1792  			ret = graphql.Null
  1793  		}
  1794  	}()
  1795  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1796  		ctx = rctx // use context from middleware stack in children
  1797  		return obj.Description(), nil
  1798  	})
  1799  	if err != nil {
  1800  		ec.Error(ctx, err)
  1801  		return graphql.Null
  1802  	}
  1803  	if resTmp == nil {
  1804  		return graphql.Null
  1805  	}
  1806  	res := resTmp.(*string)
  1807  	fc.Result = res
  1808  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  1809  }
  1810  
  1811  func (ec *executionContext) fieldContext___Schema_description(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1812  	fc = &graphql.FieldContext{
  1813  		Object:     "__Schema",
  1814  		Field:      field,
  1815  		IsMethod:   true,
  1816  		IsResolver: false,
  1817  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1818  			return nil, errors.New("field of type String does not have child fields")
  1819  		},
  1820  	}
  1821  	return fc, nil
  1822  }
  1823  
  1824  func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) {
  1825  	fc, err := ec.fieldContext___Schema_types(ctx, field)
  1826  	if err != nil {
  1827  		return graphql.Null
  1828  	}
  1829  	ctx = graphql.WithFieldContext(ctx, fc)
  1830  	defer func() {
  1831  		if r := recover(); r != nil {
  1832  			ec.Error(ctx, ec.Recover(ctx, r))
  1833  			ret = graphql.Null
  1834  		}
  1835  	}()
  1836  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1837  		ctx = rctx // use context from middleware stack in children
  1838  		return obj.Types(), nil
  1839  	})
  1840  	if err != nil {
  1841  		ec.Error(ctx, err)
  1842  		return graphql.Null
  1843  	}
  1844  	if resTmp == nil {
  1845  		if !graphql.HasFieldError(ctx, fc) {
  1846  			ec.Errorf(ctx, "must not be null")
  1847  		}
  1848  		return graphql.Null
  1849  	}
  1850  	res := resTmp.([]introspection.Type)
  1851  	fc.Result = res
  1852  	return ec.marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res)
  1853  }
  1854  
  1855  func (ec *executionContext) fieldContext___Schema_types(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1856  	fc = &graphql.FieldContext{
  1857  		Object:     "__Schema",
  1858  		Field:      field,
  1859  		IsMethod:   true,
  1860  		IsResolver: false,
  1861  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1862  			switch field.Name {
  1863  			case "kind":
  1864  				return ec.fieldContext___Type_kind(ctx, field)
  1865  			case "name":
  1866  				return ec.fieldContext___Type_name(ctx, field)
  1867  			case "description":
  1868  				return ec.fieldContext___Type_description(ctx, field)
  1869  			case "fields":
  1870  				return ec.fieldContext___Type_fields(ctx, field)
  1871  			case "interfaces":
  1872  				return ec.fieldContext___Type_interfaces(ctx, field)
  1873  			case "possibleTypes":
  1874  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  1875  			case "enumValues":
  1876  				return ec.fieldContext___Type_enumValues(ctx, field)
  1877  			case "inputFields":
  1878  				return ec.fieldContext___Type_inputFields(ctx, field)
  1879  			case "ofType":
  1880  				return ec.fieldContext___Type_ofType(ctx, field)
  1881  			case "specifiedByURL":
  1882  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  1883  			}
  1884  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  1885  		},
  1886  	}
  1887  	return fc, nil
  1888  }
  1889  
  1890  func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) {
  1891  	fc, err := ec.fieldContext___Schema_queryType(ctx, field)
  1892  	if err != nil {
  1893  		return graphql.Null
  1894  	}
  1895  	ctx = graphql.WithFieldContext(ctx, fc)
  1896  	defer func() {
  1897  		if r := recover(); r != nil {
  1898  			ec.Error(ctx, ec.Recover(ctx, r))
  1899  			ret = graphql.Null
  1900  		}
  1901  	}()
  1902  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1903  		ctx = rctx // use context from middleware stack in children
  1904  		return obj.QueryType(), nil
  1905  	})
  1906  	if err != nil {
  1907  		ec.Error(ctx, err)
  1908  		return graphql.Null
  1909  	}
  1910  	if resTmp == nil {
  1911  		if !graphql.HasFieldError(ctx, fc) {
  1912  			ec.Errorf(ctx, "must not be null")
  1913  		}
  1914  		return graphql.Null
  1915  	}
  1916  	res := resTmp.(*introspection.Type)
  1917  	fc.Result = res
  1918  	return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
  1919  }
  1920  
  1921  func (ec *executionContext) fieldContext___Schema_queryType(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1922  	fc = &graphql.FieldContext{
  1923  		Object:     "__Schema",
  1924  		Field:      field,
  1925  		IsMethod:   true,
  1926  		IsResolver: false,
  1927  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1928  			switch field.Name {
  1929  			case "kind":
  1930  				return ec.fieldContext___Type_kind(ctx, field)
  1931  			case "name":
  1932  				return ec.fieldContext___Type_name(ctx, field)
  1933  			case "description":
  1934  				return ec.fieldContext___Type_description(ctx, field)
  1935  			case "fields":
  1936  				return ec.fieldContext___Type_fields(ctx, field)
  1937  			case "interfaces":
  1938  				return ec.fieldContext___Type_interfaces(ctx, field)
  1939  			case "possibleTypes":
  1940  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  1941  			case "enumValues":
  1942  				return ec.fieldContext___Type_enumValues(ctx, field)
  1943  			case "inputFields":
  1944  				return ec.fieldContext___Type_inputFields(ctx, field)
  1945  			case "ofType":
  1946  				return ec.fieldContext___Type_ofType(ctx, field)
  1947  			case "specifiedByURL":
  1948  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  1949  			}
  1950  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  1951  		},
  1952  	}
  1953  	return fc, nil
  1954  }
  1955  
  1956  func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) {
  1957  	fc, err := ec.fieldContext___Schema_mutationType(ctx, field)
  1958  	if err != nil {
  1959  		return graphql.Null
  1960  	}
  1961  	ctx = graphql.WithFieldContext(ctx, fc)
  1962  	defer func() {
  1963  		if r := recover(); r != nil {
  1964  			ec.Error(ctx, ec.Recover(ctx, r))
  1965  			ret = graphql.Null
  1966  		}
  1967  	}()
  1968  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  1969  		ctx = rctx // use context from middleware stack in children
  1970  		return obj.MutationType(), nil
  1971  	})
  1972  	if err != nil {
  1973  		ec.Error(ctx, err)
  1974  		return graphql.Null
  1975  	}
  1976  	if resTmp == nil {
  1977  		return graphql.Null
  1978  	}
  1979  	res := resTmp.(*introspection.Type)
  1980  	fc.Result = res
  1981  	return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
  1982  }
  1983  
  1984  func (ec *executionContext) fieldContext___Schema_mutationType(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  1985  	fc = &graphql.FieldContext{
  1986  		Object:     "__Schema",
  1987  		Field:      field,
  1988  		IsMethod:   true,
  1989  		IsResolver: false,
  1990  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  1991  			switch field.Name {
  1992  			case "kind":
  1993  				return ec.fieldContext___Type_kind(ctx, field)
  1994  			case "name":
  1995  				return ec.fieldContext___Type_name(ctx, field)
  1996  			case "description":
  1997  				return ec.fieldContext___Type_description(ctx, field)
  1998  			case "fields":
  1999  				return ec.fieldContext___Type_fields(ctx, field)
  2000  			case "interfaces":
  2001  				return ec.fieldContext___Type_interfaces(ctx, field)
  2002  			case "possibleTypes":
  2003  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  2004  			case "enumValues":
  2005  				return ec.fieldContext___Type_enumValues(ctx, field)
  2006  			case "inputFields":
  2007  				return ec.fieldContext___Type_inputFields(ctx, field)
  2008  			case "ofType":
  2009  				return ec.fieldContext___Type_ofType(ctx, field)
  2010  			case "specifiedByURL":
  2011  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  2012  			}
  2013  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  2014  		},
  2015  	}
  2016  	return fc, nil
  2017  }
  2018  
  2019  func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) {
  2020  	fc, err := ec.fieldContext___Schema_subscriptionType(ctx, field)
  2021  	if err != nil {
  2022  		return graphql.Null
  2023  	}
  2024  	ctx = graphql.WithFieldContext(ctx, fc)
  2025  	defer func() {
  2026  		if r := recover(); r != nil {
  2027  			ec.Error(ctx, ec.Recover(ctx, r))
  2028  			ret = graphql.Null
  2029  		}
  2030  	}()
  2031  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2032  		ctx = rctx // use context from middleware stack in children
  2033  		return obj.SubscriptionType(), nil
  2034  	})
  2035  	if err != nil {
  2036  		ec.Error(ctx, err)
  2037  		return graphql.Null
  2038  	}
  2039  	if resTmp == nil {
  2040  		return graphql.Null
  2041  	}
  2042  	res := resTmp.(*introspection.Type)
  2043  	fc.Result = res
  2044  	return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
  2045  }
  2046  
  2047  func (ec *executionContext) fieldContext___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2048  	fc = &graphql.FieldContext{
  2049  		Object:     "__Schema",
  2050  		Field:      field,
  2051  		IsMethod:   true,
  2052  		IsResolver: false,
  2053  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2054  			switch field.Name {
  2055  			case "kind":
  2056  				return ec.fieldContext___Type_kind(ctx, field)
  2057  			case "name":
  2058  				return ec.fieldContext___Type_name(ctx, field)
  2059  			case "description":
  2060  				return ec.fieldContext___Type_description(ctx, field)
  2061  			case "fields":
  2062  				return ec.fieldContext___Type_fields(ctx, field)
  2063  			case "interfaces":
  2064  				return ec.fieldContext___Type_interfaces(ctx, field)
  2065  			case "possibleTypes":
  2066  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  2067  			case "enumValues":
  2068  				return ec.fieldContext___Type_enumValues(ctx, field)
  2069  			case "inputFields":
  2070  				return ec.fieldContext___Type_inputFields(ctx, field)
  2071  			case "ofType":
  2072  				return ec.fieldContext___Type_ofType(ctx, field)
  2073  			case "specifiedByURL":
  2074  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  2075  			}
  2076  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  2077  		},
  2078  	}
  2079  	return fc, nil
  2080  }
  2081  
  2082  func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) {
  2083  	fc, err := ec.fieldContext___Schema_directives(ctx, field)
  2084  	if err != nil {
  2085  		return graphql.Null
  2086  	}
  2087  	ctx = graphql.WithFieldContext(ctx, fc)
  2088  	defer func() {
  2089  		if r := recover(); r != nil {
  2090  			ec.Error(ctx, ec.Recover(ctx, r))
  2091  			ret = graphql.Null
  2092  		}
  2093  	}()
  2094  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2095  		ctx = rctx // use context from middleware stack in children
  2096  		return obj.Directives(), nil
  2097  	})
  2098  	if err != nil {
  2099  		ec.Error(ctx, err)
  2100  		return graphql.Null
  2101  	}
  2102  	if resTmp == nil {
  2103  		if !graphql.HasFieldError(ctx, fc) {
  2104  			ec.Errorf(ctx, "must not be null")
  2105  		}
  2106  		return graphql.Null
  2107  	}
  2108  	res := resTmp.([]introspection.Directive)
  2109  	fc.Result = res
  2110  	return ec.marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx, field.Selections, res)
  2111  }
  2112  
  2113  func (ec *executionContext) fieldContext___Schema_directives(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2114  	fc = &graphql.FieldContext{
  2115  		Object:     "__Schema",
  2116  		Field:      field,
  2117  		IsMethod:   true,
  2118  		IsResolver: false,
  2119  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2120  			switch field.Name {
  2121  			case "name":
  2122  				return ec.fieldContext___Directive_name(ctx, field)
  2123  			case "description":
  2124  				return ec.fieldContext___Directive_description(ctx, field)
  2125  			case "locations":
  2126  				return ec.fieldContext___Directive_locations(ctx, field)
  2127  			case "args":
  2128  				return ec.fieldContext___Directive_args(ctx, field)
  2129  			case "isRepeatable":
  2130  				return ec.fieldContext___Directive_isRepeatable(ctx, field)
  2131  			}
  2132  			return nil, fmt.Errorf("no field named %q was found under type __Directive", field.Name)
  2133  		},
  2134  	}
  2135  	return fc, nil
  2136  }
  2137  
  2138  func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2139  	fc, err := ec.fieldContext___Type_kind(ctx, field)
  2140  	if err != nil {
  2141  		return graphql.Null
  2142  	}
  2143  	ctx = graphql.WithFieldContext(ctx, fc)
  2144  	defer func() {
  2145  		if r := recover(); r != nil {
  2146  			ec.Error(ctx, ec.Recover(ctx, r))
  2147  			ret = graphql.Null
  2148  		}
  2149  	}()
  2150  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2151  		ctx = rctx // use context from middleware stack in children
  2152  		return obj.Kind(), nil
  2153  	})
  2154  	if err != nil {
  2155  		ec.Error(ctx, err)
  2156  		return graphql.Null
  2157  	}
  2158  	if resTmp == nil {
  2159  		if !graphql.HasFieldError(ctx, fc) {
  2160  			ec.Errorf(ctx, "must not be null")
  2161  		}
  2162  		return graphql.Null
  2163  	}
  2164  	res := resTmp.(string)
  2165  	fc.Result = res
  2166  	return ec.marshalN__TypeKind2string(ctx, field.Selections, res)
  2167  }
  2168  
  2169  func (ec *executionContext) fieldContext___Type_kind(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2170  	fc = &graphql.FieldContext{
  2171  		Object:     "__Type",
  2172  		Field:      field,
  2173  		IsMethod:   true,
  2174  		IsResolver: false,
  2175  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2176  			return nil, errors.New("field of type __TypeKind does not have child fields")
  2177  		},
  2178  	}
  2179  	return fc, nil
  2180  }
  2181  
  2182  func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2183  	fc, err := ec.fieldContext___Type_name(ctx, field)
  2184  	if err != nil {
  2185  		return graphql.Null
  2186  	}
  2187  	ctx = graphql.WithFieldContext(ctx, fc)
  2188  	defer func() {
  2189  		if r := recover(); r != nil {
  2190  			ec.Error(ctx, ec.Recover(ctx, r))
  2191  			ret = graphql.Null
  2192  		}
  2193  	}()
  2194  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2195  		ctx = rctx // use context from middleware stack in children
  2196  		return obj.Name(), nil
  2197  	})
  2198  	if err != nil {
  2199  		ec.Error(ctx, err)
  2200  		return graphql.Null
  2201  	}
  2202  	if resTmp == nil {
  2203  		return graphql.Null
  2204  	}
  2205  	res := resTmp.(*string)
  2206  	fc.Result = res
  2207  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  2208  }
  2209  
  2210  func (ec *executionContext) fieldContext___Type_name(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2211  	fc = &graphql.FieldContext{
  2212  		Object:     "__Type",
  2213  		Field:      field,
  2214  		IsMethod:   true,
  2215  		IsResolver: false,
  2216  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2217  			return nil, errors.New("field of type String does not have child fields")
  2218  		},
  2219  	}
  2220  	return fc, nil
  2221  }
  2222  
  2223  func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2224  	fc, err := ec.fieldContext___Type_description(ctx, field)
  2225  	if err != nil {
  2226  		return graphql.Null
  2227  	}
  2228  	ctx = graphql.WithFieldContext(ctx, fc)
  2229  	defer func() {
  2230  		if r := recover(); r != nil {
  2231  			ec.Error(ctx, ec.Recover(ctx, r))
  2232  			ret = graphql.Null
  2233  		}
  2234  	}()
  2235  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2236  		ctx = rctx // use context from middleware stack in children
  2237  		return obj.Description(), nil
  2238  	})
  2239  	if err != nil {
  2240  		ec.Error(ctx, err)
  2241  		return graphql.Null
  2242  	}
  2243  	if resTmp == nil {
  2244  		return graphql.Null
  2245  	}
  2246  	res := resTmp.(*string)
  2247  	fc.Result = res
  2248  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  2249  }
  2250  
  2251  func (ec *executionContext) fieldContext___Type_description(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2252  	fc = &graphql.FieldContext{
  2253  		Object:     "__Type",
  2254  		Field:      field,
  2255  		IsMethod:   true,
  2256  		IsResolver: false,
  2257  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2258  			return nil, errors.New("field of type String does not have child fields")
  2259  		},
  2260  	}
  2261  	return fc, nil
  2262  }
  2263  
  2264  func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2265  	fc, err := ec.fieldContext___Type_fields(ctx, field)
  2266  	if err != nil {
  2267  		return graphql.Null
  2268  	}
  2269  	ctx = graphql.WithFieldContext(ctx, fc)
  2270  	defer func() {
  2271  		if r := recover(); r != nil {
  2272  			ec.Error(ctx, ec.Recover(ctx, r))
  2273  			ret = graphql.Null
  2274  		}
  2275  	}()
  2276  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2277  		ctx = rctx // use context from middleware stack in children
  2278  		return obj.Fields(fc.Args["includeDeprecated"].(bool)), nil
  2279  	})
  2280  	if err != nil {
  2281  		ec.Error(ctx, err)
  2282  		return graphql.Null
  2283  	}
  2284  	if resTmp == nil {
  2285  		return graphql.Null
  2286  	}
  2287  	res := resTmp.([]introspection.Field)
  2288  	fc.Result = res
  2289  	return ec.marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx, field.Selections, res)
  2290  }
  2291  
  2292  func (ec *executionContext) fieldContext___Type_fields(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2293  	fc = &graphql.FieldContext{
  2294  		Object:     "__Type",
  2295  		Field:      field,
  2296  		IsMethod:   true,
  2297  		IsResolver: false,
  2298  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2299  			switch field.Name {
  2300  			case "name":
  2301  				return ec.fieldContext___Field_name(ctx, field)
  2302  			case "description":
  2303  				return ec.fieldContext___Field_description(ctx, field)
  2304  			case "args":
  2305  				return ec.fieldContext___Field_args(ctx, field)
  2306  			case "type":
  2307  				return ec.fieldContext___Field_type(ctx, field)
  2308  			case "isDeprecated":
  2309  				return ec.fieldContext___Field_isDeprecated(ctx, field)
  2310  			case "deprecationReason":
  2311  				return ec.fieldContext___Field_deprecationReason(ctx, field)
  2312  			}
  2313  			return nil, fmt.Errorf("no field named %q was found under type __Field", field.Name)
  2314  		},
  2315  	}
  2316  	defer func() {
  2317  		if r := recover(); r != nil {
  2318  			err = ec.Recover(ctx, r)
  2319  			ec.Error(ctx, err)
  2320  		}
  2321  	}()
  2322  	ctx = graphql.WithFieldContext(ctx, fc)
  2323  	if fc.Args, err = ec.field___Type_fields_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
  2324  		ec.Error(ctx, err)
  2325  		return fc, err
  2326  	}
  2327  	return fc, nil
  2328  }
  2329  
  2330  func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2331  	fc, err := ec.fieldContext___Type_interfaces(ctx, field)
  2332  	if err != nil {
  2333  		return graphql.Null
  2334  	}
  2335  	ctx = graphql.WithFieldContext(ctx, fc)
  2336  	defer func() {
  2337  		if r := recover(); r != nil {
  2338  			ec.Error(ctx, ec.Recover(ctx, r))
  2339  			ret = graphql.Null
  2340  		}
  2341  	}()
  2342  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2343  		ctx = rctx // use context from middleware stack in children
  2344  		return obj.Interfaces(), nil
  2345  	})
  2346  	if err != nil {
  2347  		ec.Error(ctx, err)
  2348  		return graphql.Null
  2349  	}
  2350  	if resTmp == nil {
  2351  		return graphql.Null
  2352  	}
  2353  	res := resTmp.([]introspection.Type)
  2354  	fc.Result = res
  2355  	return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res)
  2356  }
  2357  
  2358  func (ec *executionContext) fieldContext___Type_interfaces(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2359  	fc = &graphql.FieldContext{
  2360  		Object:     "__Type",
  2361  		Field:      field,
  2362  		IsMethod:   true,
  2363  		IsResolver: false,
  2364  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2365  			switch field.Name {
  2366  			case "kind":
  2367  				return ec.fieldContext___Type_kind(ctx, field)
  2368  			case "name":
  2369  				return ec.fieldContext___Type_name(ctx, field)
  2370  			case "description":
  2371  				return ec.fieldContext___Type_description(ctx, field)
  2372  			case "fields":
  2373  				return ec.fieldContext___Type_fields(ctx, field)
  2374  			case "interfaces":
  2375  				return ec.fieldContext___Type_interfaces(ctx, field)
  2376  			case "possibleTypes":
  2377  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  2378  			case "enumValues":
  2379  				return ec.fieldContext___Type_enumValues(ctx, field)
  2380  			case "inputFields":
  2381  				return ec.fieldContext___Type_inputFields(ctx, field)
  2382  			case "ofType":
  2383  				return ec.fieldContext___Type_ofType(ctx, field)
  2384  			case "specifiedByURL":
  2385  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  2386  			}
  2387  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  2388  		},
  2389  	}
  2390  	return fc, nil
  2391  }
  2392  
  2393  func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2394  	fc, err := ec.fieldContext___Type_possibleTypes(ctx, field)
  2395  	if err != nil {
  2396  		return graphql.Null
  2397  	}
  2398  	ctx = graphql.WithFieldContext(ctx, fc)
  2399  	defer func() {
  2400  		if r := recover(); r != nil {
  2401  			ec.Error(ctx, ec.Recover(ctx, r))
  2402  			ret = graphql.Null
  2403  		}
  2404  	}()
  2405  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2406  		ctx = rctx // use context from middleware stack in children
  2407  		return obj.PossibleTypes(), nil
  2408  	})
  2409  	if err != nil {
  2410  		ec.Error(ctx, err)
  2411  		return graphql.Null
  2412  	}
  2413  	if resTmp == nil {
  2414  		return graphql.Null
  2415  	}
  2416  	res := resTmp.([]introspection.Type)
  2417  	fc.Result = res
  2418  	return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res)
  2419  }
  2420  
  2421  func (ec *executionContext) fieldContext___Type_possibleTypes(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2422  	fc = &graphql.FieldContext{
  2423  		Object:     "__Type",
  2424  		Field:      field,
  2425  		IsMethod:   true,
  2426  		IsResolver: false,
  2427  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2428  			switch field.Name {
  2429  			case "kind":
  2430  				return ec.fieldContext___Type_kind(ctx, field)
  2431  			case "name":
  2432  				return ec.fieldContext___Type_name(ctx, field)
  2433  			case "description":
  2434  				return ec.fieldContext___Type_description(ctx, field)
  2435  			case "fields":
  2436  				return ec.fieldContext___Type_fields(ctx, field)
  2437  			case "interfaces":
  2438  				return ec.fieldContext___Type_interfaces(ctx, field)
  2439  			case "possibleTypes":
  2440  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  2441  			case "enumValues":
  2442  				return ec.fieldContext___Type_enumValues(ctx, field)
  2443  			case "inputFields":
  2444  				return ec.fieldContext___Type_inputFields(ctx, field)
  2445  			case "ofType":
  2446  				return ec.fieldContext___Type_ofType(ctx, field)
  2447  			case "specifiedByURL":
  2448  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  2449  			}
  2450  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  2451  		},
  2452  	}
  2453  	return fc, nil
  2454  }
  2455  
  2456  func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2457  	fc, err := ec.fieldContext___Type_enumValues(ctx, field)
  2458  	if err != nil {
  2459  		return graphql.Null
  2460  	}
  2461  	ctx = graphql.WithFieldContext(ctx, fc)
  2462  	defer func() {
  2463  		if r := recover(); r != nil {
  2464  			ec.Error(ctx, ec.Recover(ctx, r))
  2465  			ret = graphql.Null
  2466  		}
  2467  	}()
  2468  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2469  		ctx = rctx // use context from middleware stack in children
  2470  		return obj.EnumValues(fc.Args["includeDeprecated"].(bool)), nil
  2471  	})
  2472  	if err != nil {
  2473  		ec.Error(ctx, err)
  2474  		return graphql.Null
  2475  	}
  2476  	if resTmp == nil {
  2477  		return graphql.Null
  2478  	}
  2479  	res := resTmp.([]introspection.EnumValue)
  2480  	fc.Result = res
  2481  	return ec.marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx, field.Selections, res)
  2482  }
  2483  
  2484  func (ec *executionContext) fieldContext___Type_enumValues(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2485  	fc = &graphql.FieldContext{
  2486  		Object:     "__Type",
  2487  		Field:      field,
  2488  		IsMethod:   true,
  2489  		IsResolver: false,
  2490  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2491  			switch field.Name {
  2492  			case "name":
  2493  				return ec.fieldContext___EnumValue_name(ctx, field)
  2494  			case "description":
  2495  				return ec.fieldContext___EnumValue_description(ctx, field)
  2496  			case "isDeprecated":
  2497  				return ec.fieldContext___EnumValue_isDeprecated(ctx, field)
  2498  			case "deprecationReason":
  2499  				return ec.fieldContext___EnumValue_deprecationReason(ctx, field)
  2500  			}
  2501  			return nil, fmt.Errorf("no field named %q was found under type __EnumValue", field.Name)
  2502  		},
  2503  	}
  2504  	defer func() {
  2505  		if r := recover(); r != nil {
  2506  			err = ec.Recover(ctx, r)
  2507  			ec.Error(ctx, err)
  2508  		}
  2509  	}()
  2510  	ctx = graphql.WithFieldContext(ctx, fc)
  2511  	if fc.Args, err = ec.field___Type_enumValues_args(ctx, field.ArgumentMap(ec.Variables)); err != nil {
  2512  		ec.Error(ctx, err)
  2513  		return fc, err
  2514  	}
  2515  	return fc, nil
  2516  }
  2517  
  2518  func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2519  	fc, err := ec.fieldContext___Type_inputFields(ctx, field)
  2520  	if err != nil {
  2521  		return graphql.Null
  2522  	}
  2523  	ctx = graphql.WithFieldContext(ctx, fc)
  2524  	defer func() {
  2525  		if r := recover(); r != nil {
  2526  			ec.Error(ctx, ec.Recover(ctx, r))
  2527  			ret = graphql.Null
  2528  		}
  2529  	}()
  2530  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2531  		ctx = rctx // use context from middleware stack in children
  2532  		return obj.InputFields(), nil
  2533  	})
  2534  	if err != nil {
  2535  		ec.Error(ctx, err)
  2536  		return graphql.Null
  2537  	}
  2538  	if resTmp == nil {
  2539  		return graphql.Null
  2540  	}
  2541  	res := resTmp.([]introspection.InputValue)
  2542  	fc.Result = res
  2543  	return ec.marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res)
  2544  }
  2545  
  2546  func (ec *executionContext) fieldContext___Type_inputFields(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2547  	fc = &graphql.FieldContext{
  2548  		Object:     "__Type",
  2549  		Field:      field,
  2550  		IsMethod:   true,
  2551  		IsResolver: false,
  2552  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2553  			switch field.Name {
  2554  			case "name":
  2555  				return ec.fieldContext___InputValue_name(ctx, field)
  2556  			case "description":
  2557  				return ec.fieldContext___InputValue_description(ctx, field)
  2558  			case "type":
  2559  				return ec.fieldContext___InputValue_type(ctx, field)
  2560  			case "defaultValue":
  2561  				return ec.fieldContext___InputValue_defaultValue(ctx, field)
  2562  			}
  2563  			return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name)
  2564  		},
  2565  	}
  2566  	return fc, nil
  2567  }
  2568  
  2569  func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2570  	fc, err := ec.fieldContext___Type_ofType(ctx, field)
  2571  	if err != nil {
  2572  		return graphql.Null
  2573  	}
  2574  	ctx = graphql.WithFieldContext(ctx, fc)
  2575  	defer func() {
  2576  		if r := recover(); r != nil {
  2577  			ec.Error(ctx, ec.Recover(ctx, r))
  2578  			ret = graphql.Null
  2579  		}
  2580  	}()
  2581  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2582  		ctx = rctx // use context from middleware stack in children
  2583  		return obj.OfType(), nil
  2584  	})
  2585  	if err != nil {
  2586  		ec.Error(ctx, err)
  2587  		return graphql.Null
  2588  	}
  2589  	if resTmp == nil {
  2590  		return graphql.Null
  2591  	}
  2592  	res := resTmp.(*introspection.Type)
  2593  	fc.Result = res
  2594  	return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res)
  2595  }
  2596  
  2597  func (ec *executionContext) fieldContext___Type_ofType(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2598  	fc = &graphql.FieldContext{
  2599  		Object:     "__Type",
  2600  		Field:      field,
  2601  		IsMethod:   true,
  2602  		IsResolver: false,
  2603  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2604  			switch field.Name {
  2605  			case "kind":
  2606  				return ec.fieldContext___Type_kind(ctx, field)
  2607  			case "name":
  2608  				return ec.fieldContext___Type_name(ctx, field)
  2609  			case "description":
  2610  				return ec.fieldContext___Type_description(ctx, field)
  2611  			case "fields":
  2612  				return ec.fieldContext___Type_fields(ctx, field)
  2613  			case "interfaces":
  2614  				return ec.fieldContext___Type_interfaces(ctx, field)
  2615  			case "possibleTypes":
  2616  				return ec.fieldContext___Type_possibleTypes(ctx, field)
  2617  			case "enumValues":
  2618  				return ec.fieldContext___Type_enumValues(ctx, field)
  2619  			case "inputFields":
  2620  				return ec.fieldContext___Type_inputFields(ctx, field)
  2621  			case "ofType":
  2622  				return ec.fieldContext___Type_ofType(ctx, field)
  2623  			case "specifiedByURL":
  2624  				return ec.fieldContext___Type_specifiedByURL(ctx, field)
  2625  			}
  2626  			return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name)
  2627  		},
  2628  	}
  2629  	return fc, nil
  2630  }
  2631  
  2632  func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) {
  2633  	fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field)
  2634  	if err != nil {
  2635  		return graphql.Null
  2636  	}
  2637  	ctx = graphql.WithFieldContext(ctx, fc)
  2638  	defer func() {
  2639  		if r := recover(); r != nil {
  2640  			ec.Error(ctx, ec.Recover(ctx, r))
  2641  			ret = graphql.Null
  2642  		}
  2643  	}()
  2644  	resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
  2645  		ctx = rctx // use context from middleware stack in children
  2646  		return obj.SpecifiedByURL(), nil
  2647  	})
  2648  	if err != nil {
  2649  		ec.Error(ctx, err)
  2650  		return graphql.Null
  2651  	}
  2652  	if resTmp == nil {
  2653  		return graphql.Null
  2654  	}
  2655  	res := resTmp.(*string)
  2656  	fc.Result = res
  2657  	return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
  2658  }
  2659  
  2660  func (ec *executionContext) fieldContext___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
  2661  	fc = &graphql.FieldContext{
  2662  		Object:     "__Type",
  2663  		Field:      field,
  2664  		IsMethod:   true,
  2665  		IsResolver: false,
  2666  		Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
  2667  			return nil, errors.New("field of type String does not have child fields")
  2668  		},
  2669  	}
  2670  	return fc, nil
  2671  }
  2672  
  2673  // endregion **************************** field.gotpl *****************************
  2674  
  2675  // region    **************************** input.gotpl *****************************
  2676  
  2677  // endregion **************************** input.gotpl *****************************
  2678  
  2679  // region    ************************** interface.gotpl ***************************
  2680  
  2681  func (ec *executionContext) _Hello(ctx context.Context, sel ast.SelectionSet, obj Hello) graphql.Marshaler {
  2682  	switch obj := (obj).(type) {
  2683  	case nil:
  2684  		return graphql.Null
  2685  	case World:
  2686  		return ec._World(ctx, sel, &obj)
  2687  	case *World:
  2688  		if obj == nil {
  2689  			return graphql.Null
  2690  		}
  2691  		return ec._World(ctx, sel, obj)
  2692  	default:
  2693  		panic(fmt.Errorf("unexpected type %T", obj))
  2694  	}
  2695  }
  2696  
  2697  func (ec *executionContext) __Entity(ctx context.Context, sel ast.SelectionSet, obj fedruntime.Entity) graphql.Marshaler {
  2698  	switch obj := (obj).(type) {
  2699  	case nil:
  2700  		return graphql.Null
  2701  	case World:
  2702  		return ec._World(ctx, sel, &obj)
  2703  	case *World:
  2704  		if obj == nil {
  2705  			return graphql.Null
  2706  		}
  2707  		return ec._World(ctx, sel, obj)
  2708  	default:
  2709  		panic(fmt.Errorf("unexpected type %T", obj))
  2710  	}
  2711  }
  2712  
  2713  // endregion ************************** interface.gotpl ***************************
  2714  
  2715  // region    **************************** object.gotpl ****************************
  2716  
  2717  var entityImplementors = []string{"Entity"}
  2718  
  2719  func (ec *executionContext) _Entity(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler {
  2720  	fields := graphql.CollectFields(ec.OperationContext, sel, entityImplementors)
  2721  	ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{
  2722  		Object: "Entity",
  2723  	})
  2724  
  2725  	out := graphql.NewFieldSet(fields)
  2726  	deferred := make(map[string]*graphql.FieldSet)
  2727  	for i, field := range fields {
  2728  		innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{
  2729  			Object: field.Name,
  2730  			Field:  field,
  2731  		})
  2732  
  2733  		switch field.Name {
  2734  		case "__typename":
  2735  			out.Values[i] = graphql.MarshalString("Entity")
  2736  		case "findHelloByID":
  2737  			field := field
  2738  
  2739  			innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) {
  2740  				defer func() {
  2741  					if r := recover(); r != nil {
  2742  						ec.Error(ctx, ec.Recover(ctx, r))
  2743  					}
  2744  				}()
  2745  				res = ec._Entity_findHelloByID(ctx, field)
  2746  				if res == graphql.Null {
  2747  					atomic.AddUint32(&fs.Invalids, 1)
  2748  				}
  2749  				return res
  2750  			}
  2751  
  2752  			rrm := func(ctx context.Context) graphql.Marshaler {
  2753  				return ec.OperationContext.RootResolverMiddleware(ctx,
  2754  					func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) })
  2755  			}
  2756  
  2757  			out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) })
  2758  		case "findWorldByID":
  2759  			field := field
  2760  
  2761  			innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) {
  2762  				defer func() {
  2763  					if r := recover(); r != nil {
  2764  						ec.Error(ctx, ec.Recover(ctx, r))
  2765  					}
  2766  				}()
  2767  				res = ec._Entity_findWorldByID(ctx, field)
  2768  				if res == graphql.Null {
  2769  					atomic.AddUint32(&fs.Invalids, 1)
  2770  				}
  2771  				return res
  2772  			}
  2773  
  2774  			rrm := func(ctx context.Context) graphql.Marshaler {
  2775  				return ec.OperationContext.RootResolverMiddleware(ctx,
  2776  					func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) })
  2777  			}
  2778  
  2779  			out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) })
  2780  		default:
  2781  			panic("unknown field " + strconv.Quote(field.Name))
  2782  		}
  2783  	}
  2784  	out.Dispatch(ctx)
  2785  	if out.Invalids > 0 {
  2786  		return graphql.Null
  2787  	}
  2788  
  2789  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  2790  
  2791  	for label, dfs := range deferred {
  2792  		ec.processDeferredGroup(graphql.DeferredGroup{
  2793  			Label:    label,
  2794  			Path:     graphql.GetPath(ctx),
  2795  			FieldSet: dfs,
  2796  			Context:  ctx,
  2797  		})
  2798  	}
  2799  
  2800  	return out
  2801  }
  2802  
  2803  var queryImplementors = []string{"Query"}
  2804  
  2805  func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler {
  2806  	fields := graphql.CollectFields(ec.OperationContext, sel, queryImplementors)
  2807  	ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{
  2808  		Object: "Query",
  2809  	})
  2810  
  2811  	out := graphql.NewFieldSet(fields)
  2812  	deferred := make(map[string]*graphql.FieldSet)
  2813  	for i, field := range fields {
  2814  		innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{
  2815  			Object: field.Name,
  2816  			Field:  field,
  2817  		})
  2818  
  2819  		switch field.Name {
  2820  		case "__typename":
  2821  			out.Values[i] = graphql.MarshalString("Query")
  2822  		case "_entities":
  2823  			field := field
  2824  
  2825  			innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) {
  2826  				defer func() {
  2827  					if r := recover(); r != nil {
  2828  						ec.Error(ctx, ec.Recover(ctx, r))
  2829  					}
  2830  				}()
  2831  				res = ec._Query__entities(ctx, field)
  2832  				if res == graphql.Null {
  2833  					atomic.AddUint32(&fs.Invalids, 1)
  2834  				}
  2835  				return res
  2836  			}
  2837  
  2838  			rrm := func(ctx context.Context) graphql.Marshaler {
  2839  				return ec.OperationContext.RootResolverMiddleware(ctx,
  2840  					func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) })
  2841  			}
  2842  
  2843  			out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) })
  2844  		case "_service":
  2845  			field := field
  2846  
  2847  			innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) {
  2848  				defer func() {
  2849  					if r := recover(); r != nil {
  2850  						ec.Error(ctx, ec.Recover(ctx, r))
  2851  					}
  2852  				}()
  2853  				res = ec._Query__service(ctx, field)
  2854  				if res == graphql.Null {
  2855  					atomic.AddUint32(&fs.Invalids, 1)
  2856  				}
  2857  				return res
  2858  			}
  2859  
  2860  			rrm := func(ctx context.Context) graphql.Marshaler {
  2861  				return ec.OperationContext.RootResolverMiddleware(ctx,
  2862  					func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) })
  2863  			}
  2864  
  2865  			out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) })
  2866  		case "__type":
  2867  			out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) {
  2868  				return ec._Query___type(ctx, field)
  2869  			})
  2870  		case "__schema":
  2871  			out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) {
  2872  				return ec._Query___schema(ctx, field)
  2873  			})
  2874  		default:
  2875  			panic("unknown field " + strconv.Quote(field.Name))
  2876  		}
  2877  	}
  2878  	out.Dispatch(ctx)
  2879  	if out.Invalids > 0 {
  2880  		return graphql.Null
  2881  	}
  2882  
  2883  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  2884  
  2885  	for label, dfs := range deferred {
  2886  		ec.processDeferredGroup(graphql.DeferredGroup{
  2887  			Label:    label,
  2888  			Path:     graphql.GetPath(ctx),
  2889  			FieldSet: dfs,
  2890  			Context:  ctx,
  2891  		})
  2892  	}
  2893  
  2894  	return out
  2895  }
  2896  
  2897  var worldImplementors = []string{"World", "Hello", "_Entity"}
  2898  
  2899  func (ec *executionContext) _World(ctx context.Context, sel ast.SelectionSet, obj *World) graphql.Marshaler {
  2900  	fields := graphql.CollectFields(ec.OperationContext, sel, worldImplementors)
  2901  
  2902  	out := graphql.NewFieldSet(fields)
  2903  	deferred := make(map[string]*graphql.FieldSet)
  2904  	for i, field := range fields {
  2905  		switch field.Name {
  2906  		case "__typename":
  2907  			out.Values[i] = graphql.MarshalString("World")
  2908  		case "id":
  2909  			out.Values[i] = ec._World_id(ctx, field, obj)
  2910  			if out.Values[i] == graphql.Null {
  2911  				out.Invalids++
  2912  			}
  2913  		case "title":
  2914  			out.Values[i] = ec._World_title(ctx, field, obj)
  2915  			if out.Values[i] == graphql.Null {
  2916  				out.Invalids++
  2917  			}
  2918  		default:
  2919  			panic("unknown field " + strconv.Quote(field.Name))
  2920  		}
  2921  	}
  2922  	out.Dispatch(ctx)
  2923  	if out.Invalids > 0 {
  2924  		return graphql.Null
  2925  	}
  2926  
  2927  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  2928  
  2929  	for label, dfs := range deferred {
  2930  		ec.processDeferredGroup(graphql.DeferredGroup{
  2931  			Label:    label,
  2932  			Path:     graphql.GetPath(ctx),
  2933  			FieldSet: dfs,
  2934  			Context:  ctx,
  2935  		})
  2936  	}
  2937  
  2938  	return out
  2939  }
  2940  
  2941  var _ServiceImplementors = []string{"_Service"}
  2942  
  2943  func (ec *executionContext) __Service(ctx context.Context, sel ast.SelectionSet, obj *fedruntime.Service) graphql.Marshaler {
  2944  	fields := graphql.CollectFields(ec.OperationContext, sel, _ServiceImplementors)
  2945  
  2946  	out := graphql.NewFieldSet(fields)
  2947  	deferred := make(map[string]*graphql.FieldSet)
  2948  	for i, field := range fields {
  2949  		switch field.Name {
  2950  		case "__typename":
  2951  			out.Values[i] = graphql.MarshalString("_Service")
  2952  		case "sdl":
  2953  			out.Values[i] = ec.__Service_sdl(ctx, field, obj)
  2954  		default:
  2955  			panic("unknown field " + strconv.Quote(field.Name))
  2956  		}
  2957  	}
  2958  	out.Dispatch(ctx)
  2959  	if out.Invalids > 0 {
  2960  		return graphql.Null
  2961  	}
  2962  
  2963  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  2964  
  2965  	for label, dfs := range deferred {
  2966  		ec.processDeferredGroup(graphql.DeferredGroup{
  2967  			Label:    label,
  2968  			Path:     graphql.GetPath(ctx),
  2969  			FieldSet: dfs,
  2970  			Context:  ctx,
  2971  		})
  2972  	}
  2973  
  2974  	return out
  2975  }
  2976  
  2977  var __DirectiveImplementors = []string{"__Directive"}
  2978  
  2979  func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler {
  2980  	fields := graphql.CollectFields(ec.OperationContext, sel, __DirectiveImplementors)
  2981  
  2982  	out := graphql.NewFieldSet(fields)
  2983  	deferred := make(map[string]*graphql.FieldSet)
  2984  	for i, field := range fields {
  2985  		switch field.Name {
  2986  		case "__typename":
  2987  			out.Values[i] = graphql.MarshalString("__Directive")
  2988  		case "name":
  2989  			out.Values[i] = ec.___Directive_name(ctx, field, obj)
  2990  			if out.Values[i] == graphql.Null {
  2991  				out.Invalids++
  2992  			}
  2993  		case "description":
  2994  			out.Values[i] = ec.___Directive_description(ctx, field, obj)
  2995  		case "locations":
  2996  			out.Values[i] = ec.___Directive_locations(ctx, field, obj)
  2997  			if out.Values[i] == graphql.Null {
  2998  				out.Invalids++
  2999  			}
  3000  		case "args":
  3001  			out.Values[i] = ec.___Directive_args(ctx, field, obj)
  3002  			if out.Values[i] == graphql.Null {
  3003  				out.Invalids++
  3004  			}
  3005  		case "isRepeatable":
  3006  			out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj)
  3007  			if out.Values[i] == graphql.Null {
  3008  				out.Invalids++
  3009  			}
  3010  		default:
  3011  			panic("unknown field " + strconv.Quote(field.Name))
  3012  		}
  3013  	}
  3014  	out.Dispatch(ctx)
  3015  	if out.Invalids > 0 {
  3016  		return graphql.Null
  3017  	}
  3018  
  3019  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  3020  
  3021  	for label, dfs := range deferred {
  3022  		ec.processDeferredGroup(graphql.DeferredGroup{
  3023  			Label:    label,
  3024  			Path:     graphql.GetPath(ctx),
  3025  			FieldSet: dfs,
  3026  			Context:  ctx,
  3027  		})
  3028  	}
  3029  
  3030  	return out
  3031  }
  3032  
  3033  var __EnumValueImplementors = []string{"__EnumValue"}
  3034  
  3035  func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler {
  3036  	fields := graphql.CollectFields(ec.OperationContext, sel, __EnumValueImplementors)
  3037  
  3038  	out := graphql.NewFieldSet(fields)
  3039  	deferred := make(map[string]*graphql.FieldSet)
  3040  	for i, field := range fields {
  3041  		switch field.Name {
  3042  		case "__typename":
  3043  			out.Values[i] = graphql.MarshalString("__EnumValue")
  3044  		case "name":
  3045  			out.Values[i] = ec.___EnumValue_name(ctx, field, obj)
  3046  			if out.Values[i] == graphql.Null {
  3047  				out.Invalids++
  3048  			}
  3049  		case "description":
  3050  			out.Values[i] = ec.___EnumValue_description(ctx, field, obj)
  3051  		case "isDeprecated":
  3052  			out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj)
  3053  			if out.Values[i] == graphql.Null {
  3054  				out.Invalids++
  3055  			}
  3056  		case "deprecationReason":
  3057  			out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj)
  3058  		default:
  3059  			panic("unknown field " + strconv.Quote(field.Name))
  3060  		}
  3061  	}
  3062  	out.Dispatch(ctx)
  3063  	if out.Invalids > 0 {
  3064  		return graphql.Null
  3065  	}
  3066  
  3067  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  3068  
  3069  	for label, dfs := range deferred {
  3070  		ec.processDeferredGroup(graphql.DeferredGroup{
  3071  			Label:    label,
  3072  			Path:     graphql.GetPath(ctx),
  3073  			FieldSet: dfs,
  3074  			Context:  ctx,
  3075  		})
  3076  	}
  3077  
  3078  	return out
  3079  }
  3080  
  3081  var __FieldImplementors = []string{"__Field"}
  3082  
  3083  func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler {
  3084  	fields := graphql.CollectFields(ec.OperationContext, sel, __FieldImplementors)
  3085  
  3086  	out := graphql.NewFieldSet(fields)
  3087  	deferred := make(map[string]*graphql.FieldSet)
  3088  	for i, field := range fields {
  3089  		switch field.Name {
  3090  		case "__typename":
  3091  			out.Values[i] = graphql.MarshalString("__Field")
  3092  		case "name":
  3093  			out.Values[i] = ec.___Field_name(ctx, field, obj)
  3094  			if out.Values[i] == graphql.Null {
  3095  				out.Invalids++
  3096  			}
  3097  		case "description":
  3098  			out.Values[i] = ec.___Field_description(ctx, field, obj)
  3099  		case "args":
  3100  			out.Values[i] = ec.___Field_args(ctx, field, obj)
  3101  			if out.Values[i] == graphql.Null {
  3102  				out.Invalids++
  3103  			}
  3104  		case "type":
  3105  			out.Values[i] = ec.___Field_type(ctx, field, obj)
  3106  			if out.Values[i] == graphql.Null {
  3107  				out.Invalids++
  3108  			}
  3109  		case "isDeprecated":
  3110  			out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj)
  3111  			if out.Values[i] == graphql.Null {
  3112  				out.Invalids++
  3113  			}
  3114  		case "deprecationReason":
  3115  			out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj)
  3116  		default:
  3117  			panic("unknown field " + strconv.Quote(field.Name))
  3118  		}
  3119  	}
  3120  	out.Dispatch(ctx)
  3121  	if out.Invalids > 0 {
  3122  		return graphql.Null
  3123  	}
  3124  
  3125  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  3126  
  3127  	for label, dfs := range deferred {
  3128  		ec.processDeferredGroup(graphql.DeferredGroup{
  3129  			Label:    label,
  3130  			Path:     graphql.GetPath(ctx),
  3131  			FieldSet: dfs,
  3132  			Context:  ctx,
  3133  		})
  3134  	}
  3135  
  3136  	return out
  3137  }
  3138  
  3139  var __InputValueImplementors = []string{"__InputValue"}
  3140  
  3141  func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler {
  3142  	fields := graphql.CollectFields(ec.OperationContext, sel, __InputValueImplementors)
  3143  
  3144  	out := graphql.NewFieldSet(fields)
  3145  	deferred := make(map[string]*graphql.FieldSet)
  3146  	for i, field := range fields {
  3147  		switch field.Name {
  3148  		case "__typename":
  3149  			out.Values[i] = graphql.MarshalString("__InputValue")
  3150  		case "name":
  3151  			out.Values[i] = ec.___InputValue_name(ctx, field, obj)
  3152  			if out.Values[i] == graphql.Null {
  3153  				out.Invalids++
  3154  			}
  3155  		case "description":
  3156  			out.Values[i] = ec.___InputValue_description(ctx, field, obj)
  3157  		case "type":
  3158  			out.Values[i] = ec.___InputValue_type(ctx, field, obj)
  3159  			if out.Values[i] == graphql.Null {
  3160  				out.Invalids++
  3161  			}
  3162  		case "defaultValue":
  3163  			out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj)
  3164  		default:
  3165  			panic("unknown field " + strconv.Quote(field.Name))
  3166  		}
  3167  	}
  3168  	out.Dispatch(ctx)
  3169  	if out.Invalids > 0 {
  3170  		return graphql.Null
  3171  	}
  3172  
  3173  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  3174  
  3175  	for label, dfs := range deferred {
  3176  		ec.processDeferredGroup(graphql.DeferredGroup{
  3177  			Label:    label,
  3178  			Path:     graphql.GetPath(ctx),
  3179  			FieldSet: dfs,
  3180  			Context:  ctx,
  3181  		})
  3182  	}
  3183  
  3184  	return out
  3185  }
  3186  
  3187  var __SchemaImplementors = []string{"__Schema"}
  3188  
  3189  func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler {
  3190  	fields := graphql.CollectFields(ec.OperationContext, sel, __SchemaImplementors)
  3191  
  3192  	out := graphql.NewFieldSet(fields)
  3193  	deferred := make(map[string]*graphql.FieldSet)
  3194  	for i, field := range fields {
  3195  		switch field.Name {
  3196  		case "__typename":
  3197  			out.Values[i] = graphql.MarshalString("__Schema")
  3198  		case "description":
  3199  			out.Values[i] = ec.___Schema_description(ctx, field, obj)
  3200  		case "types":
  3201  			out.Values[i] = ec.___Schema_types(ctx, field, obj)
  3202  			if out.Values[i] == graphql.Null {
  3203  				out.Invalids++
  3204  			}
  3205  		case "queryType":
  3206  			out.Values[i] = ec.___Schema_queryType(ctx, field, obj)
  3207  			if out.Values[i] == graphql.Null {
  3208  				out.Invalids++
  3209  			}
  3210  		case "mutationType":
  3211  			out.Values[i] = ec.___Schema_mutationType(ctx, field, obj)
  3212  		case "subscriptionType":
  3213  			out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj)
  3214  		case "directives":
  3215  			out.Values[i] = ec.___Schema_directives(ctx, field, obj)
  3216  			if out.Values[i] == graphql.Null {
  3217  				out.Invalids++
  3218  			}
  3219  		default:
  3220  			panic("unknown field " + strconv.Quote(field.Name))
  3221  		}
  3222  	}
  3223  	out.Dispatch(ctx)
  3224  	if out.Invalids > 0 {
  3225  		return graphql.Null
  3226  	}
  3227  
  3228  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  3229  
  3230  	for label, dfs := range deferred {
  3231  		ec.processDeferredGroup(graphql.DeferredGroup{
  3232  			Label:    label,
  3233  			Path:     graphql.GetPath(ctx),
  3234  			FieldSet: dfs,
  3235  			Context:  ctx,
  3236  		})
  3237  	}
  3238  
  3239  	return out
  3240  }
  3241  
  3242  var __TypeImplementors = []string{"__Type"}
  3243  
  3244  func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler {
  3245  	fields := graphql.CollectFields(ec.OperationContext, sel, __TypeImplementors)
  3246  
  3247  	out := graphql.NewFieldSet(fields)
  3248  	deferred := make(map[string]*graphql.FieldSet)
  3249  	for i, field := range fields {
  3250  		switch field.Name {
  3251  		case "__typename":
  3252  			out.Values[i] = graphql.MarshalString("__Type")
  3253  		case "kind":
  3254  			out.Values[i] = ec.___Type_kind(ctx, field, obj)
  3255  			if out.Values[i] == graphql.Null {
  3256  				out.Invalids++
  3257  			}
  3258  		case "name":
  3259  			out.Values[i] = ec.___Type_name(ctx, field, obj)
  3260  		case "description":
  3261  			out.Values[i] = ec.___Type_description(ctx, field, obj)
  3262  		case "fields":
  3263  			out.Values[i] = ec.___Type_fields(ctx, field, obj)
  3264  		case "interfaces":
  3265  			out.Values[i] = ec.___Type_interfaces(ctx, field, obj)
  3266  		case "possibleTypes":
  3267  			out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj)
  3268  		case "enumValues":
  3269  			out.Values[i] = ec.___Type_enumValues(ctx, field, obj)
  3270  		case "inputFields":
  3271  			out.Values[i] = ec.___Type_inputFields(ctx, field, obj)
  3272  		case "ofType":
  3273  			out.Values[i] = ec.___Type_ofType(ctx, field, obj)
  3274  		case "specifiedByURL":
  3275  			out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj)
  3276  		default:
  3277  			panic("unknown field " + strconv.Quote(field.Name))
  3278  		}
  3279  	}
  3280  	out.Dispatch(ctx)
  3281  	if out.Invalids > 0 {
  3282  		return graphql.Null
  3283  	}
  3284  
  3285  	atomic.AddInt32(&ec.deferred, int32(len(deferred)))
  3286  
  3287  	for label, dfs := range deferred {
  3288  		ec.processDeferredGroup(graphql.DeferredGroup{
  3289  			Label:    label,
  3290  			Path:     graphql.GetPath(ctx),
  3291  			FieldSet: dfs,
  3292  			Context:  ctx,
  3293  		})
  3294  	}
  3295  
  3296  	return out
  3297  }
  3298  
  3299  // endregion **************************** object.gotpl ****************************
  3300  
  3301  // region    ***************************** type.gotpl *****************************
  3302  
  3303  func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v interface{}) (bool, error) {
  3304  	res, err := graphql.UnmarshalBoolean(v)
  3305  	return res, graphql.ErrorOnPath(ctx, err)
  3306  }
  3307  
  3308  func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler {
  3309  	res := graphql.MarshalBoolean(v)
  3310  	if res == graphql.Null {
  3311  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3312  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3313  		}
  3314  	}
  3315  	return res
  3316  }
  3317  
  3318  func (ec *executionContext) unmarshalNFieldSet2string(ctx context.Context, v interface{}) (string, error) {
  3319  	res, err := graphql.UnmarshalString(v)
  3320  	return res, graphql.ErrorOnPath(ctx, err)
  3321  }
  3322  
  3323  func (ec *executionContext) marshalNFieldSet2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler {
  3324  	res := graphql.MarshalString(v)
  3325  	if res == graphql.Null {
  3326  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3327  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3328  		}
  3329  	}
  3330  	return res
  3331  }
  3332  
  3333  func (ec *executionContext) marshalNHello2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋtestdataᚋentityinterfacesᚋgeneratedᚐHello(ctx context.Context, sel ast.SelectionSet, v Hello) graphql.Marshaler {
  3334  	if v == nil {
  3335  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3336  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3337  		}
  3338  		return graphql.Null
  3339  	}
  3340  	return ec._Hello(ctx, sel, v)
  3341  }
  3342  
  3343  func (ec *executionContext) unmarshalNString2string(ctx context.Context, v interface{}) (string, error) {
  3344  	res, err := graphql.UnmarshalString(v)
  3345  	return res, graphql.ErrorOnPath(ctx, err)
  3346  }
  3347  
  3348  func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler {
  3349  	res := graphql.MarshalString(v)
  3350  	if res == graphql.Null {
  3351  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3352  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3353  		}
  3354  	}
  3355  	return res
  3356  }
  3357  
  3358  func (ec *executionContext) marshalNWorld2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋtestdataᚋentityinterfacesᚋgeneratedᚐWorld(ctx context.Context, sel ast.SelectionSet, v World) graphql.Marshaler {
  3359  	return ec._World(ctx, sel, &v)
  3360  }
  3361  
  3362  func (ec *executionContext) marshalNWorld2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋtestdataᚋentityinterfacesᚋgeneratedᚐWorld(ctx context.Context, sel ast.SelectionSet, v *World) graphql.Marshaler {
  3363  	if v == nil {
  3364  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3365  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3366  		}
  3367  		return graphql.Null
  3368  	}
  3369  	return ec._World(ctx, sel, v)
  3370  }
  3371  
  3372  func (ec *executionContext) unmarshalN_Any2map(ctx context.Context, v interface{}) (map[string]interface{}, error) {
  3373  	res, err := graphql.UnmarshalMap(v)
  3374  	return res, graphql.ErrorOnPath(ctx, err)
  3375  }
  3376  
  3377  func (ec *executionContext) marshalN_Any2map(ctx context.Context, sel ast.SelectionSet, v map[string]interface{}) graphql.Marshaler {
  3378  	if v == nil {
  3379  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3380  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3381  		}
  3382  		return graphql.Null
  3383  	}
  3384  	res := graphql.MarshalMap(v)
  3385  	if res == graphql.Null {
  3386  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3387  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3388  		}
  3389  	}
  3390  	return res
  3391  }
  3392  
  3393  func (ec *executionContext) unmarshalN_Any2ᚕmapᚄ(ctx context.Context, v interface{}) ([]map[string]interface{}, error) {
  3394  	var vSlice []interface{}
  3395  	if v != nil {
  3396  		vSlice = graphql.CoerceList(v)
  3397  	}
  3398  	var err error
  3399  	res := make([]map[string]interface{}, len(vSlice))
  3400  	for i := range vSlice {
  3401  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i))
  3402  		res[i], err = ec.unmarshalN_Any2map(ctx, vSlice[i])
  3403  		if err != nil {
  3404  			return nil, err
  3405  		}
  3406  	}
  3407  	return res, nil
  3408  }
  3409  
  3410  func (ec *executionContext) marshalN_Any2ᚕmapᚄ(ctx context.Context, sel ast.SelectionSet, v []map[string]interface{}) graphql.Marshaler {
  3411  	ret := make(graphql.Array, len(v))
  3412  	for i := range v {
  3413  		ret[i] = ec.marshalN_Any2map(ctx, sel, v[i])
  3414  	}
  3415  
  3416  	for _, e := range ret {
  3417  		if e == graphql.Null {
  3418  			return graphql.Null
  3419  		}
  3420  	}
  3421  
  3422  	return ret
  3423  }
  3424  
  3425  func (ec *executionContext) marshalN_Entity2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋfedruntimeᚐEntity(ctx context.Context, sel ast.SelectionSet, v []fedruntime.Entity) graphql.Marshaler {
  3426  	ret := make(graphql.Array, len(v))
  3427  	var wg sync.WaitGroup
  3428  	isLen1 := len(v) == 1
  3429  	if !isLen1 {
  3430  		wg.Add(len(v))
  3431  	}
  3432  	for i := range v {
  3433  		i := i
  3434  		fc := &graphql.FieldContext{
  3435  			Index:  &i,
  3436  			Result: &v[i],
  3437  		}
  3438  		ctx := graphql.WithFieldContext(ctx, fc)
  3439  		f := func(i int) {
  3440  			defer func() {
  3441  				if r := recover(); r != nil {
  3442  					ec.Error(ctx, ec.Recover(ctx, r))
  3443  					ret = nil
  3444  				}
  3445  			}()
  3446  			if !isLen1 {
  3447  				defer wg.Done()
  3448  			}
  3449  			ret[i] = ec.marshalO_Entity2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋfedruntimeᚐEntity(ctx, sel, v[i])
  3450  		}
  3451  		if isLen1 {
  3452  			f(i)
  3453  		} else {
  3454  			go f(i)
  3455  		}
  3456  
  3457  	}
  3458  	wg.Wait()
  3459  
  3460  	return ret
  3461  }
  3462  
  3463  func (ec *executionContext) marshalN_Service2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋfedruntimeᚐService(ctx context.Context, sel ast.SelectionSet, v fedruntime.Service) graphql.Marshaler {
  3464  	return ec.__Service(ctx, sel, &v)
  3465  }
  3466  
  3467  func (ec *executionContext) marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v introspection.Directive) graphql.Marshaler {
  3468  	return ec.___Directive(ctx, sel, &v)
  3469  }
  3470  
  3471  func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Directive) graphql.Marshaler {
  3472  	ret := make(graphql.Array, len(v))
  3473  	var wg sync.WaitGroup
  3474  	isLen1 := len(v) == 1
  3475  	if !isLen1 {
  3476  		wg.Add(len(v))
  3477  	}
  3478  	for i := range v {
  3479  		i := i
  3480  		fc := &graphql.FieldContext{
  3481  			Index:  &i,
  3482  			Result: &v[i],
  3483  		}
  3484  		ctx := graphql.WithFieldContext(ctx, fc)
  3485  		f := func(i int) {
  3486  			defer func() {
  3487  				if r := recover(); r != nil {
  3488  					ec.Error(ctx, ec.Recover(ctx, r))
  3489  					ret = nil
  3490  				}
  3491  			}()
  3492  			if !isLen1 {
  3493  				defer wg.Done()
  3494  			}
  3495  			ret[i] = ec.marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, sel, v[i])
  3496  		}
  3497  		if isLen1 {
  3498  			f(i)
  3499  		} else {
  3500  			go f(i)
  3501  		}
  3502  
  3503  	}
  3504  	wg.Wait()
  3505  
  3506  	for _, e := range ret {
  3507  		if e == graphql.Null {
  3508  			return graphql.Null
  3509  		}
  3510  	}
  3511  
  3512  	return ret
  3513  }
  3514  
  3515  func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v interface{}) (string, error) {
  3516  	res, err := graphql.UnmarshalString(v)
  3517  	return res, graphql.ErrorOnPath(ctx, err)
  3518  }
  3519  
  3520  func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler {
  3521  	res := graphql.MarshalString(v)
  3522  	if res == graphql.Null {
  3523  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3524  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3525  		}
  3526  	}
  3527  	return res
  3528  }
  3529  
  3530  func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) {
  3531  	var vSlice []interface{}
  3532  	if v != nil {
  3533  		vSlice = graphql.CoerceList(v)
  3534  	}
  3535  	var err error
  3536  	res := make([]string, len(vSlice))
  3537  	for i := range vSlice {
  3538  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i))
  3539  		res[i], err = ec.unmarshalN__DirectiveLocation2string(ctx, vSlice[i])
  3540  		if err != nil {
  3541  			return nil, err
  3542  		}
  3543  	}
  3544  	return res, nil
  3545  }
  3546  
  3547  func (ec *executionContext) marshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler {
  3548  	ret := make(graphql.Array, len(v))
  3549  	var wg sync.WaitGroup
  3550  	isLen1 := len(v) == 1
  3551  	if !isLen1 {
  3552  		wg.Add(len(v))
  3553  	}
  3554  	for i := range v {
  3555  		i := i
  3556  		fc := &graphql.FieldContext{
  3557  			Index:  &i,
  3558  			Result: &v[i],
  3559  		}
  3560  		ctx := graphql.WithFieldContext(ctx, fc)
  3561  		f := func(i int) {
  3562  			defer func() {
  3563  				if r := recover(); r != nil {
  3564  					ec.Error(ctx, ec.Recover(ctx, r))
  3565  					ret = nil
  3566  				}
  3567  			}()
  3568  			if !isLen1 {
  3569  				defer wg.Done()
  3570  			}
  3571  			ret[i] = ec.marshalN__DirectiveLocation2string(ctx, sel, v[i])
  3572  		}
  3573  		if isLen1 {
  3574  			f(i)
  3575  		} else {
  3576  			go f(i)
  3577  		}
  3578  
  3579  	}
  3580  	wg.Wait()
  3581  
  3582  	for _, e := range ret {
  3583  		if e == graphql.Null {
  3584  			return graphql.Null
  3585  		}
  3586  	}
  3587  
  3588  	return ret
  3589  }
  3590  
  3591  func (ec *executionContext) marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v introspection.EnumValue) graphql.Marshaler {
  3592  	return ec.___EnumValue(ctx, sel, &v)
  3593  }
  3594  
  3595  func (ec *executionContext) marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v introspection.Field) graphql.Marshaler {
  3596  	return ec.___Field(ctx, sel, &v)
  3597  }
  3598  
  3599  func (ec *executionContext) marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v introspection.InputValue) graphql.Marshaler {
  3600  	return ec.___InputValue(ctx, sel, &v)
  3601  }
  3602  
  3603  func (ec *executionContext) marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler {
  3604  	ret := make(graphql.Array, len(v))
  3605  	var wg sync.WaitGroup
  3606  	isLen1 := len(v) == 1
  3607  	if !isLen1 {
  3608  		wg.Add(len(v))
  3609  	}
  3610  	for i := range v {
  3611  		i := i
  3612  		fc := &graphql.FieldContext{
  3613  			Index:  &i,
  3614  			Result: &v[i],
  3615  		}
  3616  		ctx := graphql.WithFieldContext(ctx, fc)
  3617  		f := func(i int) {
  3618  			defer func() {
  3619  				if r := recover(); r != nil {
  3620  					ec.Error(ctx, ec.Recover(ctx, r))
  3621  					ret = nil
  3622  				}
  3623  			}()
  3624  			if !isLen1 {
  3625  				defer wg.Done()
  3626  			}
  3627  			ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i])
  3628  		}
  3629  		if isLen1 {
  3630  			f(i)
  3631  		} else {
  3632  			go f(i)
  3633  		}
  3634  
  3635  	}
  3636  	wg.Wait()
  3637  
  3638  	for _, e := range ret {
  3639  		if e == graphql.Null {
  3640  			return graphql.Null
  3641  		}
  3642  	}
  3643  
  3644  	return ret
  3645  }
  3646  
  3647  func (ec *executionContext) marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler {
  3648  	return ec.___Type(ctx, sel, &v)
  3649  }
  3650  
  3651  func (ec *executionContext) marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler {
  3652  	ret := make(graphql.Array, len(v))
  3653  	var wg sync.WaitGroup
  3654  	isLen1 := len(v) == 1
  3655  	if !isLen1 {
  3656  		wg.Add(len(v))
  3657  	}
  3658  	for i := range v {
  3659  		i := i
  3660  		fc := &graphql.FieldContext{
  3661  			Index:  &i,
  3662  			Result: &v[i],
  3663  		}
  3664  		ctx := graphql.WithFieldContext(ctx, fc)
  3665  		f := func(i int) {
  3666  			defer func() {
  3667  				if r := recover(); r != nil {
  3668  					ec.Error(ctx, ec.Recover(ctx, r))
  3669  					ret = nil
  3670  				}
  3671  			}()
  3672  			if !isLen1 {
  3673  				defer wg.Done()
  3674  			}
  3675  			ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i])
  3676  		}
  3677  		if isLen1 {
  3678  			f(i)
  3679  		} else {
  3680  			go f(i)
  3681  		}
  3682  
  3683  	}
  3684  	wg.Wait()
  3685  
  3686  	for _, e := range ret {
  3687  		if e == graphql.Null {
  3688  			return graphql.Null
  3689  		}
  3690  	}
  3691  
  3692  	return ret
  3693  }
  3694  
  3695  func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler {
  3696  	if v == nil {
  3697  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3698  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3699  		}
  3700  		return graphql.Null
  3701  	}
  3702  	return ec.___Type(ctx, sel, v)
  3703  }
  3704  
  3705  func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v interface{}) (string, error) {
  3706  	res, err := graphql.UnmarshalString(v)
  3707  	return res, graphql.ErrorOnPath(ctx, err)
  3708  }
  3709  
  3710  func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler {
  3711  	res := graphql.MarshalString(v)
  3712  	if res == graphql.Null {
  3713  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3714  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3715  		}
  3716  	}
  3717  	return res
  3718  }
  3719  
  3720  func (ec *executionContext) unmarshalNfederation__Scope2string(ctx context.Context, v interface{}) (string, error) {
  3721  	res, err := graphql.UnmarshalString(v)
  3722  	return res, graphql.ErrorOnPath(ctx, err)
  3723  }
  3724  
  3725  func (ec *executionContext) marshalNfederation__Scope2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler {
  3726  	res := graphql.MarshalString(v)
  3727  	if res == graphql.Null {
  3728  		if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) {
  3729  			ec.Errorf(ctx, "the requested element is null which the schema does not allow")
  3730  		}
  3731  	}
  3732  	return res
  3733  }
  3734  
  3735  func (ec *executionContext) unmarshalNfederation__Scope2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) {
  3736  	var vSlice []interface{}
  3737  	if v != nil {
  3738  		vSlice = graphql.CoerceList(v)
  3739  	}
  3740  	var err error
  3741  	res := make([]string, len(vSlice))
  3742  	for i := range vSlice {
  3743  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i))
  3744  		res[i], err = ec.unmarshalNfederation__Scope2string(ctx, vSlice[i])
  3745  		if err != nil {
  3746  			return nil, err
  3747  		}
  3748  	}
  3749  	return res, nil
  3750  }
  3751  
  3752  func (ec *executionContext) marshalNfederation__Scope2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler {
  3753  	ret := make(graphql.Array, len(v))
  3754  	for i := range v {
  3755  		ret[i] = ec.marshalNfederation__Scope2string(ctx, sel, v[i])
  3756  	}
  3757  
  3758  	for _, e := range ret {
  3759  		if e == graphql.Null {
  3760  			return graphql.Null
  3761  		}
  3762  	}
  3763  
  3764  	return ret
  3765  }
  3766  
  3767  func (ec *executionContext) unmarshalNfederation__Scope2ᚕᚕstringᚄ(ctx context.Context, v interface{}) ([][]string, error) {
  3768  	var vSlice []interface{}
  3769  	if v != nil {
  3770  		vSlice = graphql.CoerceList(v)
  3771  	}
  3772  	var err error
  3773  	res := make([][]string, len(vSlice))
  3774  	for i := range vSlice {
  3775  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i))
  3776  		res[i], err = ec.unmarshalNfederation__Scope2ᚕstringᚄ(ctx, vSlice[i])
  3777  		if err != nil {
  3778  			return nil, err
  3779  		}
  3780  	}
  3781  	return res, nil
  3782  }
  3783  
  3784  func (ec *executionContext) marshalNfederation__Scope2ᚕᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v [][]string) graphql.Marshaler {
  3785  	ret := make(graphql.Array, len(v))
  3786  	for i := range v {
  3787  		ret[i] = ec.marshalNfederation__Scope2ᚕstringᚄ(ctx, sel, v[i])
  3788  	}
  3789  
  3790  	for _, e := range ret {
  3791  		if e == graphql.Null {
  3792  			return graphql.Null
  3793  		}
  3794  	}
  3795  
  3796  	return ret
  3797  }
  3798  
  3799  func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) {
  3800  	res, err := graphql.UnmarshalBoolean(v)
  3801  	return res, graphql.ErrorOnPath(ctx, err)
  3802  }
  3803  
  3804  func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler {
  3805  	res := graphql.MarshalBoolean(v)
  3806  	return res
  3807  }
  3808  
  3809  func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v interface{}) (*bool, error) {
  3810  	if v == nil {
  3811  		return nil, nil
  3812  	}
  3813  	res, err := graphql.UnmarshalBoolean(v)
  3814  	return &res, graphql.ErrorOnPath(ctx, err)
  3815  }
  3816  
  3817  func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler {
  3818  	if v == nil {
  3819  		return graphql.Null
  3820  	}
  3821  	res := graphql.MarshalBoolean(*v)
  3822  	return res
  3823  }
  3824  
  3825  func (ec *executionContext) unmarshalOString2string(ctx context.Context, v interface{}) (string, error) {
  3826  	res, err := graphql.UnmarshalString(v)
  3827  	return res, graphql.ErrorOnPath(ctx, err)
  3828  }
  3829  
  3830  func (ec *executionContext) marshalOString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler {
  3831  	res := graphql.MarshalString(v)
  3832  	return res
  3833  }
  3834  
  3835  func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) {
  3836  	if v == nil {
  3837  		return nil, nil
  3838  	}
  3839  	var vSlice []interface{}
  3840  	if v != nil {
  3841  		vSlice = graphql.CoerceList(v)
  3842  	}
  3843  	var err error
  3844  	res := make([]string, len(vSlice))
  3845  	for i := range vSlice {
  3846  		ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i))
  3847  		res[i], err = ec.unmarshalNString2string(ctx, vSlice[i])
  3848  		if err != nil {
  3849  			return nil, err
  3850  		}
  3851  	}
  3852  	return res, nil
  3853  }
  3854  
  3855  func (ec *executionContext) marshalOString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler {
  3856  	if v == nil {
  3857  		return graphql.Null
  3858  	}
  3859  	ret := make(graphql.Array, len(v))
  3860  	for i := range v {
  3861  		ret[i] = ec.marshalNString2string(ctx, sel, v[i])
  3862  	}
  3863  
  3864  	for _, e := range ret {
  3865  		if e == graphql.Null {
  3866  			return graphql.Null
  3867  		}
  3868  	}
  3869  
  3870  	return ret
  3871  }
  3872  
  3873  func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v interface{}) (*string, error) {
  3874  	if v == nil {
  3875  		return nil, nil
  3876  	}
  3877  	res, err := graphql.UnmarshalString(v)
  3878  	return &res, graphql.ErrorOnPath(ctx, err)
  3879  }
  3880  
  3881  func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler {
  3882  	if v == nil {
  3883  		return graphql.Null
  3884  	}
  3885  	res := graphql.MarshalString(*v)
  3886  	return res
  3887  }
  3888  
  3889  func (ec *executionContext) marshalO_Entity2githubᚗcomᚋ99designsᚋgqlgenᚋpluginᚋfederationᚋfedruntimeᚐEntity(ctx context.Context, sel ast.SelectionSet, v fedruntime.Entity) graphql.Marshaler {
  3890  	if v == nil {
  3891  		return graphql.Null
  3892  	}
  3893  	return ec.__Entity(ctx, sel, v)
  3894  }
  3895  
  3896  func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler {
  3897  	if v == nil {
  3898  		return graphql.Null
  3899  	}
  3900  	ret := make(graphql.Array, len(v))
  3901  	var wg sync.WaitGroup
  3902  	isLen1 := len(v) == 1
  3903  	if !isLen1 {
  3904  		wg.Add(len(v))
  3905  	}
  3906  	for i := range v {
  3907  		i := i
  3908  		fc := &graphql.FieldContext{
  3909  			Index:  &i,
  3910  			Result: &v[i],
  3911  		}
  3912  		ctx := graphql.WithFieldContext(ctx, fc)
  3913  		f := func(i int) {
  3914  			defer func() {
  3915  				if r := recover(); r != nil {
  3916  					ec.Error(ctx, ec.Recover(ctx, r))
  3917  					ret = nil
  3918  				}
  3919  			}()
  3920  			if !isLen1 {
  3921  				defer wg.Done()
  3922  			}
  3923  			ret[i] = ec.marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, sel, v[i])
  3924  		}
  3925  		if isLen1 {
  3926  			f(i)
  3927  		} else {
  3928  			go f(i)
  3929  		}
  3930  
  3931  	}
  3932  	wg.Wait()
  3933  
  3934  	for _, e := range ret {
  3935  		if e == graphql.Null {
  3936  			return graphql.Null
  3937  		}
  3938  	}
  3939  
  3940  	return ret
  3941  }
  3942  
  3943  func (ec *executionContext) marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Field) graphql.Marshaler {
  3944  	if v == nil {
  3945  		return graphql.Null
  3946  	}
  3947  	ret := make(graphql.Array, len(v))
  3948  	var wg sync.WaitGroup
  3949  	isLen1 := len(v) == 1
  3950  	if !isLen1 {
  3951  		wg.Add(len(v))
  3952  	}
  3953  	for i := range v {
  3954  		i := i
  3955  		fc := &graphql.FieldContext{
  3956  			Index:  &i,
  3957  			Result: &v[i],
  3958  		}
  3959  		ctx := graphql.WithFieldContext(ctx, fc)
  3960  		f := func(i int) {
  3961  			defer func() {
  3962  				if r := recover(); r != nil {
  3963  					ec.Error(ctx, ec.Recover(ctx, r))
  3964  					ret = nil
  3965  				}
  3966  			}()
  3967  			if !isLen1 {
  3968  				defer wg.Done()
  3969  			}
  3970  			ret[i] = ec.marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, sel, v[i])
  3971  		}
  3972  		if isLen1 {
  3973  			f(i)
  3974  		} else {
  3975  			go f(i)
  3976  		}
  3977  
  3978  	}
  3979  	wg.Wait()
  3980  
  3981  	for _, e := range ret {
  3982  		if e == graphql.Null {
  3983  			return graphql.Null
  3984  		}
  3985  	}
  3986  
  3987  	return ret
  3988  }
  3989  
  3990  func (ec *executionContext) marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler {
  3991  	if v == nil {
  3992  		return graphql.Null
  3993  	}
  3994  	ret := make(graphql.Array, len(v))
  3995  	var wg sync.WaitGroup
  3996  	isLen1 := len(v) == 1
  3997  	if !isLen1 {
  3998  		wg.Add(len(v))
  3999  	}
  4000  	for i := range v {
  4001  		i := i
  4002  		fc := &graphql.FieldContext{
  4003  			Index:  &i,
  4004  			Result: &v[i],
  4005  		}
  4006  		ctx := graphql.WithFieldContext(ctx, fc)
  4007  		f := func(i int) {
  4008  			defer func() {
  4009  				if r := recover(); r != nil {
  4010  					ec.Error(ctx, ec.Recover(ctx, r))
  4011  					ret = nil
  4012  				}
  4013  			}()
  4014  			if !isLen1 {
  4015  				defer wg.Done()
  4016  			}
  4017  			ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i])
  4018  		}
  4019  		if isLen1 {
  4020  			f(i)
  4021  		} else {
  4022  			go f(i)
  4023  		}
  4024  
  4025  	}
  4026  	wg.Wait()
  4027  
  4028  	for _, e := range ret {
  4029  		if e == graphql.Null {
  4030  			return graphql.Null
  4031  		}
  4032  	}
  4033  
  4034  	return ret
  4035  }
  4036  
  4037  func (ec *executionContext) marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v *introspection.Schema) graphql.Marshaler {
  4038  	if v == nil {
  4039  		return graphql.Null
  4040  	}
  4041  	return ec.___Schema(ctx, sel, v)
  4042  }
  4043  
  4044  func (ec *executionContext) marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler {
  4045  	if v == nil {
  4046  		return graphql.Null
  4047  	}
  4048  	ret := make(graphql.Array, len(v))
  4049  	var wg sync.WaitGroup
  4050  	isLen1 := len(v) == 1
  4051  	if !isLen1 {
  4052  		wg.Add(len(v))
  4053  	}
  4054  	for i := range v {
  4055  		i := i
  4056  		fc := &graphql.FieldContext{
  4057  			Index:  &i,
  4058  			Result: &v[i],
  4059  		}
  4060  		ctx := graphql.WithFieldContext(ctx, fc)
  4061  		f := func(i int) {
  4062  			defer func() {
  4063  				if r := recover(); r != nil {
  4064  					ec.Error(ctx, ec.Recover(ctx, r))
  4065  					ret = nil
  4066  				}
  4067  			}()
  4068  			if !isLen1 {
  4069  				defer wg.Done()
  4070  			}
  4071  			ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i])
  4072  		}
  4073  		if isLen1 {
  4074  			f(i)
  4075  		} else {
  4076  			go f(i)
  4077  		}
  4078  
  4079  	}
  4080  	wg.Wait()
  4081  
  4082  	for _, e := range ret {
  4083  		if e == graphql.Null {
  4084  			return graphql.Null
  4085  		}
  4086  	}
  4087  
  4088  	return ret
  4089  }
  4090  
  4091  func (ec *executionContext) marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler {
  4092  	if v == nil {
  4093  		return graphql.Null
  4094  	}
  4095  	return ec.___Type(ctx, sel, v)
  4096  }
  4097  
  4098  // endregion ***************************** type.gotpl *****************************