1{{ $field := . }}
2{{ $object := $field.Object }}
3
4{{- if $object.Stream }}
5 func (ec *executionContext) _{{$object.GQLType}}_{{$field.GQLName}}(ctx context.Context, field graphql.CollectedField) func() graphql.Marshaler {
6 {{- if $field.Args }}
7 rawArgs := field.ArgumentMap(ec.Variables)
8 args, err := {{ $field.ArgsFunc }}(rawArgs)
9 if err != nil {
10 ec.Error(ctx, err)
11 return nil
12 }
13 {{- end }}
14 ctx = graphql.WithResolverContext(ctx, &graphql.ResolverContext{
15 Field: field,
16 })
17 results, err := ec.resolvers.{{ $field.ShortInvocation }}
18 if err != nil {
19 ec.Error(ctx, err)
20 return nil
21 }
22 return func() graphql.Marshaler {
23 res, ok := <-results
24 if !ok {
25 return nil
26 }
27 var out graphql.OrderedMap
28 out.Add(field.Alias, func() graphql.Marshaler { {{ $field.WriteJson }} }())
29 return &out
30 }
31 }
32{{ else }}
33 // nolint: vetshadow
34 func (ec *executionContext) _{{$object.GQLType}}_{{$field.GQLName}}(ctx context.Context, field graphql.CollectedField, {{if not $object.Root}}obj *{{$object.FullName}}{{end}}) graphql.Marshaler {
35 {{- if $field.Args }}
36 rawArgs := field.ArgumentMap(ec.Variables)
37 args, err := {{ $field.ArgsFunc }}(rawArgs)
38 if err != nil {
39 ec.Error(ctx, err)
40 return graphql.Null
41 }
42 {{- end }}
43 rctx := &graphql.ResolverContext{
44 Object: {{$object.GQLType|quote}},
45 Args: {{if $field.Args }}args{{else}}nil{{end}},
46 Field: field,
47 }
48 ctx = graphql.WithResolverContext(ctx, rctx)
49 resTmp := ec.FieldMiddleware(ctx, {{if $object.Root}}nil{{else}}obj{{end}}, func(ctx context.Context) (interface{}, error) {
50 {{- if $field.IsResolver }}
51 return ec.resolvers.{{ $field.ShortInvocation }}
52 {{- else if $field.IsMethod }}
53 {{- if $field.NoErr }}
54 return {{$field.GoReceiverName}}.{{$field.GoFieldName}}({{ $field.CallArgs }}), nil
55 {{- else }}
56 return {{$field.GoReceiverName}}.{{$field.GoFieldName}}({{ $field.CallArgs }})
57 {{- end }}
58 {{- else if $field.IsVariable }}
59 return {{$field.GoReceiverName}}.{{$field.GoFieldName}}, nil
60 {{- end }}
61 })
62 if resTmp == nil {
63 {{- if $field.ASTType.NonNull }}
64 if !ec.HasError(rctx) {
65 ec.Errorf(ctx, "must not be null")
66 }
67 {{- end }}
68 return graphql.Null
69 }
70 res := resTmp.({{$field.Signature}})
71 rctx.Result = res
72 {{ $field.WriteJson }}
73 }
74{{ end }}