Documentation ¶
Index ¶
- Variables
- type ContainerDefinition
- type FactoriesManager
- type FactoryFile
- type File
- type FileBuilder
- type GenerationParameters
- type Generator
- type ImportDefinition
- type InternalContainerGenerator
- type Logger
- type PackageType
- type PublicContainerGenerator
- type RootContainerDefinition
- type ServiceDefinition
- type Tags
- type TypeDefinition
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrContainerNotFound = errors.New("container not found") ErrUnexpectedType = errors.New("unexpected type") ErrNotSupported = errors.New("not supported") ErrParsing = errors.New("parsing error") ErrFileAlreadyExists = errors.New("file already exists") ErrInvalidDefinition = errors.New("invalid definition") )
Functions ¶
This section is empty.
Types ¶
type ContainerDefinition ¶
type ContainerDefinition struct { Name string Type TypeDefinition Services []*ServiceDefinition }
func (ContainerDefinition) Title ¶
func (c ContainerDefinition) Title() string
type FactoriesManager ¶ added in v0.1.0
type FactoriesManager struct {
// contains filtered or unexported fields
}
func NewFactoriesManager ¶ added in v0.1.0
func NewFactoriesManager( container *RootContainerDefinition, workDir string, params GenerationParameters, ) *FactoriesManager
func (*FactoriesManager) Generate ¶ added in v0.1.0
func (m *FactoriesManager) Generate() ([]*File, error)
type FactoryFile ¶
type FactoryFile struct { Imports map[string]*ImportDefinition Services []string }
func ParseFactoryFromSource ¶
func ParseFactoryFromSource(source string) (*FactoryFile, error)
type File ¶
type File struct { Package PackageType Name string Content []byte }
func GenerateDefinitionsContainerFile ¶ added in v0.1.0
func GenerateFiles ¶
func GenerateFiles(container *RootContainerDefinition, params GenerationParameters) ([]*File, error)
type FileBuilder ¶
type FileBuilder struct {
// contains filtered or unexported fields
}
func NewFileBuilder ¶
func NewFileBuilder(filename, packageName string, packageType PackageType) *FileBuilder
func (*FileBuilder) AddImport ¶
func (b *FileBuilder) AddImport(imp string)
func (*FileBuilder) GetFile ¶
func (b *FileBuilder) GetFile() *File
func (*FileBuilder) IsEmpty ¶
func (b *FileBuilder) IsEmpty() bool
func (*FileBuilder) WriteString ¶
func (b *FileBuilder) WriteString(s string) (n int, err error)
type GenerationParameters ¶
type GenerationParameters struct {
RootPackage string
}
type Generator ¶
type Generator struct { BaseDir string ModulePath string Logger Logger Version string BuildTime string }
func (*Generator) Initialize ¶
func (*Generator) RootPackage ¶
type ImportDefinition ¶
func (ImportDefinition) String ¶
func (d ImportDefinition) String() string
type InternalContainerGenerator ¶ added in v0.1.0
type InternalContainerGenerator struct {
// contains filtered or unexported fields
}
func NewInternalContainerGenerator ¶ added in v0.1.0
func NewInternalContainerGenerator(container *RootContainerDefinition, params GenerationParameters) *InternalContainerGenerator
func (*InternalContainerGenerator) Generate ¶ added in v0.1.0
func (g *InternalContainerGenerator) Generate() (*File, error)
type Logger ¶
type Logger interface { Info(a ...interface{}) Success(a ...interface{}) Warning(a ...interface{}) }
type PackageType ¶
type PackageType int
const ( PublicPackage PackageType InternalPackage DefinitionsPackage FactoriesPackage LookupPackage )
type PublicContainerGenerator ¶
type PublicContainerGenerator struct {
// contains filtered or unexported fields
}
func NewPublicContainerGenerator ¶
func NewPublicContainerGenerator( container *RootContainerDefinition, params GenerationParameters, ) *PublicContainerGenerator
func (*PublicContainerGenerator) Generate ¶
func (g *PublicContainerGenerator) Generate() (*File, error)
type RootContainerDefinition ¶
type RootContainerDefinition struct { Name string Package string Imports map[string]*ImportDefinition Services []*ServiceDefinition Containers []*ContainerDefinition }
func ParseContainerFromSource ¶
func ParseContainerFromSource(source string) (*RootContainerDefinition, error)
func ParseDefinitionsFromFile ¶ added in v0.1.0
func ParseDefinitionsFromFile(filename string) (*RootContainerDefinition, error)
func (RootContainerDefinition) GetImport ¶
func (c RootContainerDefinition) GetImport(s *ServiceDefinition) string
type ServiceDefinition ¶
type ServiceDefinition struct { Prefix string Name string Type TypeDefinition FactoryFileName string // "factory-file" tag HasSetter bool // "set" tag - will generate setters for internal and public containers HasCloser bool // "close" tag - generate closer method call IsRequired bool // "required" tag - will generate argument for public container constructor IsPublic bool // "public" tag - will generate getter for public container IsExternal bool // "external" tag - no definition, panic if empty, force public setter }
func (ServiceDefinition) Title ¶
func (s ServiceDefinition) Title() string
type TypeDefinition ¶
func (TypeDefinition) IsBasicType ¶ added in v0.1.1
func (d TypeDefinition) IsBasicType() bool
func (TypeDefinition) IsDuration ¶ added in v0.1.1
func (d TypeDefinition) IsDuration() bool
func (TypeDefinition) IsTime ¶ added in v0.1.1
func (d TypeDefinition) IsTime() bool
func (TypeDefinition) IsURL ¶ added in v0.1.1
func (d TypeDefinition) IsURL() bool
func (TypeDefinition) String ¶
func (d TypeDefinition) String() string
func (TypeDefinition) ZeroComparison ¶ added in v0.1.1
func (d TypeDefinition) ZeroComparison() string
Click to show internal directories.
Click to hide internal directories.