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