github.com/mstephano/gqlgen-schemagen@v0.0.0-20230113041936-dd2cd4ea46aa/plugin/resolvergen/resolver.gotpl (about) 1 {{ reserveImport "context" }} 2 {{ reserveImport "fmt" }} 3 {{ reserveImport "io" }} 4 {{ reserveImport "strconv" }} 5 {{ reserveImport "time" }} 6 {{ reserveImport "sync" }} 7 {{ reserveImport "errors" }} 8 {{ reserveImport "bytes" }} 9 10 {{ reserveImport "github.com/vektah/gqlparser/v2" }} 11 {{ reserveImport "github.com/vektah/gqlparser/v2/ast" }} 12 {{ reserveImport "github.com/mstephano/gqlgen-schemagen/graphql" }} 13 {{ reserveImport "github.com/mstephano/gqlgen-schemagen/graphql/introspection" }} 14 15 {{ .Imports }} 16 17 {{ if .HasRoot }} 18 type {{.ResolverType}} struct {} 19 {{ end }} 20 21 {{ range $resolver := .Resolvers -}} 22 // {{ $resolver.Comment }} 23 func (r *{{lcFirst $resolver.Object.Name}}{{ucFirst $.ResolverType}}) {{$resolver.Field.GoFieldName}}{{ $resolver.Field.ShortResolverDeclaration }} { 24 {{ $resolver.Implementation }} 25 } 26 27 {{ end }} 28 29 {{ range $object := .Objects -}} 30 // {{ucFirst $object.Name}} returns {{ $object.ResolverInterface | ref }} implementation. 31 func (r *{{$.ResolverType}}) {{ucFirst $object.Name}}() {{ $object.ResolverInterface | ref }} { return &{{lcFirst $object.Name}}{{ucFirst $.ResolverType}}{r} } 32 {{ end }} 33 34 {{ range $object := .Objects -}} 35 type {{lcFirst $object.Name}}{{ucFirst $.ResolverType}} struct { *{{$.ResolverType}} } 36 {{ end }} 37 38 {{ if (ne .RemainingSource "") }} 39 // !!! WARNING !!! 40 // The code below was going to be deleted when updating resolvers. It has been copied here so you have 41 // one last chance to move it out of harms way if you want. There are two reasons this happens: 42 // - When renaming or deleting a resolver the old code will be put in here. You can safely delete 43 // it when you're done. 44 // - You have helper methods in this file. Move them out to keep these resolver files clean. 45 {{ .RemainingSource }} 46 {{ end }}