Documentation ¶
Index ¶
- type Generator
- type Method
- func (m Method) Call() string
- func (m Method) Declaration() string
- func (m Method) HasParams() bool
- func (m Method) HasResults() bool
- func (m Method) ParamsMap() string
- func (m Method) ParamsNames() string
- func (m Method) ParamsStruct() string
- func (m Method) Pass(prefix string) string
- func (m Method) ResultsMap() string
- func (m Method) ResultsNames() string
- func (m Method) ResultsStruct() string
- func (m Method) ReturnStruct(structName string) string
- func (m Method) Signature() string
- type Options
- type Param
- type ParamsSlice
- type TemplateInputInterface
- type TemplateInputs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Generator ¶
type Generator struct { Options // contains filtered or unexported fields }
Generator generates decorators for the interface types
func NewGenerator ¶
NewGenerator returns Generator initialized with options
type Method ¶
type Method struct { Doc []string Comment []string Name string Params ParamsSlice Results ParamsSlice Operation swag.Operation Gorg gorg.Gorg ReturnsError bool AcceptsContext bool NoParamsRequired bool NoParamsRequest bool }
Method represents a method's signature
func (Method) Declaration ¶
Declaration returns a method name followed by it's signature
func (Method) HasResults ¶
HasResults returns true if method has results
func (Method) ParamsMap ¶
ParamsMap returns a string representation of the map[string]interface{} filled with method's params
func (Method) ParamsNames ¶
ParamsNames returns a list of method params names
func (Method) ParamsStruct ¶
ParamsStruct returns a struct type with fields corresponding to the method params
func (Method) Pass ¶
Pass returns a return statement followed by the method call If method does not have any results it returns a method call followed by return statement
func (Method) ResultsMap ¶
ResultsMap returns a string representation of the map[string]interface{} filled with method's results
func (Method) ResultsNames ¶
ResultsNames returns a list of method results names
func (Method) ResultsStruct ¶
ResultsStruct returns a struct type with fields corresponding to the method results
func (Method) ReturnStruct ¶
ReturnStruct returns return statement with the return params taken from the structName
type Options ¶
type Options struct { //InterfaceName is a name of interface type InterfaceName string //Imports from the file with interface definition Imports []string //SourcePackage is an import path or a relative path of the package that contains the source interface SourcePackage string //SourcePackageAlias is an import selector defauls is source package name SourcePackageAlias string //OutputFile name which is used to detect destination package name and also to fix imports in the resulting source OutputFile string //HeaderTemplate is used to generate package clause and comment over the generated source HeaderTemplate string //BodyTemplate generates import section, decorator constructor and methods BodyTemplate string //Vars additional vars that are passed to the templates from the command line Vars map[string]interface{} //HeaderVars header specific variables HeaderVars map[string]interface{} //Funcs is a map of helper functions that can be used within a template Funcs template.FuncMap }
Options of the NewGenerator constructor
type Param ¶
Param represents fuction argument or result
type ParamsSlice ¶
type ParamsSlice []Param
ParamsSlice slice of parameters
func (ParamsSlice) Pass ¶
func (ps ParamsSlice) Pass() string
Pass returns comma separated params names to be passed to a function call with respect to variadic functions
type TemplateInputInterface ¶
type TemplateInputInterface struct { Name string // Type of the interface, with package name qualifier (e.g. sort.Interface) Type string // Methods name keyed map of method information Methods map[string]Method }
TemplateInputInterface subset of interface information used for template generation
type TemplateInputs ¶
type TemplateInputs struct { // Interface information for template Interface TemplateInputInterface // Vars additional vars to pass to the template, see Options.Vars Vars map[string]interface{} Imports []string }
TemplateInputs information passed to template for generation
func (TemplateInputs) Import ¶
func (t TemplateInputs) Import(imports ...string) string
Import generates an import statement using a list of imports from the source file along with the ones from the template itself