Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AssembleTemplate ¶
type AssembleTemplate func(templateDir string, ctx ToMacroReplaceContext) (targetFilePaths []string, err error)
AssembleTemplate is a shortcut implementation of TemplateAssembler based on a function
func (AssembleTemplate) AssembleTemplate ¶
func (g AssembleTemplate) AssembleTemplate(templateDir string, ctx ToMacroReplaceContext, ) (targetFilePaths []string, err error)
AssembleTemplate assembles template from code using replace context.
type GenerateIter ¶
type GenerateIter func(packagePath string, ctx GenerateIterContext) (targetFilePaths []string, err error)
GenerateIter is a shortcut implementation of IterGenerator based on a function
func (GenerateIter) GenerateIter ¶
func (g GenerateIter) GenerateIter(packagePath string, ctx GenerateIterContext) (targetFilePaths []string, err error)
GenerateIter should generate code using path to package and context.
type GenerateIterContext ¶
type GenerateIterContext struct {
// TypeName sets the name of the target type to generate iterator for.
TypeName string
// PackageName sets the package name of the package where
// the code will be generated.
PackageName string
// TitlePrefix sets the prefix of titles in generated iterator types.
TitlePrefix string
// ZeroTypeValue sets zero value of the target type.
ZeroTypeValue string
}
GenerateIterContext is a context for iter generator.
type IterGenerator ¶
type IterGenerator interface {
// GenerateIter should generate code using path to package and context.
GenerateIter(packagePath string, ctx GenerateIterContext) (targetFilePaths []string, err error)
}
IterGenerator is a use case.
var NoGenerateIter IterGenerator = GenerateIter(func(_ string, _ GenerateIterContext) ([]string, error) { return nil, nil })
NoGenerateIter is a zero value for IterGenerator. It does nothing.
type TemplateAssembler ¶
type TemplateAssembler interface {
// AssembleTemplate should assemble template from code using replace context.
AssembleTemplate(templateDir string, ctx ToMacroReplaceContext) (targetFilePaths []string, err error)
}
TemplateAssembler is a use case.
var NoAssembleTemplate TemplateAssembler = AssembleTemplate(func(_ string, _ ToMacroReplaceContext) ([]string, error) { return nil, nil })
NoAssembleTemplate is a zero value for TemplateAssembler. It does nothing.
type ToMacroReplaceContext ¶
type ToMacroReplaceContext struct {
// TypeNameFrom is a type name which will be replaced
// to the type macro. Note: if TypeNameFrom equals to TitlePrefixFrom,
// so first TitlePrefixFrom replaced, then TypeNameFrom.
TypeNameFrom string
// PackageNameFrom is a type name which will be replaced
// to the package macro.
PackageNameFrom string
// TitlePrefixFrom is a type name which will be replaced
// to the prefix macro. Note: if TypeNameFrom equals to TitlePrefixFrom,
// so first TitlePrefixFrom replaced, then TypeNameFrom.
TitlePrefixFrom string
// ZeroTypeValue is a type name which will be replaced
// to the zero value type macro.
ZeroTypeValueFrom string
}
ToMacroReplaceContext is a context for macro replacing.
Directories
¶
| Path | Synopsis |
|---|---|
|
TODO the logic into go text templates
|
TODO the logic into go text templates |
Click to show internal directories.
Click to hide internal directories.