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