Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Generate ¶
func Generate(gen CodeGenerator, inputs []Input)
Generate populates the provided input, executes the template provided by the CodeGenerator, and writes the template's output to the filename provided by the CodeGenerator.
Types ¶
type CodeGenerator ¶
type CodeGenerator interface { // Name returns a unique identifier for an instance of // generation. Name contributes to part of the generated // filename. Each invocation of `//go:generate` within a // file must return a different result from Name. Name // may return the empty string. Name() string // Template returns the template used to generate the // output file. A Go `package` expression for the package // of the file invoking `//go:generate` will automatically // be prepended to the template's output along with a // comment identifying the file as generated. Template() *template.Template // Data returns the value passed as the `data` param into // the template.Template.Execute() method. Data() interface{} }
type Input ¶
type Input struct { Type InputType // The where to store the input's value. Dst *string // Either the name of the flag or the name // of the environment variable. Key string }
Input defines a CLI flag or environment variable used as input to a code generator. An Input is usually used to populate a field of a struct implementing the CodeGenerator interface.
Click to show internal directories.
Click to hide internal directories.