Versions in this module Expand all Collapse all v0 v0.1.2 Feb 23, 2024 Changes in this version + const Template + func CheckComments(comments *ast.CommentGroup) bool + func CheckGen(comment string) bool + func InitDescender(descender Descender) func(*MockFileCreator) + func InitGenerateAll(generateAll bool) func(*MockFileCreator) + type Descender interface + ParseFile func(file *ast.File, generateAll bool) *MockIdents + ParseImports func(specs []*ast.ImportSpec) map[string]*Import + ParseUsedImports func(idents map[string]int, imports map[string]*Import) []string + type Executor struct + func NewExecutor(content string) (*Executor, error) + type Field struct + Name string + Type string + type Function struct + Params []*Field + Returns []*Field + Types []*Field + type Import struct + Alias string + Name string + Path string + type Method struct + Function *Function + Name string + type Mock struct + Methods []*Method + Name string + Types []*Field + type MockDescender struct + OnParseFile func(file *ast.File, generateAll bool) *MockIdents + OnParseImports func(specs []*ast.ImportSpec) map[string]*Import + OnParseUsedImports func(idents map[string]int, imports map[string]*Import) []string + func (mock *MockDescender) ParseFile(file *ast.File, generateAll bool) *MockIdents + func (mock *MockDescender) ParseImports(specs []*ast.ImportSpec) map[string]*Import + func (mock *MockDescender) ParseUsedImports(idents map[string]int, imports map[string]*Import) []string + type MockExecutor struct + OnExecute func(wr io.Writer, data any) error + func (executor *MockExecutor) Execute(wr io.Writer, data any) error + type MockFile struct + Imports []string + Mocks []*Mock + Package string + type MockFileCreator struct + func New(options ...func(*MockFileCreator)) *MockFileCreator + func (creator *MockFileCreator) CreateMockFile(file *ast.File) *MockFile + type MockIdents struct + Idents map[string]int + Mocks []*Mock + type MockRenderer struct + OnRender func(vars T) (io.Reader, error) + func (renderer *MockRenderer[T]) Render(vars T) (io.Reader, error) + type NoopReader struct + func (*NoopReader) Close() error + func (*NoopReader) Read([]byte) (int, error) + func (*NoopReader) WriteTo(io.Writer) (int64, error) + type NoopRenderer struct + func (renderer *NoopRenderer[T]) Render(vars T) (io.Reader, error) + type RecursiveDescender struct + func NewRecursiveDescender(idents map[string]int) *RecursiveDescender + func (descender *RecursiveDescender) ParseArrayType(typ *ast.ArrayType) string + func (descender *RecursiveDescender) ParseChanType(typ *ast.ChanType) string + func (descender *RecursiveDescender) ParseEllipsis(e *ast.Ellipsis) string + func (descender *RecursiveDescender) ParseExpr(expr ast.Expr) string + func (descender *RecursiveDescender) ParseField(f *ast.Field) []*Field + func (descender *RecursiveDescender) ParseFields(lst *ast.FieldList) []*Field + func (descender *RecursiveDescender) ParseFile(file *ast.File, generateAll bool) *MockIdents + func (descender *RecursiveDescender) ParseFuncType(fun *ast.FuncType) string + func (descender *RecursiveDescender) ParseFunction(fun *ast.FuncType) *Function + func (descender *RecursiveDescender) ParseGenDecl(decl *ast.GenDecl, generateAll bool) []*Mock + func (descender *RecursiveDescender) ParseIdent(i *ast.Ident) string + func (descender *RecursiveDescender) ParseImport(spec *ast.ImportSpec) *Import + func (descender *RecursiveDescender) ParseImports(specs []*ast.ImportSpec) map[string]*Import + func (descender *RecursiveDescender) ParseIndexExpr(expr *ast.IndexExpr) string + func (descender *RecursiveDescender) ParseIndexListExpr(expr *ast.IndexListExpr) string + func (descender *RecursiveDescender) ParseInterface(typ *ast.InterfaceType) []*Method + func (descender *RecursiveDescender) ParseInterfaceType(typ *ast.InterfaceType) string + func (descender *RecursiveDescender) ParseMapType(typ *ast.MapType) string + func (descender *RecursiveDescender) ParseSelectorExpr(expr *ast.SelectorExpr) string + func (descender *RecursiveDescender) ParseStarExpression(expr *ast.StarExpr) string + func (descender *RecursiveDescender) ParseStructType(s *ast.StructType) string + func (descender *RecursiveDescender) ParseTypeSpec(spec *ast.TypeSpec, generate bool) (*Mock, bool) + func (descender *RecursiveDescender) ParseUsedImports(idents map[string]int, imports map[string]*Import) []string + type TemplateExecuter interface + Execute func(wr io.Writer, data any) error + type TemplateRenderer interface + Render func(vars T) (io.Reader, error) + type Templater struct + func NewRenderer() (*Templater[MockFile], error) + func NewTemplater[T any](templ TemplateExecuter) *Templater[T] + func (templater *Templater[T]) Render(vars T) (io.Reader, error) + type Writer struct + func NewWriter(renderer TemplateRenderer[MockFile]) *Writer + func (writer *Writer) Generate(values *MockFile) (io.Reader, error)