mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-16 11:00:42 +03:00
21 lines
617 B
Plaintext
21 lines
617 B
Plaintext
{{- range $interface := .Interfaces }}
|
|
|
|
func (ec *executionContext) _{{$interface.Name}}(ctx context.Context, sel ast.SelectionSet, obj *{{$interface.Type | ref}}) graphql.Marshaler {
|
|
switch obj := (*obj).(type) {
|
|
case nil:
|
|
return graphql.Null
|
|
{{- range $implementor := $interface.Implementors }}
|
|
{{- if $implementor.ValueReceiver }}
|
|
case {{$implementor.Type | ref}}:
|
|
return ec._{{$implementor.Name}}(ctx, sel, &obj)
|
|
{{- end}}
|
|
case *{{$implementor.Type | ref}}:
|
|
return ec._{{$implementor.Name}}(ctx, sel, obj)
|
|
{{- end }}
|
|
default:
|
|
panic(fmt.Errorf("unexpected type %T", obj))
|
|
}
|
|
}
|
|
|
|
{{- end }}
|