github.com/HaswinVidanage/gqlgen@v0.8.1-0.20220609041233-69528c1bf712/example/starwars/generated/exec.go (about)

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