github.com/deliveroo/gqlgen@v0.7.2/example/scalars/generated.go (about)

     1  // Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
     2  
     3  package scalars
     4  
     5  import (
     6  	"bytes"
     7  	"context"
     8  	"errors"
     9  	"external"
    10  	"strconv"
    11  	"sync"
    12  	"time"
    13  
    14  	"github.com/99designs/gqlgen/example/scalars/model"
    15  	"github.com/99designs/gqlgen/graphql"
    16  	"github.com/99designs/gqlgen/graphql/introspection"
    17  	"github.com/vektah/gqlparser"
    18  	"github.com/vektah/gqlparser/ast"
    19  )
    20  
    21  // NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
    22  func NewExecutableSchema(cfg Config) graphql.ExecutableSchema {
    23  	return &executableSchema{
    24  		resolvers:  cfg.Resolvers,
    25  		directives: cfg.Directives,
    26  		complexity: cfg.Complexity,
    27  	}
    28  }
    29  
    30  type Config struct {
    31  	Resolvers  ResolverRoot
    32  	Directives DirectiveRoot
    33  	Complexity ComplexityRoot
    34  }
    35  
    36  type ResolverRoot interface {
    37  	Query() QueryResolver
    38  	User() UserResolver
    39  }
    40  
    41  type DirectiveRoot struct {
    42  }
    43  
    44  type ComplexityRoot struct {
    45  	Address struct {
    46  		Id       func(childComplexity int) int
    47  		Location func(childComplexity int) int
    48  	}
    49  
    50  	Query struct {
    51  		User   func(childComplexity int, id external.ObjectID) int
    52  		Search func(childComplexity int, input *model.SearchArgs) int
    53  	}
    54  
    55  	User struct {
    56  		Id                func(childComplexity int) int
    57  		Name              func(childComplexity int) int
    58  		Created           func(childComplexity int) int
    59  		IsBanned          func(childComplexity int) int
    60  		PrimitiveResolver func(childComplexity int) int
    61  		CustomResolver    func(childComplexity int) int
    62  		Address           func(childComplexity int) int
    63  		Tier              func(childComplexity int) int
    64  	}
    65  }
    66  
    67  type QueryResolver interface {
    68  	User(ctx context.Context, id external.ObjectID) (*model.User, error)
    69  	Search(ctx context.Context, input *model.SearchArgs) ([]model.User, error)
    70  }
    71  type UserResolver interface {
    72  	PrimitiveResolver(ctx context.Context, obj *model.User) (string, error)
    73  	CustomResolver(ctx context.Context, obj *model.User) (model.Point, error)
    74  }
    75  
    76  func field_Query_user_args(rawArgs map[string]interface{}) (map[string]interface{}, error) {
    77  	args := map[string]interface{}{}
    78  	var arg0 external.ObjectID
    79  	if tmp, ok := rawArgs["id"]; ok {
    80  		var err error
    81  		arg0, err = model.UnmarshalID(tmp)
    82  		if err != nil {
    83  			return nil, err
    84  		}
    85  	}
    86  	args["id"] = arg0
    87  	return args, nil
    88  
    89  }
    90  
    91  func field_Query_search_args(rawArgs map[string]interface{}) (map[string]interface{}, error) {
    92  	args := map[string]interface{}{}
    93  	var arg0 *model.SearchArgs
    94  	if tmp, ok := rawArgs["input"]; ok {
    95  		var err error
    96  		var ptr1 model.SearchArgs
    97  		if tmp != nil {
    98  			ptr1, err = UnmarshalSearchArgs(tmp)
    99  			arg0 = &ptr1
   100  		}
   101  
   102  		if err != nil {
   103  			return nil, err
   104  		}
   105  	}
   106  	args["input"] = arg0
   107  	return args, nil
   108  
   109  }
   110  
   111  func field_Query___type_args(rawArgs map[string]interface{}) (map[string]interface{}, error) {
   112  	args := map[string]interface{}{}
   113  	var arg0 string
   114  	if tmp, ok := rawArgs["name"]; ok {
   115  		var err error
   116  		arg0, err = graphql.UnmarshalString(tmp)
   117  		if err != nil {
   118  			return nil, err
   119  		}
   120  	}
   121  	args["name"] = arg0
   122  	return args, nil
   123  
   124  }
   125  
   126  func field___Type_fields_args(rawArgs map[string]interface{}) (map[string]interface{}, error) {
   127  	args := map[string]interface{}{}
   128  	var arg0 bool
   129  	if tmp, ok := rawArgs["includeDeprecated"]; ok {
   130  		var err error
   131  		arg0, err = graphql.UnmarshalBoolean(tmp)
   132  		if err != nil {
   133  			return nil, err
   134  		}
   135  	}
   136  	args["includeDeprecated"] = arg0
   137  	return args, nil
   138  
   139  }
   140  
   141  func field___Type_enumValues_args(rawArgs map[string]interface{}) (map[string]interface{}, error) {
   142  	args := map[string]interface{}{}
   143  	var arg0 bool
   144  	if tmp, ok := rawArgs["includeDeprecated"]; ok {
   145  		var err error
   146  		arg0, err = graphql.UnmarshalBoolean(tmp)
   147  		if err != nil {
   148  			return nil, err
   149  		}
   150  	}
   151  	args["includeDeprecated"] = arg0
   152  	return args, nil
   153  
   154  }
   155  
   156  type executableSchema struct {
   157  	resolvers  ResolverRoot
   158  	directives DirectiveRoot
   159  	complexity ComplexityRoot
   160  }
   161  
   162  func (e *executableSchema) Schema() *ast.Schema {
   163  	return parsedSchema
   164  }
   165  
   166  func (e *executableSchema) Complexity(typeName, field string, childComplexity int, rawArgs map[string]interface{}) (int, bool) {
   167  	switch typeName + "." + field {
   168  
   169  	case "Address.id":
   170  		if e.complexity.Address.Id == nil {
   171  			break
   172  		}
   173  
   174  		return e.complexity.Address.Id(childComplexity), true
   175  
   176  	case "Address.location":
   177  		if e.complexity.Address.Location == nil {
   178  			break
   179  		}
   180  
   181  		return e.complexity.Address.Location(childComplexity), true
   182  
   183  	case "Query.user":
   184  		if e.complexity.Query.User == nil {
   185  			break
   186  		}
   187  
   188  		args, err := field_Query_user_args(rawArgs)
   189  		if err != nil {
   190  			return 0, false
   191  		}
   192  
   193  		return e.complexity.Query.User(childComplexity, args["id"].(external.ObjectID)), true
   194  
   195  	case "Query.search":
   196  		if e.complexity.Query.Search == nil {
   197  			break
   198  		}
   199  
   200  		args, err := field_Query_search_args(rawArgs)
   201  		if err != nil {
   202  			return 0, false
   203  		}
   204  
   205  		return e.complexity.Query.Search(childComplexity, args["input"].(*model.SearchArgs)), true
   206  
   207  	case "User.id":
   208  		if e.complexity.User.Id == nil {
   209  			break
   210  		}
   211  
   212  		return e.complexity.User.Id(childComplexity), true
   213  
   214  	case "User.name":
   215  		if e.complexity.User.Name == nil {
   216  			break
   217  		}
   218  
   219  		return e.complexity.User.Name(childComplexity), true
   220  
   221  	case "User.created":
   222  		if e.complexity.User.Created == nil {
   223  			break
   224  		}
   225  
   226  		return e.complexity.User.Created(childComplexity), true
   227  
   228  	case "User.isBanned":
   229  		if e.complexity.User.IsBanned == nil {
   230  			break
   231  		}
   232  
   233  		return e.complexity.User.IsBanned(childComplexity), true
   234  
   235  	case "User.primitiveResolver":
   236  		if e.complexity.User.PrimitiveResolver == nil {
   237  			break
   238  		}
   239  
   240  		return e.complexity.User.PrimitiveResolver(childComplexity), true
   241  
   242  	case "User.customResolver":
   243  		if e.complexity.User.CustomResolver == nil {
   244  			break
   245  		}
   246  
   247  		return e.complexity.User.CustomResolver(childComplexity), true
   248  
   249  	case "User.address":
   250  		if e.complexity.User.Address == nil {
   251  			break
   252  		}
   253  
   254  		return e.complexity.User.Address(childComplexity), true
   255  
   256  	case "User.tier":
   257  		if e.complexity.User.Tier == nil {
   258  			break
   259  		}
   260  
   261  		return e.complexity.User.Tier(childComplexity), true
   262  
   263  	}
   264  	return 0, false
   265  }
   266  
   267  func (e *executableSchema) Query(ctx context.Context, op *ast.OperationDefinition) *graphql.Response {
   268  	ec := executionContext{graphql.GetRequestContext(ctx), e}
   269  
   270  	buf := ec.RequestMiddleware(ctx, func(ctx context.Context) []byte {
   271  		data := ec._Query(ctx, op.SelectionSet)
   272  		var buf bytes.Buffer
   273  		data.MarshalGQL(&buf)
   274  		return buf.Bytes()
   275  	})
   276  
   277  	return &graphql.Response{
   278  		Data:       buf,
   279  		Errors:     ec.Errors,
   280  		Extensions: ec.Extensions}
   281  }
   282  
   283  func (e *executableSchema) Mutation(ctx context.Context, op *ast.OperationDefinition) *graphql.Response {
   284  	return graphql.ErrorResponse(ctx, "mutations are not supported")
   285  }
   286  
   287  func (e *executableSchema) Subscription(ctx context.Context, op *ast.OperationDefinition) func() *graphql.Response {
   288  	return graphql.OneShot(graphql.ErrorResponse(ctx, "subscriptions are not supported"))
   289  }
   290  
   291  type executionContext struct {
   292  	*graphql.RequestContext
   293  	*executableSchema
   294  }
   295  
   296  var addressImplementors = []string{"Address"}
   297  
   298  // nolint: gocyclo, errcheck, gas, goconst
   299  func (ec *executionContext) _Address(ctx context.Context, sel ast.SelectionSet, obj *model.Address) graphql.Marshaler {
   300  	fields := graphql.CollectFields(ctx, sel, addressImplementors)
   301  
   302  	out := graphql.NewOrderedMap(len(fields))
   303  	invalid := false
   304  	for i, field := range fields {
   305  		out.Keys[i] = field.Alias
   306  
   307  		switch field.Name {
   308  		case "__typename":
   309  			out.Values[i] = graphql.MarshalString("Address")
   310  		case "id":
   311  			out.Values[i] = ec._Address_id(ctx, field, obj)
   312  			if out.Values[i] == graphql.Null {
   313  				invalid = true
   314  			}
   315  		case "location":
   316  			out.Values[i] = ec._Address_location(ctx, field, obj)
   317  		default:
   318  			panic("unknown field " + strconv.Quote(field.Name))
   319  		}
   320  	}
   321  
   322  	if invalid {
   323  		return graphql.Null
   324  	}
   325  	return out
   326  }
   327  
   328  // nolint: vetshadow
   329  func (ec *executionContext) _Address_id(ctx context.Context, field graphql.CollectedField, obj *model.Address) graphql.Marshaler {
   330  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   331  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   332  	rctx := &graphql.ResolverContext{
   333  		Object: "Address",
   334  		Args:   nil,
   335  		Field:  field,
   336  	}
   337  	ctx = graphql.WithResolverContext(ctx, rctx)
   338  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   339  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   340  		ctx = rctx // use context from middleware stack in children
   341  		return obj.ID, nil
   342  	})
   343  	if resTmp == nil {
   344  		if !ec.HasError(rctx) {
   345  			ec.Errorf(ctx, "must not be null")
   346  		}
   347  		return graphql.Null
   348  	}
   349  	res := resTmp.(external.ObjectID)
   350  	rctx.Result = res
   351  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   352  	return model.MarshalID(res)
   353  }
   354  
   355  // nolint: vetshadow
   356  func (ec *executionContext) _Address_location(ctx context.Context, field graphql.CollectedField, obj *model.Address) graphql.Marshaler {
   357  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   358  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   359  	rctx := &graphql.ResolverContext{
   360  		Object: "Address",
   361  		Args:   nil,
   362  		Field:  field,
   363  	}
   364  	ctx = graphql.WithResolverContext(ctx, rctx)
   365  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   366  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   367  		ctx = rctx // use context from middleware stack in children
   368  		return obj.Location, nil
   369  	})
   370  	if resTmp == nil {
   371  		return graphql.Null
   372  	}
   373  	res := resTmp.(*model.Point)
   374  	rctx.Result = res
   375  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   376  
   377  	if res == nil {
   378  		return graphql.Null
   379  	}
   380  	return *res
   381  }
   382  
   383  var queryImplementors = []string{"Query"}
   384  
   385  // nolint: gocyclo, errcheck, gas, goconst
   386  func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler {
   387  	fields := graphql.CollectFields(ctx, sel, queryImplementors)
   388  
   389  	ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
   390  		Object: "Query",
   391  	})
   392  
   393  	var wg sync.WaitGroup
   394  	out := graphql.NewOrderedMap(len(fields))
   395  	invalid := false
   396  	for i, field := range fields {
   397  		out.Keys[i] = field.Alias
   398  
   399  		switch field.Name {
   400  		case "__typename":
   401  			out.Values[i] = graphql.MarshalString("Query")
   402  		case "user":
   403  			wg.Add(1)
   404  			go func(i int, field graphql.CollectedField) {
   405  				out.Values[i] = ec._Query_user(ctx, field)
   406  				wg.Done()
   407  			}(i, field)
   408  		case "search":
   409  			wg.Add(1)
   410  			go func(i int, field graphql.CollectedField) {
   411  				out.Values[i] = ec._Query_search(ctx, field)
   412  				if out.Values[i] == graphql.Null {
   413  					invalid = true
   414  				}
   415  				wg.Done()
   416  			}(i, field)
   417  		case "__type":
   418  			out.Values[i] = ec._Query___type(ctx, field)
   419  		case "__schema":
   420  			out.Values[i] = ec._Query___schema(ctx, field)
   421  		default:
   422  			panic("unknown field " + strconv.Quote(field.Name))
   423  		}
   424  	}
   425  	wg.Wait()
   426  	if invalid {
   427  		return graphql.Null
   428  	}
   429  	return out
   430  }
   431  
   432  // nolint: vetshadow
   433  func (ec *executionContext) _Query_user(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
   434  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   435  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   436  	rawArgs := field.ArgumentMap(ec.Variables)
   437  	args, err := field_Query_user_args(rawArgs)
   438  	if err != nil {
   439  		ec.Error(ctx, err)
   440  		return graphql.Null
   441  	}
   442  	rctx := &graphql.ResolverContext{
   443  		Object: "Query",
   444  		Args:   args,
   445  		Field:  field,
   446  	}
   447  	ctx = graphql.WithResolverContext(ctx, rctx)
   448  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   449  	resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) {
   450  		ctx = rctx // use context from middleware stack in children
   451  		return ec.resolvers.Query().User(rctx, args["id"].(external.ObjectID))
   452  	})
   453  	if resTmp == nil {
   454  		return graphql.Null
   455  	}
   456  	res := resTmp.(*model.User)
   457  	rctx.Result = res
   458  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   459  
   460  	if res == nil {
   461  		return graphql.Null
   462  	}
   463  
   464  	return ec._User(ctx, field.Selections, res)
   465  }
   466  
   467  // nolint: vetshadow
   468  func (ec *executionContext) _Query_search(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
   469  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   470  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   471  	rawArgs := field.ArgumentMap(ec.Variables)
   472  	args, err := field_Query_search_args(rawArgs)
   473  	if err != nil {
   474  		ec.Error(ctx, err)
   475  		return graphql.Null
   476  	}
   477  	rctx := &graphql.ResolverContext{
   478  		Object: "Query",
   479  		Args:   args,
   480  		Field:  field,
   481  	}
   482  	ctx = graphql.WithResolverContext(ctx, rctx)
   483  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   484  	resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) {
   485  		ctx = rctx // use context from middleware stack in children
   486  		return ec.resolvers.Query().Search(rctx, args["input"].(*model.SearchArgs))
   487  	})
   488  	if resTmp == nil {
   489  		if !ec.HasError(rctx) {
   490  			ec.Errorf(ctx, "must not be null")
   491  		}
   492  		return graphql.Null
   493  	}
   494  	res := resTmp.([]model.User)
   495  	rctx.Result = res
   496  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   497  
   498  	arr1 := make(graphql.Array, len(res))
   499  	var wg sync.WaitGroup
   500  
   501  	isLen1 := len(res) == 1
   502  	if !isLen1 {
   503  		wg.Add(len(res))
   504  	}
   505  
   506  	for idx1 := range res {
   507  		idx1 := idx1
   508  		rctx := &graphql.ResolverContext{
   509  			Index:  &idx1,
   510  			Result: &res[idx1],
   511  		}
   512  		ctx := graphql.WithResolverContext(ctx, rctx)
   513  		f := func(idx1 int) {
   514  			if !isLen1 {
   515  				defer wg.Done()
   516  			}
   517  			arr1[idx1] = func() graphql.Marshaler {
   518  
   519  				return ec._User(ctx, field.Selections, &res[idx1])
   520  			}()
   521  		}
   522  		if isLen1 {
   523  			f(idx1)
   524  		} else {
   525  			go f(idx1)
   526  		}
   527  
   528  	}
   529  	wg.Wait()
   530  	return arr1
   531  }
   532  
   533  // nolint: vetshadow
   534  func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
   535  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   536  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   537  	rawArgs := field.ArgumentMap(ec.Variables)
   538  	args, err := field_Query___type_args(rawArgs)
   539  	if err != nil {
   540  		ec.Error(ctx, err)
   541  		return graphql.Null
   542  	}
   543  	rctx := &graphql.ResolverContext{
   544  		Object: "Query",
   545  		Args:   args,
   546  		Field:  field,
   547  	}
   548  	ctx = graphql.WithResolverContext(ctx, rctx)
   549  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   550  	resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) {
   551  		ctx = rctx // use context from middleware stack in children
   552  		return ec.introspectType(args["name"].(string))
   553  	})
   554  	if resTmp == nil {
   555  		return graphql.Null
   556  	}
   557  	res := resTmp.(*introspection.Type)
   558  	rctx.Result = res
   559  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   560  
   561  	if res == nil {
   562  		return graphql.Null
   563  	}
   564  
   565  	return ec.___Type(ctx, field.Selections, res)
   566  }
   567  
   568  // nolint: vetshadow
   569  func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) graphql.Marshaler {
   570  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   571  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   572  	rctx := &graphql.ResolverContext{
   573  		Object: "Query",
   574  		Args:   nil,
   575  		Field:  field,
   576  	}
   577  	ctx = graphql.WithResolverContext(ctx, rctx)
   578  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   579  	resTmp := ec.FieldMiddleware(ctx, nil, func(rctx context.Context) (interface{}, error) {
   580  		ctx = rctx // use context from middleware stack in children
   581  		return ec.introspectSchema()
   582  	})
   583  	if resTmp == nil {
   584  		return graphql.Null
   585  	}
   586  	res := resTmp.(*introspection.Schema)
   587  	rctx.Result = res
   588  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   589  
   590  	if res == nil {
   591  		return graphql.Null
   592  	}
   593  
   594  	return ec.___Schema(ctx, field.Selections, res)
   595  }
   596  
   597  var userImplementors = []string{"User"}
   598  
   599  // nolint: gocyclo, errcheck, gas, goconst
   600  func (ec *executionContext) _User(ctx context.Context, sel ast.SelectionSet, obj *model.User) graphql.Marshaler {
   601  	fields := graphql.CollectFields(ctx, sel, userImplementors)
   602  
   603  	var wg sync.WaitGroup
   604  	out := graphql.NewOrderedMap(len(fields))
   605  	invalid := false
   606  	for i, field := range fields {
   607  		out.Keys[i] = field.Alias
   608  
   609  		switch field.Name {
   610  		case "__typename":
   611  			out.Values[i] = graphql.MarshalString("User")
   612  		case "id":
   613  			out.Values[i] = ec._User_id(ctx, field, obj)
   614  			if out.Values[i] == graphql.Null {
   615  				invalid = true
   616  			}
   617  		case "name":
   618  			out.Values[i] = ec._User_name(ctx, field, obj)
   619  			if out.Values[i] == graphql.Null {
   620  				invalid = true
   621  			}
   622  		case "created":
   623  			out.Values[i] = ec._User_created(ctx, field, obj)
   624  		case "isBanned":
   625  			out.Values[i] = ec._User_isBanned(ctx, field, obj)
   626  			if out.Values[i] == graphql.Null {
   627  				invalid = true
   628  			}
   629  		case "primitiveResolver":
   630  			wg.Add(1)
   631  			go func(i int, field graphql.CollectedField) {
   632  				out.Values[i] = ec._User_primitiveResolver(ctx, field, obj)
   633  				if out.Values[i] == graphql.Null {
   634  					invalid = true
   635  				}
   636  				wg.Done()
   637  			}(i, field)
   638  		case "customResolver":
   639  			wg.Add(1)
   640  			go func(i int, field graphql.CollectedField) {
   641  				out.Values[i] = ec._User_customResolver(ctx, field, obj)
   642  				if out.Values[i] == graphql.Null {
   643  					invalid = true
   644  				}
   645  				wg.Done()
   646  			}(i, field)
   647  		case "address":
   648  			out.Values[i] = ec._User_address(ctx, field, obj)
   649  		case "tier":
   650  			out.Values[i] = ec._User_tier(ctx, field, obj)
   651  		default:
   652  			panic("unknown field " + strconv.Quote(field.Name))
   653  		}
   654  	}
   655  	wg.Wait()
   656  	if invalid {
   657  		return graphql.Null
   658  	}
   659  	return out
   660  }
   661  
   662  // nolint: vetshadow
   663  func (ec *executionContext) _User_id(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   664  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   665  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   666  	rctx := &graphql.ResolverContext{
   667  		Object: "User",
   668  		Args:   nil,
   669  		Field:  field,
   670  	}
   671  	ctx = graphql.WithResolverContext(ctx, rctx)
   672  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   673  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   674  		ctx = rctx // use context from middleware stack in children
   675  		return obj.ID, nil
   676  	})
   677  	if resTmp == nil {
   678  		if !ec.HasError(rctx) {
   679  			ec.Errorf(ctx, "must not be null")
   680  		}
   681  		return graphql.Null
   682  	}
   683  	res := resTmp.(external.ObjectID)
   684  	rctx.Result = res
   685  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   686  	return model.MarshalID(res)
   687  }
   688  
   689  // nolint: vetshadow
   690  func (ec *executionContext) _User_name(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   691  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   692  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   693  	rctx := &graphql.ResolverContext{
   694  		Object: "User",
   695  		Args:   nil,
   696  		Field:  field,
   697  	}
   698  	ctx = graphql.WithResolverContext(ctx, rctx)
   699  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   700  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   701  		ctx = rctx // use context from middleware stack in children
   702  		return obj.Name, nil
   703  	})
   704  	if resTmp == nil {
   705  		if !ec.HasError(rctx) {
   706  			ec.Errorf(ctx, "must not be null")
   707  		}
   708  		return graphql.Null
   709  	}
   710  	res := resTmp.(string)
   711  	rctx.Result = res
   712  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   713  	return graphql.MarshalString(res)
   714  }
   715  
   716  // nolint: vetshadow
   717  func (ec *executionContext) _User_created(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   718  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   719  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   720  	rctx := &graphql.ResolverContext{
   721  		Object: "User",
   722  		Args:   nil,
   723  		Field:  field,
   724  	}
   725  	ctx = graphql.WithResolverContext(ctx, rctx)
   726  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   727  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   728  		ctx = rctx // use context from middleware stack in children
   729  		return obj.Created, nil
   730  	})
   731  	if resTmp == nil {
   732  		return graphql.Null
   733  	}
   734  	res := resTmp.(time.Time)
   735  	rctx.Result = res
   736  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   737  	return model.MarshalTimestamp(res)
   738  }
   739  
   740  // nolint: vetshadow
   741  func (ec *executionContext) _User_isBanned(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   742  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   743  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   744  	rctx := &graphql.ResolverContext{
   745  		Object: "User",
   746  		Args:   nil,
   747  		Field:  field,
   748  	}
   749  	ctx = graphql.WithResolverContext(ctx, rctx)
   750  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   751  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   752  		ctx = rctx // use context from middleware stack in children
   753  		return obj.IsBanned, nil
   754  	})
   755  	if resTmp == nil {
   756  		if !ec.HasError(rctx) {
   757  			ec.Errorf(ctx, "must not be null")
   758  		}
   759  		return graphql.Null
   760  	}
   761  	res := resTmp.(model.Banned)
   762  	rctx.Result = res
   763  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   764  	return graphql.MarshalBoolean(bool(res))
   765  }
   766  
   767  // nolint: vetshadow
   768  func (ec *executionContext) _User_primitiveResolver(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   769  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   770  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   771  	rctx := &graphql.ResolverContext{
   772  		Object: "User",
   773  		Args:   nil,
   774  		Field:  field,
   775  	}
   776  	ctx = graphql.WithResolverContext(ctx, rctx)
   777  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   778  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   779  		ctx = rctx // use context from middleware stack in children
   780  		return ec.resolvers.User().PrimitiveResolver(rctx, obj)
   781  	})
   782  	if resTmp == nil {
   783  		if !ec.HasError(rctx) {
   784  			ec.Errorf(ctx, "must not be null")
   785  		}
   786  		return graphql.Null
   787  	}
   788  	res := resTmp.(string)
   789  	rctx.Result = res
   790  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   791  	return graphql.MarshalString(res)
   792  }
   793  
   794  // nolint: vetshadow
   795  func (ec *executionContext) _User_customResolver(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   796  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   797  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   798  	rctx := &graphql.ResolverContext{
   799  		Object: "User",
   800  		Args:   nil,
   801  		Field:  field,
   802  	}
   803  	ctx = graphql.WithResolverContext(ctx, rctx)
   804  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   805  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   806  		ctx = rctx // use context from middleware stack in children
   807  		return ec.resolvers.User().CustomResolver(rctx, obj)
   808  	})
   809  	if resTmp == nil {
   810  		if !ec.HasError(rctx) {
   811  			ec.Errorf(ctx, "must not be null")
   812  		}
   813  		return graphql.Null
   814  	}
   815  	res := resTmp.(model.Point)
   816  	rctx.Result = res
   817  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   818  	return res
   819  }
   820  
   821  // nolint: vetshadow
   822  func (ec *executionContext) _User_address(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   823  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   824  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   825  	rctx := &graphql.ResolverContext{
   826  		Object: "User",
   827  		Args:   nil,
   828  		Field:  field,
   829  	}
   830  	ctx = graphql.WithResolverContext(ctx, rctx)
   831  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   832  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   833  		ctx = rctx // use context from middleware stack in children
   834  		return obj.Address, nil
   835  	})
   836  	if resTmp == nil {
   837  		return graphql.Null
   838  	}
   839  	res := resTmp.(model.Address)
   840  	rctx.Result = res
   841  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   842  
   843  	return ec._Address(ctx, field.Selections, &res)
   844  }
   845  
   846  // nolint: vetshadow
   847  func (ec *executionContext) _User_tier(ctx context.Context, field graphql.CollectedField, obj *model.User) graphql.Marshaler {
   848  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   849  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   850  	rctx := &graphql.ResolverContext{
   851  		Object: "User",
   852  		Args:   nil,
   853  		Field:  field,
   854  	}
   855  	ctx = graphql.WithResolverContext(ctx, rctx)
   856  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   857  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   858  		ctx = rctx // use context from middleware stack in children
   859  		return obj.Tier, nil
   860  	})
   861  	if resTmp == nil {
   862  		return graphql.Null
   863  	}
   864  	res := resTmp.(model.Tier)
   865  	rctx.Result = res
   866  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   867  	return res
   868  }
   869  
   870  var __DirectiveImplementors = []string{"__Directive"}
   871  
   872  // nolint: gocyclo, errcheck, gas, goconst
   873  func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler {
   874  	fields := graphql.CollectFields(ctx, sel, __DirectiveImplementors)
   875  
   876  	out := graphql.NewOrderedMap(len(fields))
   877  	invalid := false
   878  	for i, field := range fields {
   879  		out.Keys[i] = field.Alias
   880  
   881  		switch field.Name {
   882  		case "__typename":
   883  			out.Values[i] = graphql.MarshalString("__Directive")
   884  		case "name":
   885  			out.Values[i] = ec.___Directive_name(ctx, field, obj)
   886  			if out.Values[i] == graphql.Null {
   887  				invalid = true
   888  			}
   889  		case "description":
   890  			out.Values[i] = ec.___Directive_description(ctx, field, obj)
   891  		case "locations":
   892  			out.Values[i] = ec.___Directive_locations(ctx, field, obj)
   893  			if out.Values[i] == graphql.Null {
   894  				invalid = true
   895  			}
   896  		case "args":
   897  			out.Values[i] = ec.___Directive_args(ctx, field, obj)
   898  			if out.Values[i] == graphql.Null {
   899  				invalid = true
   900  			}
   901  		default:
   902  			panic("unknown field " + strconv.Quote(field.Name))
   903  		}
   904  	}
   905  
   906  	if invalid {
   907  		return graphql.Null
   908  	}
   909  	return out
   910  }
   911  
   912  // nolint: vetshadow
   913  func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
   914  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   915  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   916  	rctx := &graphql.ResolverContext{
   917  		Object: "__Directive",
   918  		Args:   nil,
   919  		Field:  field,
   920  	}
   921  	ctx = graphql.WithResolverContext(ctx, rctx)
   922  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   923  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   924  		ctx = rctx // use context from middleware stack in children
   925  		return obj.Name, nil
   926  	})
   927  	if resTmp == nil {
   928  		if !ec.HasError(rctx) {
   929  			ec.Errorf(ctx, "must not be null")
   930  		}
   931  		return graphql.Null
   932  	}
   933  	res := resTmp.(string)
   934  	rctx.Result = res
   935  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   936  	return graphql.MarshalString(res)
   937  }
   938  
   939  // nolint: vetshadow
   940  func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
   941  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   942  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   943  	rctx := &graphql.ResolverContext{
   944  		Object: "__Directive",
   945  		Args:   nil,
   946  		Field:  field,
   947  	}
   948  	ctx = graphql.WithResolverContext(ctx, rctx)
   949  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   950  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   951  		ctx = rctx // use context from middleware stack in children
   952  		return obj.Description, nil
   953  	})
   954  	if resTmp == nil {
   955  		return graphql.Null
   956  	}
   957  	res := resTmp.(string)
   958  	rctx.Result = res
   959  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   960  	return graphql.MarshalString(res)
   961  }
   962  
   963  // nolint: vetshadow
   964  func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
   965  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
   966  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
   967  	rctx := &graphql.ResolverContext{
   968  		Object: "__Directive",
   969  		Args:   nil,
   970  		Field:  field,
   971  	}
   972  	ctx = graphql.WithResolverContext(ctx, rctx)
   973  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
   974  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
   975  		ctx = rctx // use context from middleware stack in children
   976  		return obj.Locations, nil
   977  	})
   978  	if resTmp == nil {
   979  		if !ec.HasError(rctx) {
   980  			ec.Errorf(ctx, "must not be null")
   981  		}
   982  		return graphql.Null
   983  	}
   984  	res := resTmp.([]string)
   985  	rctx.Result = res
   986  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
   987  
   988  	arr1 := make(graphql.Array, len(res))
   989  
   990  	for idx1 := range res {
   991  		arr1[idx1] = func() graphql.Marshaler {
   992  			return graphql.MarshalString(res[idx1])
   993  		}()
   994  	}
   995  
   996  	return arr1
   997  }
   998  
   999  // nolint: vetshadow
  1000  func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) graphql.Marshaler {
  1001  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1002  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1003  	rctx := &graphql.ResolverContext{
  1004  		Object: "__Directive",
  1005  		Args:   nil,
  1006  		Field:  field,
  1007  	}
  1008  	ctx = graphql.WithResolverContext(ctx, rctx)
  1009  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1010  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1011  		ctx = rctx // use context from middleware stack in children
  1012  		return obj.Args, nil
  1013  	})
  1014  	if resTmp == nil {
  1015  		if !ec.HasError(rctx) {
  1016  			ec.Errorf(ctx, "must not be null")
  1017  		}
  1018  		return graphql.Null
  1019  	}
  1020  	res := resTmp.([]introspection.InputValue)
  1021  	rctx.Result = res
  1022  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1023  
  1024  	arr1 := make(graphql.Array, len(res))
  1025  	var wg sync.WaitGroup
  1026  
  1027  	isLen1 := len(res) == 1
  1028  	if !isLen1 {
  1029  		wg.Add(len(res))
  1030  	}
  1031  
  1032  	for idx1 := range res {
  1033  		idx1 := idx1
  1034  		rctx := &graphql.ResolverContext{
  1035  			Index:  &idx1,
  1036  			Result: &res[idx1],
  1037  		}
  1038  		ctx := graphql.WithResolverContext(ctx, rctx)
  1039  		f := func(idx1 int) {
  1040  			if !isLen1 {
  1041  				defer wg.Done()
  1042  			}
  1043  			arr1[idx1] = func() graphql.Marshaler {
  1044  
  1045  				return ec.___InputValue(ctx, field.Selections, &res[idx1])
  1046  			}()
  1047  		}
  1048  		if isLen1 {
  1049  			f(idx1)
  1050  		} else {
  1051  			go f(idx1)
  1052  		}
  1053  
  1054  	}
  1055  	wg.Wait()
  1056  	return arr1
  1057  }
  1058  
  1059  var __EnumValueImplementors = []string{"__EnumValue"}
  1060  
  1061  // nolint: gocyclo, errcheck, gas, goconst
  1062  func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler {
  1063  	fields := graphql.CollectFields(ctx, sel, __EnumValueImplementors)
  1064  
  1065  	out := graphql.NewOrderedMap(len(fields))
  1066  	invalid := false
  1067  	for i, field := range fields {
  1068  		out.Keys[i] = field.Alias
  1069  
  1070  		switch field.Name {
  1071  		case "__typename":
  1072  			out.Values[i] = graphql.MarshalString("__EnumValue")
  1073  		case "name":
  1074  			out.Values[i] = ec.___EnumValue_name(ctx, field, obj)
  1075  			if out.Values[i] == graphql.Null {
  1076  				invalid = true
  1077  			}
  1078  		case "description":
  1079  			out.Values[i] = ec.___EnumValue_description(ctx, field, obj)
  1080  		case "isDeprecated":
  1081  			out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj)
  1082  			if out.Values[i] == graphql.Null {
  1083  				invalid = true
  1084  			}
  1085  		case "deprecationReason":
  1086  			out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj)
  1087  		default:
  1088  			panic("unknown field " + strconv.Quote(field.Name))
  1089  		}
  1090  	}
  1091  
  1092  	if invalid {
  1093  		return graphql.Null
  1094  	}
  1095  	return out
  1096  }
  1097  
  1098  // nolint: vetshadow
  1099  func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
  1100  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1101  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1102  	rctx := &graphql.ResolverContext{
  1103  		Object: "__EnumValue",
  1104  		Args:   nil,
  1105  		Field:  field,
  1106  	}
  1107  	ctx = graphql.WithResolverContext(ctx, rctx)
  1108  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1109  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1110  		ctx = rctx // use context from middleware stack in children
  1111  		return obj.Name, nil
  1112  	})
  1113  	if resTmp == nil {
  1114  		if !ec.HasError(rctx) {
  1115  			ec.Errorf(ctx, "must not be null")
  1116  		}
  1117  		return graphql.Null
  1118  	}
  1119  	res := resTmp.(string)
  1120  	rctx.Result = res
  1121  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1122  	return graphql.MarshalString(res)
  1123  }
  1124  
  1125  // nolint: vetshadow
  1126  func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
  1127  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1128  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1129  	rctx := &graphql.ResolverContext{
  1130  		Object: "__EnumValue",
  1131  		Args:   nil,
  1132  		Field:  field,
  1133  	}
  1134  	ctx = graphql.WithResolverContext(ctx, rctx)
  1135  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1136  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1137  		ctx = rctx // use context from middleware stack in children
  1138  		return obj.Description, nil
  1139  	})
  1140  	if resTmp == nil {
  1141  		return graphql.Null
  1142  	}
  1143  	res := resTmp.(string)
  1144  	rctx.Result = res
  1145  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1146  	return graphql.MarshalString(res)
  1147  }
  1148  
  1149  // nolint: vetshadow
  1150  func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
  1151  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1152  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1153  	rctx := &graphql.ResolverContext{
  1154  		Object: "__EnumValue",
  1155  		Args:   nil,
  1156  		Field:  field,
  1157  	}
  1158  	ctx = graphql.WithResolverContext(ctx, rctx)
  1159  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1160  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1161  		ctx = rctx // use context from middleware stack in children
  1162  		return obj.IsDeprecated(), nil
  1163  	})
  1164  	if resTmp == nil {
  1165  		if !ec.HasError(rctx) {
  1166  			ec.Errorf(ctx, "must not be null")
  1167  		}
  1168  		return graphql.Null
  1169  	}
  1170  	res := resTmp.(bool)
  1171  	rctx.Result = res
  1172  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1173  	return graphql.MarshalBoolean(res)
  1174  }
  1175  
  1176  // nolint: vetshadow
  1177  func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) graphql.Marshaler {
  1178  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1179  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1180  	rctx := &graphql.ResolverContext{
  1181  		Object: "__EnumValue",
  1182  		Args:   nil,
  1183  		Field:  field,
  1184  	}
  1185  	ctx = graphql.WithResolverContext(ctx, rctx)
  1186  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1187  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1188  		ctx = rctx // use context from middleware stack in children
  1189  		return obj.DeprecationReason(), nil
  1190  	})
  1191  	if resTmp == nil {
  1192  		return graphql.Null
  1193  	}
  1194  	res := resTmp.(*string)
  1195  	rctx.Result = res
  1196  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1197  
  1198  	if res == nil {
  1199  		return graphql.Null
  1200  	}
  1201  	return graphql.MarshalString(*res)
  1202  }
  1203  
  1204  var __FieldImplementors = []string{"__Field"}
  1205  
  1206  // nolint: gocyclo, errcheck, gas, goconst
  1207  func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler {
  1208  	fields := graphql.CollectFields(ctx, sel, __FieldImplementors)
  1209  
  1210  	out := graphql.NewOrderedMap(len(fields))
  1211  	invalid := false
  1212  	for i, field := range fields {
  1213  		out.Keys[i] = field.Alias
  1214  
  1215  		switch field.Name {
  1216  		case "__typename":
  1217  			out.Values[i] = graphql.MarshalString("__Field")
  1218  		case "name":
  1219  			out.Values[i] = ec.___Field_name(ctx, field, obj)
  1220  			if out.Values[i] == graphql.Null {
  1221  				invalid = true
  1222  			}
  1223  		case "description":
  1224  			out.Values[i] = ec.___Field_description(ctx, field, obj)
  1225  		case "args":
  1226  			out.Values[i] = ec.___Field_args(ctx, field, obj)
  1227  			if out.Values[i] == graphql.Null {
  1228  				invalid = true
  1229  			}
  1230  		case "type":
  1231  			out.Values[i] = ec.___Field_type(ctx, field, obj)
  1232  			if out.Values[i] == graphql.Null {
  1233  				invalid = true
  1234  			}
  1235  		case "isDeprecated":
  1236  			out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj)
  1237  			if out.Values[i] == graphql.Null {
  1238  				invalid = true
  1239  			}
  1240  		case "deprecationReason":
  1241  			out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj)
  1242  		default:
  1243  			panic("unknown field " + strconv.Quote(field.Name))
  1244  		}
  1245  	}
  1246  
  1247  	if invalid {
  1248  		return graphql.Null
  1249  	}
  1250  	return out
  1251  }
  1252  
  1253  // nolint: vetshadow
  1254  func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
  1255  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1256  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1257  	rctx := &graphql.ResolverContext{
  1258  		Object: "__Field",
  1259  		Args:   nil,
  1260  		Field:  field,
  1261  	}
  1262  	ctx = graphql.WithResolverContext(ctx, rctx)
  1263  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1264  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1265  		ctx = rctx // use context from middleware stack in children
  1266  		return obj.Name, nil
  1267  	})
  1268  	if resTmp == nil {
  1269  		if !ec.HasError(rctx) {
  1270  			ec.Errorf(ctx, "must not be null")
  1271  		}
  1272  		return graphql.Null
  1273  	}
  1274  	res := resTmp.(string)
  1275  	rctx.Result = res
  1276  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1277  	return graphql.MarshalString(res)
  1278  }
  1279  
  1280  // nolint: vetshadow
  1281  func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
  1282  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1283  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1284  	rctx := &graphql.ResolverContext{
  1285  		Object: "__Field",
  1286  		Args:   nil,
  1287  		Field:  field,
  1288  	}
  1289  	ctx = graphql.WithResolverContext(ctx, rctx)
  1290  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1291  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1292  		ctx = rctx // use context from middleware stack in children
  1293  		return obj.Description, nil
  1294  	})
  1295  	if resTmp == nil {
  1296  		return graphql.Null
  1297  	}
  1298  	res := resTmp.(string)
  1299  	rctx.Result = res
  1300  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1301  	return graphql.MarshalString(res)
  1302  }
  1303  
  1304  // nolint: vetshadow
  1305  func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
  1306  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1307  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1308  	rctx := &graphql.ResolverContext{
  1309  		Object: "__Field",
  1310  		Args:   nil,
  1311  		Field:  field,
  1312  	}
  1313  	ctx = graphql.WithResolverContext(ctx, rctx)
  1314  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1315  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1316  		ctx = rctx // use context from middleware stack in children
  1317  		return obj.Args, nil
  1318  	})
  1319  	if resTmp == nil {
  1320  		if !ec.HasError(rctx) {
  1321  			ec.Errorf(ctx, "must not be null")
  1322  		}
  1323  		return graphql.Null
  1324  	}
  1325  	res := resTmp.([]introspection.InputValue)
  1326  	rctx.Result = res
  1327  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1328  
  1329  	arr1 := make(graphql.Array, len(res))
  1330  	var wg sync.WaitGroup
  1331  
  1332  	isLen1 := len(res) == 1
  1333  	if !isLen1 {
  1334  		wg.Add(len(res))
  1335  	}
  1336  
  1337  	for idx1 := range res {
  1338  		idx1 := idx1
  1339  		rctx := &graphql.ResolverContext{
  1340  			Index:  &idx1,
  1341  			Result: &res[idx1],
  1342  		}
  1343  		ctx := graphql.WithResolverContext(ctx, rctx)
  1344  		f := func(idx1 int) {
  1345  			if !isLen1 {
  1346  				defer wg.Done()
  1347  			}
  1348  			arr1[idx1] = func() graphql.Marshaler {
  1349  
  1350  				return ec.___InputValue(ctx, field.Selections, &res[idx1])
  1351  			}()
  1352  		}
  1353  		if isLen1 {
  1354  			f(idx1)
  1355  		} else {
  1356  			go f(idx1)
  1357  		}
  1358  
  1359  	}
  1360  	wg.Wait()
  1361  	return arr1
  1362  }
  1363  
  1364  // nolint: vetshadow
  1365  func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
  1366  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1367  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1368  	rctx := &graphql.ResolverContext{
  1369  		Object: "__Field",
  1370  		Args:   nil,
  1371  		Field:  field,
  1372  	}
  1373  	ctx = graphql.WithResolverContext(ctx, rctx)
  1374  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1375  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1376  		ctx = rctx // use context from middleware stack in children
  1377  		return obj.Type, nil
  1378  	})
  1379  	if resTmp == nil {
  1380  		if !ec.HasError(rctx) {
  1381  			ec.Errorf(ctx, "must not be null")
  1382  		}
  1383  		return graphql.Null
  1384  	}
  1385  	res := resTmp.(*introspection.Type)
  1386  	rctx.Result = res
  1387  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1388  
  1389  	if res == nil {
  1390  		if !ec.HasError(rctx) {
  1391  			ec.Errorf(ctx, "must not be null")
  1392  		}
  1393  		return graphql.Null
  1394  	}
  1395  
  1396  	return ec.___Type(ctx, field.Selections, res)
  1397  }
  1398  
  1399  // nolint: vetshadow
  1400  func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
  1401  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1402  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1403  	rctx := &graphql.ResolverContext{
  1404  		Object: "__Field",
  1405  		Args:   nil,
  1406  		Field:  field,
  1407  	}
  1408  	ctx = graphql.WithResolverContext(ctx, rctx)
  1409  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1410  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1411  		ctx = rctx // use context from middleware stack in children
  1412  		return obj.IsDeprecated(), nil
  1413  	})
  1414  	if resTmp == nil {
  1415  		if !ec.HasError(rctx) {
  1416  			ec.Errorf(ctx, "must not be null")
  1417  		}
  1418  		return graphql.Null
  1419  	}
  1420  	res := resTmp.(bool)
  1421  	rctx.Result = res
  1422  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1423  	return graphql.MarshalBoolean(res)
  1424  }
  1425  
  1426  // nolint: vetshadow
  1427  func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) graphql.Marshaler {
  1428  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1429  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1430  	rctx := &graphql.ResolverContext{
  1431  		Object: "__Field",
  1432  		Args:   nil,
  1433  		Field:  field,
  1434  	}
  1435  	ctx = graphql.WithResolverContext(ctx, rctx)
  1436  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1437  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1438  		ctx = rctx // use context from middleware stack in children
  1439  		return obj.DeprecationReason(), nil
  1440  	})
  1441  	if resTmp == nil {
  1442  		return graphql.Null
  1443  	}
  1444  	res := resTmp.(*string)
  1445  	rctx.Result = res
  1446  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1447  
  1448  	if res == nil {
  1449  		return graphql.Null
  1450  	}
  1451  	return graphql.MarshalString(*res)
  1452  }
  1453  
  1454  var __InputValueImplementors = []string{"__InputValue"}
  1455  
  1456  // nolint: gocyclo, errcheck, gas, goconst
  1457  func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler {
  1458  	fields := graphql.CollectFields(ctx, sel, __InputValueImplementors)
  1459  
  1460  	out := graphql.NewOrderedMap(len(fields))
  1461  	invalid := false
  1462  	for i, field := range fields {
  1463  		out.Keys[i] = field.Alias
  1464  
  1465  		switch field.Name {
  1466  		case "__typename":
  1467  			out.Values[i] = graphql.MarshalString("__InputValue")
  1468  		case "name":
  1469  			out.Values[i] = ec.___InputValue_name(ctx, field, obj)
  1470  			if out.Values[i] == graphql.Null {
  1471  				invalid = true
  1472  			}
  1473  		case "description":
  1474  			out.Values[i] = ec.___InputValue_description(ctx, field, obj)
  1475  		case "type":
  1476  			out.Values[i] = ec.___InputValue_type(ctx, field, obj)
  1477  			if out.Values[i] == graphql.Null {
  1478  				invalid = true
  1479  			}
  1480  		case "defaultValue":
  1481  			out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj)
  1482  		default:
  1483  			panic("unknown field " + strconv.Quote(field.Name))
  1484  		}
  1485  	}
  1486  
  1487  	if invalid {
  1488  		return graphql.Null
  1489  	}
  1490  	return out
  1491  }
  1492  
  1493  // nolint: vetshadow
  1494  func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
  1495  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1496  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1497  	rctx := &graphql.ResolverContext{
  1498  		Object: "__InputValue",
  1499  		Args:   nil,
  1500  		Field:  field,
  1501  	}
  1502  	ctx = graphql.WithResolverContext(ctx, rctx)
  1503  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1504  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1505  		ctx = rctx // use context from middleware stack in children
  1506  		return obj.Name, nil
  1507  	})
  1508  	if resTmp == nil {
  1509  		if !ec.HasError(rctx) {
  1510  			ec.Errorf(ctx, "must not be null")
  1511  		}
  1512  		return graphql.Null
  1513  	}
  1514  	res := resTmp.(string)
  1515  	rctx.Result = res
  1516  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1517  	return graphql.MarshalString(res)
  1518  }
  1519  
  1520  // nolint: vetshadow
  1521  func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
  1522  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1523  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1524  	rctx := &graphql.ResolverContext{
  1525  		Object: "__InputValue",
  1526  		Args:   nil,
  1527  		Field:  field,
  1528  	}
  1529  	ctx = graphql.WithResolverContext(ctx, rctx)
  1530  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1531  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1532  		ctx = rctx // use context from middleware stack in children
  1533  		return obj.Description, nil
  1534  	})
  1535  	if resTmp == nil {
  1536  		return graphql.Null
  1537  	}
  1538  	res := resTmp.(string)
  1539  	rctx.Result = res
  1540  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1541  	return graphql.MarshalString(res)
  1542  }
  1543  
  1544  // nolint: vetshadow
  1545  func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
  1546  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1547  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1548  	rctx := &graphql.ResolverContext{
  1549  		Object: "__InputValue",
  1550  		Args:   nil,
  1551  		Field:  field,
  1552  	}
  1553  	ctx = graphql.WithResolverContext(ctx, rctx)
  1554  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1555  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1556  		ctx = rctx // use context from middleware stack in children
  1557  		return obj.Type, nil
  1558  	})
  1559  	if resTmp == nil {
  1560  		if !ec.HasError(rctx) {
  1561  			ec.Errorf(ctx, "must not be null")
  1562  		}
  1563  		return graphql.Null
  1564  	}
  1565  	res := resTmp.(*introspection.Type)
  1566  	rctx.Result = res
  1567  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1568  
  1569  	if res == nil {
  1570  		if !ec.HasError(rctx) {
  1571  			ec.Errorf(ctx, "must not be null")
  1572  		}
  1573  		return graphql.Null
  1574  	}
  1575  
  1576  	return ec.___Type(ctx, field.Selections, res)
  1577  }
  1578  
  1579  // nolint: vetshadow
  1580  func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) graphql.Marshaler {
  1581  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1582  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1583  	rctx := &graphql.ResolverContext{
  1584  		Object: "__InputValue",
  1585  		Args:   nil,
  1586  		Field:  field,
  1587  	}
  1588  	ctx = graphql.WithResolverContext(ctx, rctx)
  1589  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1590  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1591  		ctx = rctx // use context from middleware stack in children
  1592  		return obj.DefaultValue, nil
  1593  	})
  1594  	if resTmp == nil {
  1595  		return graphql.Null
  1596  	}
  1597  	res := resTmp.(*string)
  1598  	rctx.Result = res
  1599  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1600  
  1601  	if res == nil {
  1602  		return graphql.Null
  1603  	}
  1604  	return graphql.MarshalString(*res)
  1605  }
  1606  
  1607  var __SchemaImplementors = []string{"__Schema"}
  1608  
  1609  // nolint: gocyclo, errcheck, gas, goconst
  1610  func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler {
  1611  	fields := graphql.CollectFields(ctx, sel, __SchemaImplementors)
  1612  
  1613  	out := graphql.NewOrderedMap(len(fields))
  1614  	invalid := false
  1615  	for i, field := range fields {
  1616  		out.Keys[i] = field.Alias
  1617  
  1618  		switch field.Name {
  1619  		case "__typename":
  1620  			out.Values[i] = graphql.MarshalString("__Schema")
  1621  		case "types":
  1622  			out.Values[i] = ec.___Schema_types(ctx, field, obj)
  1623  			if out.Values[i] == graphql.Null {
  1624  				invalid = true
  1625  			}
  1626  		case "queryType":
  1627  			out.Values[i] = ec.___Schema_queryType(ctx, field, obj)
  1628  			if out.Values[i] == graphql.Null {
  1629  				invalid = true
  1630  			}
  1631  		case "mutationType":
  1632  			out.Values[i] = ec.___Schema_mutationType(ctx, field, obj)
  1633  		case "subscriptionType":
  1634  			out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj)
  1635  		case "directives":
  1636  			out.Values[i] = ec.___Schema_directives(ctx, field, obj)
  1637  			if out.Values[i] == graphql.Null {
  1638  				invalid = true
  1639  			}
  1640  		default:
  1641  			panic("unknown field " + strconv.Quote(field.Name))
  1642  		}
  1643  	}
  1644  
  1645  	if invalid {
  1646  		return graphql.Null
  1647  	}
  1648  	return out
  1649  }
  1650  
  1651  // nolint: vetshadow
  1652  func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
  1653  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1654  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1655  	rctx := &graphql.ResolverContext{
  1656  		Object: "__Schema",
  1657  		Args:   nil,
  1658  		Field:  field,
  1659  	}
  1660  	ctx = graphql.WithResolverContext(ctx, rctx)
  1661  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1662  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1663  		ctx = rctx // use context from middleware stack in children
  1664  		return obj.Types(), nil
  1665  	})
  1666  	if resTmp == nil {
  1667  		if !ec.HasError(rctx) {
  1668  			ec.Errorf(ctx, "must not be null")
  1669  		}
  1670  		return graphql.Null
  1671  	}
  1672  	res := resTmp.([]introspection.Type)
  1673  	rctx.Result = res
  1674  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1675  
  1676  	arr1 := make(graphql.Array, len(res))
  1677  	var wg sync.WaitGroup
  1678  
  1679  	isLen1 := len(res) == 1
  1680  	if !isLen1 {
  1681  		wg.Add(len(res))
  1682  	}
  1683  
  1684  	for idx1 := range res {
  1685  		idx1 := idx1
  1686  		rctx := &graphql.ResolverContext{
  1687  			Index:  &idx1,
  1688  			Result: &res[idx1],
  1689  		}
  1690  		ctx := graphql.WithResolverContext(ctx, rctx)
  1691  		f := func(idx1 int) {
  1692  			if !isLen1 {
  1693  				defer wg.Done()
  1694  			}
  1695  			arr1[idx1] = func() graphql.Marshaler {
  1696  
  1697  				return ec.___Type(ctx, field.Selections, &res[idx1])
  1698  			}()
  1699  		}
  1700  		if isLen1 {
  1701  			f(idx1)
  1702  		} else {
  1703  			go f(idx1)
  1704  		}
  1705  
  1706  	}
  1707  	wg.Wait()
  1708  	return arr1
  1709  }
  1710  
  1711  // nolint: vetshadow
  1712  func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
  1713  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1714  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1715  	rctx := &graphql.ResolverContext{
  1716  		Object: "__Schema",
  1717  		Args:   nil,
  1718  		Field:  field,
  1719  	}
  1720  	ctx = graphql.WithResolverContext(ctx, rctx)
  1721  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1722  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1723  		ctx = rctx // use context from middleware stack in children
  1724  		return obj.QueryType(), nil
  1725  	})
  1726  	if resTmp == nil {
  1727  		if !ec.HasError(rctx) {
  1728  			ec.Errorf(ctx, "must not be null")
  1729  		}
  1730  		return graphql.Null
  1731  	}
  1732  	res := resTmp.(*introspection.Type)
  1733  	rctx.Result = res
  1734  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1735  
  1736  	if res == nil {
  1737  		if !ec.HasError(rctx) {
  1738  			ec.Errorf(ctx, "must not be null")
  1739  		}
  1740  		return graphql.Null
  1741  	}
  1742  
  1743  	return ec.___Type(ctx, field.Selections, res)
  1744  }
  1745  
  1746  // nolint: vetshadow
  1747  func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
  1748  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1749  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1750  	rctx := &graphql.ResolverContext{
  1751  		Object: "__Schema",
  1752  		Args:   nil,
  1753  		Field:  field,
  1754  	}
  1755  	ctx = graphql.WithResolverContext(ctx, rctx)
  1756  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1757  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1758  		ctx = rctx // use context from middleware stack in children
  1759  		return obj.MutationType(), nil
  1760  	})
  1761  	if resTmp == nil {
  1762  		return graphql.Null
  1763  	}
  1764  	res := resTmp.(*introspection.Type)
  1765  	rctx.Result = res
  1766  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1767  
  1768  	if res == nil {
  1769  		return graphql.Null
  1770  	}
  1771  
  1772  	return ec.___Type(ctx, field.Selections, res)
  1773  }
  1774  
  1775  // nolint: vetshadow
  1776  func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
  1777  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1778  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1779  	rctx := &graphql.ResolverContext{
  1780  		Object: "__Schema",
  1781  		Args:   nil,
  1782  		Field:  field,
  1783  	}
  1784  	ctx = graphql.WithResolverContext(ctx, rctx)
  1785  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1786  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1787  		ctx = rctx // use context from middleware stack in children
  1788  		return obj.SubscriptionType(), nil
  1789  	})
  1790  	if resTmp == nil {
  1791  		return graphql.Null
  1792  	}
  1793  	res := resTmp.(*introspection.Type)
  1794  	rctx.Result = res
  1795  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1796  
  1797  	if res == nil {
  1798  		return graphql.Null
  1799  	}
  1800  
  1801  	return ec.___Type(ctx, field.Selections, res)
  1802  }
  1803  
  1804  // nolint: vetshadow
  1805  func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) graphql.Marshaler {
  1806  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1807  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1808  	rctx := &graphql.ResolverContext{
  1809  		Object: "__Schema",
  1810  		Args:   nil,
  1811  		Field:  field,
  1812  	}
  1813  	ctx = graphql.WithResolverContext(ctx, rctx)
  1814  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1815  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1816  		ctx = rctx // use context from middleware stack in children
  1817  		return obj.Directives(), nil
  1818  	})
  1819  	if resTmp == nil {
  1820  		if !ec.HasError(rctx) {
  1821  			ec.Errorf(ctx, "must not be null")
  1822  		}
  1823  		return graphql.Null
  1824  	}
  1825  	res := resTmp.([]introspection.Directive)
  1826  	rctx.Result = res
  1827  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1828  
  1829  	arr1 := make(graphql.Array, len(res))
  1830  	var wg sync.WaitGroup
  1831  
  1832  	isLen1 := len(res) == 1
  1833  	if !isLen1 {
  1834  		wg.Add(len(res))
  1835  	}
  1836  
  1837  	for idx1 := range res {
  1838  		idx1 := idx1
  1839  		rctx := &graphql.ResolverContext{
  1840  			Index:  &idx1,
  1841  			Result: &res[idx1],
  1842  		}
  1843  		ctx := graphql.WithResolverContext(ctx, rctx)
  1844  		f := func(idx1 int) {
  1845  			if !isLen1 {
  1846  				defer wg.Done()
  1847  			}
  1848  			arr1[idx1] = func() graphql.Marshaler {
  1849  
  1850  				return ec.___Directive(ctx, field.Selections, &res[idx1])
  1851  			}()
  1852  		}
  1853  		if isLen1 {
  1854  			f(idx1)
  1855  		} else {
  1856  			go f(idx1)
  1857  		}
  1858  
  1859  	}
  1860  	wg.Wait()
  1861  	return arr1
  1862  }
  1863  
  1864  var __TypeImplementors = []string{"__Type"}
  1865  
  1866  // nolint: gocyclo, errcheck, gas, goconst
  1867  func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler {
  1868  	fields := graphql.CollectFields(ctx, sel, __TypeImplementors)
  1869  
  1870  	out := graphql.NewOrderedMap(len(fields))
  1871  	invalid := false
  1872  	for i, field := range fields {
  1873  		out.Keys[i] = field.Alias
  1874  
  1875  		switch field.Name {
  1876  		case "__typename":
  1877  			out.Values[i] = graphql.MarshalString("__Type")
  1878  		case "kind":
  1879  			out.Values[i] = ec.___Type_kind(ctx, field, obj)
  1880  			if out.Values[i] == graphql.Null {
  1881  				invalid = true
  1882  			}
  1883  		case "name":
  1884  			out.Values[i] = ec.___Type_name(ctx, field, obj)
  1885  		case "description":
  1886  			out.Values[i] = ec.___Type_description(ctx, field, obj)
  1887  		case "fields":
  1888  			out.Values[i] = ec.___Type_fields(ctx, field, obj)
  1889  		case "interfaces":
  1890  			out.Values[i] = ec.___Type_interfaces(ctx, field, obj)
  1891  		case "possibleTypes":
  1892  			out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj)
  1893  		case "enumValues":
  1894  			out.Values[i] = ec.___Type_enumValues(ctx, field, obj)
  1895  		case "inputFields":
  1896  			out.Values[i] = ec.___Type_inputFields(ctx, field, obj)
  1897  		case "ofType":
  1898  			out.Values[i] = ec.___Type_ofType(ctx, field, obj)
  1899  		default:
  1900  			panic("unknown field " + strconv.Quote(field.Name))
  1901  		}
  1902  	}
  1903  
  1904  	if invalid {
  1905  		return graphql.Null
  1906  	}
  1907  	return out
  1908  }
  1909  
  1910  // nolint: vetshadow
  1911  func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  1912  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1913  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1914  	rctx := &graphql.ResolverContext{
  1915  		Object: "__Type",
  1916  		Args:   nil,
  1917  		Field:  field,
  1918  	}
  1919  	ctx = graphql.WithResolverContext(ctx, rctx)
  1920  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1921  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1922  		ctx = rctx // use context from middleware stack in children
  1923  		return obj.Kind(), nil
  1924  	})
  1925  	if resTmp == nil {
  1926  		if !ec.HasError(rctx) {
  1927  			ec.Errorf(ctx, "must not be null")
  1928  		}
  1929  		return graphql.Null
  1930  	}
  1931  	res := resTmp.(string)
  1932  	rctx.Result = res
  1933  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1934  	return graphql.MarshalString(res)
  1935  }
  1936  
  1937  // nolint: vetshadow
  1938  func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  1939  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1940  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1941  	rctx := &graphql.ResolverContext{
  1942  		Object: "__Type",
  1943  		Args:   nil,
  1944  		Field:  field,
  1945  	}
  1946  	ctx = graphql.WithResolverContext(ctx, rctx)
  1947  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1948  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1949  		ctx = rctx // use context from middleware stack in children
  1950  		return obj.Name(), nil
  1951  	})
  1952  	if resTmp == nil {
  1953  		return graphql.Null
  1954  	}
  1955  	res := resTmp.(*string)
  1956  	rctx.Result = res
  1957  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1958  
  1959  	if res == nil {
  1960  		return graphql.Null
  1961  	}
  1962  	return graphql.MarshalString(*res)
  1963  }
  1964  
  1965  // nolint: vetshadow
  1966  func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  1967  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1968  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1969  	rctx := &graphql.ResolverContext{
  1970  		Object: "__Type",
  1971  		Args:   nil,
  1972  		Field:  field,
  1973  	}
  1974  	ctx = graphql.WithResolverContext(ctx, rctx)
  1975  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  1976  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  1977  		ctx = rctx // use context from middleware stack in children
  1978  		return obj.Description(), nil
  1979  	})
  1980  	if resTmp == nil {
  1981  		return graphql.Null
  1982  	}
  1983  	res := resTmp.(string)
  1984  	rctx.Result = res
  1985  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  1986  	return graphql.MarshalString(res)
  1987  }
  1988  
  1989  // nolint: vetshadow
  1990  func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  1991  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  1992  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  1993  	rawArgs := field.ArgumentMap(ec.Variables)
  1994  	args, err := field___Type_fields_args(rawArgs)
  1995  	if err != nil {
  1996  		ec.Error(ctx, err)
  1997  		return graphql.Null
  1998  	}
  1999  	rctx := &graphql.ResolverContext{
  2000  		Object: "__Type",
  2001  		Args:   args,
  2002  		Field:  field,
  2003  	}
  2004  	ctx = graphql.WithResolverContext(ctx, rctx)
  2005  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  2006  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  2007  		ctx = rctx // use context from middleware stack in children
  2008  		return obj.Fields(args["includeDeprecated"].(bool)), nil
  2009  	})
  2010  	if resTmp == nil {
  2011  		return graphql.Null
  2012  	}
  2013  	res := resTmp.([]introspection.Field)
  2014  	rctx.Result = res
  2015  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  2016  
  2017  	arr1 := make(graphql.Array, len(res))
  2018  	var wg sync.WaitGroup
  2019  
  2020  	isLen1 := len(res) == 1
  2021  	if !isLen1 {
  2022  		wg.Add(len(res))
  2023  	}
  2024  
  2025  	for idx1 := range res {
  2026  		idx1 := idx1
  2027  		rctx := &graphql.ResolverContext{
  2028  			Index:  &idx1,
  2029  			Result: &res[idx1],
  2030  		}
  2031  		ctx := graphql.WithResolverContext(ctx, rctx)
  2032  		f := func(idx1 int) {
  2033  			if !isLen1 {
  2034  				defer wg.Done()
  2035  			}
  2036  			arr1[idx1] = func() graphql.Marshaler {
  2037  
  2038  				return ec.___Field(ctx, field.Selections, &res[idx1])
  2039  			}()
  2040  		}
  2041  		if isLen1 {
  2042  			f(idx1)
  2043  		} else {
  2044  			go f(idx1)
  2045  		}
  2046  
  2047  	}
  2048  	wg.Wait()
  2049  	return arr1
  2050  }
  2051  
  2052  // nolint: vetshadow
  2053  func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  2054  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  2055  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  2056  	rctx := &graphql.ResolverContext{
  2057  		Object: "__Type",
  2058  		Args:   nil,
  2059  		Field:  field,
  2060  	}
  2061  	ctx = graphql.WithResolverContext(ctx, rctx)
  2062  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  2063  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  2064  		ctx = rctx // use context from middleware stack in children
  2065  		return obj.Interfaces(), nil
  2066  	})
  2067  	if resTmp == nil {
  2068  		return graphql.Null
  2069  	}
  2070  	res := resTmp.([]introspection.Type)
  2071  	rctx.Result = res
  2072  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  2073  
  2074  	arr1 := make(graphql.Array, len(res))
  2075  	var wg sync.WaitGroup
  2076  
  2077  	isLen1 := len(res) == 1
  2078  	if !isLen1 {
  2079  		wg.Add(len(res))
  2080  	}
  2081  
  2082  	for idx1 := range res {
  2083  		idx1 := idx1
  2084  		rctx := &graphql.ResolverContext{
  2085  			Index:  &idx1,
  2086  			Result: &res[idx1],
  2087  		}
  2088  		ctx := graphql.WithResolverContext(ctx, rctx)
  2089  		f := func(idx1 int) {
  2090  			if !isLen1 {
  2091  				defer wg.Done()
  2092  			}
  2093  			arr1[idx1] = func() graphql.Marshaler {
  2094  
  2095  				return ec.___Type(ctx, field.Selections, &res[idx1])
  2096  			}()
  2097  		}
  2098  		if isLen1 {
  2099  			f(idx1)
  2100  		} else {
  2101  			go f(idx1)
  2102  		}
  2103  
  2104  	}
  2105  	wg.Wait()
  2106  	return arr1
  2107  }
  2108  
  2109  // nolint: vetshadow
  2110  func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  2111  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  2112  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  2113  	rctx := &graphql.ResolverContext{
  2114  		Object: "__Type",
  2115  		Args:   nil,
  2116  		Field:  field,
  2117  	}
  2118  	ctx = graphql.WithResolverContext(ctx, rctx)
  2119  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  2120  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  2121  		ctx = rctx // use context from middleware stack in children
  2122  		return obj.PossibleTypes(), nil
  2123  	})
  2124  	if resTmp == nil {
  2125  		return graphql.Null
  2126  	}
  2127  	res := resTmp.([]introspection.Type)
  2128  	rctx.Result = res
  2129  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  2130  
  2131  	arr1 := make(graphql.Array, len(res))
  2132  	var wg sync.WaitGroup
  2133  
  2134  	isLen1 := len(res) == 1
  2135  	if !isLen1 {
  2136  		wg.Add(len(res))
  2137  	}
  2138  
  2139  	for idx1 := range res {
  2140  		idx1 := idx1
  2141  		rctx := &graphql.ResolverContext{
  2142  			Index:  &idx1,
  2143  			Result: &res[idx1],
  2144  		}
  2145  		ctx := graphql.WithResolverContext(ctx, rctx)
  2146  		f := func(idx1 int) {
  2147  			if !isLen1 {
  2148  				defer wg.Done()
  2149  			}
  2150  			arr1[idx1] = func() graphql.Marshaler {
  2151  
  2152  				return ec.___Type(ctx, field.Selections, &res[idx1])
  2153  			}()
  2154  		}
  2155  		if isLen1 {
  2156  			f(idx1)
  2157  		} else {
  2158  			go f(idx1)
  2159  		}
  2160  
  2161  	}
  2162  	wg.Wait()
  2163  	return arr1
  2164  }
  2165  
  2166  // nolint: vetshadow
  2167  func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  2168  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  2169  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  2170  	rawArgs := field.ArgumentMap(ec.Variables)
  2171  	args, err := field___Type_enumValues_args(rawArgs)
  2172  	if err != nil {
  2173  		ec.Error(ctx, err)
  2174  		return graphql.Null
  2175  	}
  2176  	rctx := &graphql.ResolverContext{
  2177  		Object: "__Type",
  2178  		Args:   args,
  2179  		Field:  field,
  2180  	}
  2181  	ctx = graphql.WithResolverContext(ctx, rctx)
  2182  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  2183  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  2184  		ctx = rctx // use context from middleware stack in children
  2185  		return obj.EnumValues(args["includeDeprecated"].(bool)), nil
  2186  	})
  2187  	if resTmp == nil {
  2188  		return graphql.Null
  2189  	}
  2190  	res := resTmp.([]introspection.EnumValue)
  2191  	rctx.Result = res
  2192  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  2193  
  2194  	arr1 := make(graphql.Array, len(res))
  2195  	var wg sync.WaitGroup
  2196  
  2197  	isLen1 := len(res) == 1
  2198  	if !isLen1 {
  2199  		wg.Add(len(res))
  2200  	}
  2201  
  2202  	for idx1 := range res {
  2203  		idx1 := idx1
  2204  		rctx := &graphql.ResolverContext{
  2205  			Index:  &idx1,
  2206  			Result: &res[idx1],
  2207  		}
  2208  		ctx := graphql.WithResolverContext(ctx, rctx)
  2209  		f := func(idx1 int) {
  2210  			if !isLen1 {
  2211  				defer wg.Done()
  2212  			}
  2213  			arr1[idx1] = func() graphql.Marshaler {
  2214  
  2215  				return ec.___EnumValue(ctx, field.Selections, &res[idx1])
  2216  			}()
  2217  		}
  2218  		if isLen1 {
  2219  			f(idx1)
  2220  		} else {
  2221  			go f(idx1)
  2222  		}
  2223  
  2224  	}
  2225  	wg.Wait()
  2226  	return arr1
  2227  }
  2228  
  2229  // nolint: vetshadow
  2230  func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  2231  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  2232  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  2233  	rctx := &graphql.ResolverContext{
  2234  		Object: "__Type",
  2235  		Args:   nil,
  2236  		Field:  field,
  2237  	}
  2238  	ctx = graphql.WithResolverContext(ctx, rctx)
  2239  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  2240  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  2241  		ctx = rctx // use context from middleware stack in children
  2242  		return obj.InputFields(), nil
  2243  	})
  2244  	if resTmp == nil {
  2245  		return graphql.Null
  2246  	}
  2247  	res := resTmp.([]introspection.InputValue)
  2248  	rctx.Result = res
  2249  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  2250  
  2251  	arr1 := make(graphql.Array, len(res))
  2252  	var wg sync.WaitGroup
  2253  
  2254  	isLen1 := len(res) == 1
  2255  	if !isLen1 {
  2256  		wg.Add(len(res))
  2257  	}
  2258  
  2259  	for idx1 := range res {
  2260  		idx1 := idx1
  2261  		rctx := &graphql.ResolverContext{
  2262  			Index:  &idx1,
  2263  			Result: &res[idx1],
  2264  		}
  2265  		ctx := graphql.WithResolverContext(ctx, rctx)
  2266  		f := func(idx1 int) {
  2267  			if !isLen1 {
  2268  				defer wg.Done()
  2269  			}
  2270  			arr1[idx1] = func() graphql.Marshaler {
  2271  
  2272  				return ec.___InputValue(ctx, field.Selections, &res[idx1])
  2273  			}()
  2274  		}
  2275  		if isLen1 {
  2276  			f(idx1)
  2277  		} else {
  2278  			go f(idx1)
  2279  		}
  2280  
  2281  	}
  2282  	wg.Wait()
  2283  	return arr1
  2284  }
  2285  
  2286  // nolint: vetshadow
  2287  func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) graphql.Marshaler {
  2288  	ctx = ec.Tracer.StartFieldExecution(ctx, field)
  2289  	defer func() { ec.Tracer.EndFieldExecution(ctx) }()
  2290  	rctx := &graphql.ResolverContext{
  2291  		Object: "__Type",
  2292  		Args:   nil,
  2293  		Field:  field,
  2294  	}
  2295  	ctx = graphql.WithResolverContext(ctx, rctx)
  2296  	ctx = ec.Tracer.StartFieldResolverExecution(ctx, rctx)
  2297  	resTmp := ec.FieldMiddleware(ctx, obj, func(rctx context.Context) (interface{}, error) {
  2298  		ctx = rctx // use context from middleware stack in children
  2299  		return obj.OfType(), nil
  2300  	})
  2301  	if resTmp == nil {
  2302  		return graphql.Null
  2303  	}
  2304  	res := resTmp.(*introspection.Type)
  2305  	rctx.Result = res
  2306  	ctx = ec.Tracer.StartFieldChildExecution(ctx)
  2307  
  2308  	if res == nil {
  2309  		return graphql.Null
  2310  	}
  2311  
  2312  	return ec.___Type(ctx, field.Selections, res)
  2313  }
  2314  
  2315  func UnmarshalSearchArgs(v interface{}) (model.SearchArgs, error) {
  2316  	var it model.SearchArgs
  2317  	var asMap = v.(map[string]interface{})
  2318  
  2319  	for k, v := range asMap {
  2320  		switch k {
  2321  		case "location":
  2322  			var err error
  2323  			var ptr1 model.Point
  2324  			if v != nil {
  2325  				err = (&ptr1).UnmarshalGQL(v)
  2326  				it.Location = &ptr1
  2327  			}
  2328  
  2329  			if err != nil {
  2330  				return it, err
  2331  			}
  2332  		case "createdAfter":
  2333  			var err error
  2334  			var ptr1 time.Time
  2335  			if v != nil {
  2336  				ptr1, err = model.UnmarshalTimestamp(v)
  2337  				it.CreatedAfter = &ptr1
  2338  			}
  2339  
  2340  			if err != nil {
  2341  				return it, err
  2342  			}
  2343  		case "isBanned":
  2344  			var err error
  2345  
  2346  			var castTmp bool
  2347  			castTmp, err = graphql.UnmarshalBoolean(v)
  2348  			it.IsBanned = model.Banned(castTmp)
  2349  			if err != nil {
  2350  				return it, err
  2351  			}
  2352  		}
  2353  	}
  2354  
  2355  	return it, nil
  2356  }
  2357  
  2358  func (ec *executionContext) FieldMiddleware(ctx context.Context, obj interface{}, next graphql.Resolver) (ret interface{}) {
  2359  	defer func() {
  2360  		if r := recover(); r != nil {
  2361  			ec.Error(ctx, ec.Recover(ctx, r))
  2362  			ret = nil
  2363  		}
  2364  	}()
  2365  	res, err := ec.ResolverMiddleware(ctx, next)
  2366  	if err != nil {
  2367  		ec.Error(ctx, err)
  2368  		return nil
  2369  	}
  2370  	return res
  2371  }
  2372  
  2373  func (ec *executionContext) introspectSchema() (*introspection.Schema, error) {
  2374  	if ec.DisableIntrospection {
  2375  		return nil, errors.New("introspection disabled")
  2376  	}
  2377  	return introspection.WrapSchema(parsedSchema), nil
  2378  }
  2379  
  2380  func (ec *executionContext) introspectType(name string) (*introspection.Type, error) {
  2381  	if ec.DisableIntrospection {
  2382  		return nil, errors.New("introspection disabled")
  2383  	}
  2384  	return introspection.WrapTypeFromDef(parsedSchema, parsedSchema.Types[name]), nil
  2385  }
  2386  
  2387  var parsedSchema = gqlparser.MustLoadSchema(
  2388  	&ast.Source{Name: "schema.graphql", Input: `type Query {
  2389      user(id: ID!): User
  2390      search(input: SearchArgs = {location: "37,144", isBanned: false}): [User!]!
  2391  }
  2392  
  2393  type User {
  2394      id: ID!
  2395      name: String!
  2396      created: Timestamp
  2397      isBanned: Boolean!
  2398      primitiveResolver: String!
  2399      customResolver: Point!
  2400      address: Address
  2401      tier: Tier
  2402  }
  2403  
  2404  type Address {
  2405      id: ID!
  2406      location: Point
  2407  }
  2408  
  2409  input SearchArgs {
  2410      location: Point
  2411      createdAfter: Timestamp
  2412      isBanned: Boolean
  2413  }
  2414  
  2415  enum Tier {
  2416      A
  2417      B
  2418      C
  2419  }
  2420  
  2421  scalar Timestamp
  2422  scalar Point
  2423  `},
  2424  )