Documentation ¶
Index ¶
- Variables
- func Call(p *types.Func) string
- func Dump(val any) string
- func Funcs() template.FuncMap
- func LcFirst(s string) string
- func Render(cfg Options) error
- func StrSplit(s, sep string) []string
- 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
- type Imports
- type Options
Constants ¶
This section is empty.
Variables ¶
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, "AWS": true, "GCP": true, }
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 GetInitialisms = func() map[string]bool { return CommonInitialisms }
GetInitialisms returns the initialisms to capitalize in Go names. If unchanged, default initialisms will be returned
Functions ¶
func Render ¶
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 ToGoModelName ¶
func ToGoPrivate ¶
func ToGoPrivateModelName ¶
func TypeIdentifier ¶
Types ¶
type Imports ¶
type Imports struct {
// contains filtered or unexported fields
}
var CurrentImports *Imports
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.
type Options ¶
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 any Funcs template.FuncMap // Packages cache, you can find me on config.Config Packages *code.Packages }
Options specify various parameters to rendering a template.