CommonInitialisms is a set of common initialisms. Only add entries that are highly unlikely to be non-initialisms. For instance, "ID" is fine (Freudian code is rare), but "AND" is not.
var CommonInitialisms = map[string]bool{ "ACL": true, "API": true, "ASCII": true, "CPU": true, "CSS": true, "CSV": true, "DNS": true, "EOF": true, "GUID": true, "HTML": true, "HTTP": true, "HTTPS": true, "ICMP": true, "ID": true, "IP": true, "JSON": true, "KVK": true, "LHS": true, "PDF": true, "PGP": true, "QPS": true, "QR": true, "RAM": true, "RHS": true, "RPC": true, "SLA": true, "SMTP": true, "SQL": true, "SSH": true, "SVG": true, "TCP": true, "TLS": true, "TTL": true, "UDP": true, "UI": true, "UID": true, "URI": true, "URL": true, "UTF8": true, "UUID": true, "VM": true, "XML": true, "XMPP": true, "XSRF": true, "XSS": true, }
GetInitialisms returns the initialisms to capitalize in Go names. If unchanged, default initialisms will be returned
var GetInitialisms = func() map[string]bool { return CommonInitialisms }
func Call(p *types.Func) string
func Dump(val interface{}) string
func Funcs() template.FuncMap
func LcFirst(s string) string
func Render(cfg Options) error
Render renders a gql plugin template from the given Options. Render is an abstraction of the text/template package that makes it easier to write gqlgen plugins. If Options.Template is empty, the Render function will look for `.gotpl` files inside the directory where you wrote the plugin.
func ToGo(name string) string
func ToGoModelName(parts ...string) string
func ToGoPrivate(name string) string
func ToGoPrivateModelName(parts ...string) string
func TypeIdentifier(t types.Type) string
func UcFirst(s string) string
type Import struct { Name string Path string Alias string }
func (i *Import) String() string
type Imports struct {
// contains filtered or unexported fields
}
CurrentImports keeps track of all the import declarations that are needed during the execution of a plugin. this is done with a global because subtemplates currently get called in functions. Lets aim to remove this eventually.
var CurrentImports *Imports
func (s *Imports) Lookup(path string) string
func (s *Imports) LookupType(t types.Type) string
func (s *Imports) Reserve(path string, aliases ...string) (string, error)
func (s *Imports) String() string
Options specify various parameters to rendering a template.
type Options struct { // PackageName is a helper that specifies the package header declaration. // In other words, when you write the template you don't need to specify `package X` // at the top of the file. By providing PackageName in the Options, the Render // function will do that for you. PackageName string // Template is a string of the entire template that // will be parsed and rendered. If it's empty, // the plugin processor will look for .gotpl files // in the same directory of where you wrote the plugin. Template string // Use the go:embed API to collect all the template files you want to pass into Render // this is an alternative to passing the Template option TemplateFS fs.FS // Filename is the name of the file that will be // written to the system disk once the template is rendered. Filename string RegionTags bool GeneratedHeader bool // PackageDoc is documentation written above the package line PackageDoc string // FileNotice is notice written below the package line FileNotice string // Data will be passed to the template execution. Data interface{} Funcs template.FuncMap // Packages cache, you can find me on config.Config Packages *code.Packages }