parser

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

This is an automatically generated file! Do not modify.

package templater contains the templating functionality used to convert a general request body template into a body specific to a particular request.

Index

Constants

View Source
const (
	Template = `` /* 1136-byte string literal not displayed */

)

Variables

This section is empty.

Functions

func CheckComments

func CheckComments(comments *ast.CommentGroup) bool

func CheckGen

func CheckGen(comment string) bool

func InitDescender

func InitDescender(descender Descender) func(*MockFileCreator)

func InitGenerateAll

func InitGenerateAll(generateAll bool) func(*MockFileCreator)

Types

type Descender

type Descender interface {
	ParseUsedImports(idents map[string]int, imports map[string]*Import) []string
	ParseImports(specs []*ast.ImportSpec) map[string]*Import
	ParseFile(file *ast.File, generateAll bool) *MockIdents
}

replica:gen

type Executor

type Executor struct {
	*template.Template
}

func NewExecutor

func NewExecutor(content string) (*Executor, error)

type Field

type Field struct {
	Name string
	Type string
}

type Function

type Function struct {
	Types   []*Field
	Params  []*Field
	Returns []*Field
}

type Import

type Import struct {
	Name  string
	Alias string
	Path  string
}

type Method

type Method struct {
	Name     string
	Function *Function
}

type Mock

type Mock struct {
	Name    string
	Types   []*Field
	Methods []*Method
}

type MockDescender

type MockDescender struct {
	OnParseUsedImports func(
		idents map[string]int,
		imports map[string]*Import,
	) []string

	OnParseImports func(
		specs []*ast.ImportSpec,
	) map[string]*Import

	OnParseFile func(
		file *ast.File,
		generateAll bool,
	) *MockIdents
}

MockDescender is an automatically generated function mocking the Descender interface.

func (*MockDescender) ParseFile

func (mock *MockDescender) ParseFile(
	file *ast.File,
	generateAll bool,
) *MockIdents

ParseFile is an automatically generated function used for mocking.

func (*MockDescender) ParseImports

func (mock *MockDescender) ParseImports(
	specs []*ast.ImportSpec,
) map[string]*Import

ParseImports is an automatically generated function used for mocking.

func (*MockDescender) ParseUsedImports

func (mock *MockDescender) ParseUsedImports(
	idents map[string]int,
	imports map[string]*Import,
) []string

ParseUsedImports is an automatically generated function used for mocking.

type MockExecutor

type MockExecutor struct {
	OnExecute func(wr io.Writer, data any) error
}

func (*MockExecutor) Execute

func (executor *MockExecutor) Execute(wr io.Writer, data any) error

type MockFile

type MockFile struct {
	Mocks   []*Mock
	Imports []string
	Package string
}

type MockFileCreator

type MockFileCreator struct {
	// contains filtered or unexported fields
}

func New

func New(options ...func(*MockFileCreator)) *MockFileCreator

func (*MockFileCreator) CreateMockFile

func (creator *MockFileCreator) CreateMockFile(file *ast.File) *MockFile

type MockIdents

type MockIdents struct {
	Mocks  []*Mock
	Idents map[string]int
}

type MockRenderer

type MockRenderer[T any] struct {
	OnRender func(vars T) (io.Reader, error)
}

func (*MockRenderer[T]) Render

func (renderer *MockRenderer[T]) Render(vars T) (io.Reader, error)

type NoopReader

type NoopReader struct{}

func (*NoopReader) Close

func (*NoopReader) Close() error

func (*NoopReader) Read

func (*NoopReader) Read([]byte) (int, error)

func (*NoopReader) WriteTo

func (*NoopReader) WriteTo(io.Writer) (int64, error)

type NoopRenderer

type NoopRenderer[T any] struct {
}

func (*NoopRenderer[T]) Render

func (renderer *NoopRenderer[T]) Render(vars T) (io.Reader, error)

type RecursiveDescender

type RecursiveDescender struct {
	// contains filtered or unexported fields
}

func NewRecursiveDescender

func NewRecursiveDescender(idents map[string]int) *RecursiveDescender

func (*RecursiveDescender) ParseArrayType

func (descender *RecursiveDescender) ParseArrayType(typ *ast.ArrayType) string

func (*RecursiveDescender) ParseChanType

func (descender *RecursiveDescender) ParseChanType(typ *ast.ChanType) string

func (*RecursiveDescender) ParseEllipsis

func (descender *RecursiveDescender) ParseEllipsis(e *ast.Ellipsis) string

func (*RecursiveDescender) ParseExpr

func (descender *RecursiveDescender) ParseExpr(expr ast.Expr) string

func (*RecursiveDescender) ParseField

func (descender *RecursiveDescender) ParseField(f *ast.Field) []*Field

func (*RecursiveDescender) ParseFields

func (descender *RecursiveDescender) ParseFields(lst *ast.FieldList) []*Field

func (*RecursiveDescender) ParseFile

func (descender *RecursiveDescender) ParseFile(file *ast.File, generateAll bool) *MockIdents

func (*RecursiveDescender) ParseFuncType

func (descender *RecursiveDescender) ParseFuncType(fun *ast.FuncType) string

func (*RecursiveDescender) ParseFunction

func (descender *RecursiveDescender) ParseFunction(fun *ast.FuncType) *Function

func (*RecursiveDescender) ParseGenDecl

func (descender *RecursiveDescender) ParseGenDecl(decl *ast.GenDecl, generateAll bool) []*Mock

func (*RecursiveDescender) ParseIdent

func (descender *RecursiveDescender) ParseIdent(i *ast.Ident) string

func (*RecursiveDescender) ParseImport

func (descender *RecursiveDescender) ParseImport(spec *ast.ImportSpec) *Import

func (*RecursiveDescender) ParseImports

func (descender *RecursiveDescender) ParseImports(specs []*ast.ImportSpec) map[string]*Import

func (*RecursiveDescender) ParseIndexExpr

func (descender *RecursiveDescender) ParseIndexExpr(expr *ast.IndexExpr) string

func (*RecursiveDescender) ParseIndexListExpr

func (descender *RecursiveDescender) ParseIndexListExpr(expr *ast.IndexListExpr) string

func (*RecursiveDescender) ParseInterface

func (descender *RecursiveDescender) ParseInterface(typ *ast.InterfaceType) []*Method

func (*RecursiveDescender) ParseInterfaceType

func (descender *RecursiveDescender) ParseInterfaceType(typ *ast.InterfaceType) string

func (*RecursiveDescender) ParseMapType

func (descender *RecursiveDescender) ParseMapType(typ *ast.MapType) string

func (*RecursiveDescender) ParseSelectorExpr

func (descender *RecursiveDescender) ParseSelectorExpr(expr *ast.SelectorExpr) string

func (*RecursiveDescender) ParseStarExpression

func (descender *RecursiveDescender) ParseStarExpression(expr *ast.StarExpr) string

func (*RecursiveDescender) ParseStructType

func (descender *RecursiveDescender) ParseStructType(s *ast.StructType) string

func (*RecursiveDescender) ParseTypeSpec

func (descender *RecursiveDescender) ParseTypeSpec(spec *ast.TypeSpec, generate bool) (*Mock, bool)

func (*RecursiveDescender) ParseUsedImports

func (descender *RecursiveDescender) ParseUsedImports(idents map[string]int, imports map[string]*Import) []string

type TemplateExecuter

type TemplateExecuter interface {
	Execute(wr io.Writer, data any) error
}

type TemplateRenderer

type TemplateRenderer[T any] interface {
	Render(vars T) (io.Reader, error)
}

TemplateRenderer is an interface with a Render method. Render converts a generic to an io.Reader, or an error.

type Templater

type Templater[T any] struct {
	// contains filtered or unexported fields
}

Templater is a wrapper struct around the functionality of the golang wrapper.

func NewRenderer

func NewRenderer() (*Templater[MockFile], error)

func NewTemplater

func NewTemplater[T any](templ TemplateExecuter) *Templater[T]

NewTemplater creates a new Templater. It must be given a template in the form of a string as a parameter.

func (*Templater[T]) Render

func (templater *Templater[T]) Render(vars T) (io.Reader, error)

Render converts a template into an io.Reader (which can be further reduced to string) given variables specific to that template.

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

func NewWriter

func NewWriter(renderer TemplateRenderer[MockFile]) *Writer

func (*Writer) Generate

func (writer *Writer) Generate(values *MockFile) (io.Reader, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL