github.com/niko0xdev/gqlgen@v0.17.55-0.20240120102243-2ecff98c3e37/api/testdata/federation2/graph/generated.go (about)

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