Documentation ¶
Overview ¶
Package domain is the domain layer. It provides common structs and interfaces for other layers and reduces dependencies between other layers. It must not depend on other layers.
Index ¶
- Constants
- type CLIContext
- type Cfg
- type CfgReader
- type CfgUsecase
- type CmdExecuter
- type CodeGenerater
- type CompareArgs
- type Default
- type DirMaker
- type Env
- type EnvUsecase
- type FileExist
- type FileReader
- type FileWriter
- type Flag
- type FlagUsecase
- type GenCfgFileArgs
- type InitGenCfgFileArgs
- type Param
- type ParamUsecase
- type Params
- type StrFormatter
- type TemplateData
- type TemplateRenderer
Constants ¶
const Version = "2.0.0"
Version is the go-gencfg's version.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CLIContext ¶
CLIContext represents a urfave.cli interface.
type Cfg ¶
type Cfg struct { Formatters []string `yaml:"formatters"` Dest string `yaml:"dest"` Pkg string `yaml:"package"` PkgName string `yaml:"package_name"` TemplatePath string `yaml:"template"` CfgFileParam Param `yaml:"config_file_param"` Default Default `yaml:"default"` Params []Param `yaml:"params"` Ext map[string]interface{} `yaml:"ext"` }
Cfg represents the configuration.
type CfgUsecase ¶
type CfgUsecase interface { HasFlag(FlagUsecase, Cfg) bool GetPkg(Cfg) string GetPkgName(Cfg) string Update(*Cfg) }
CfgUsecase represents application logic about Cfg
type CmdExecuter ¶
CmdExecuter executes a command.
type CodeGenerater ¶
type CodeGenerater interface {
Exec(dest, tmpl string, config TemplateData) error
}
CodeGenerater generates code at files with a template and data.
type CompareArgs ¶
type CompareArgs struct { Src string Dest string TmplPath string IsQuiet bool IsFailure bool Reader FileReader Renderer TemplateRenderer CfgReader CfgReader Executer CmdExecuter StrFormatter StrFormatter CfgUC CfgUsecase EnvUC EnvUsecase FlagUC FlagUsecase ParamUC ParamUsecase }
CompareArgs is an argument of usecase.Compare .
type Default ¶
type Default struct { Env Env `yaml:"env"` Flag Flag `yaml:"flag"` Ext map[string]interface{} `yaml:"ext"` }
Default represents a default configuration.
type Env ¶
type Env struct { Name *string `yaml:"name"` Prefix *string `yaml:"prefix"` Bind *bool `yaml:"bind"` Ext map[string]interface{} `yaml:"ext"` }
Env represents environment variable.
type EnvUsecase ¶
type EnvUsecase interface { IsBind(e Env, def *bool) bool GetPrefix(e Env, gPrefix *string) string GetName(e Env, pName string, gPrefix *string) string }
EnvUsecase represents application logic about Env
type FileReader ¶
FileReader reads a file.
type FileWriter ¶
FileWriter writes data to a file.
type Flag ¶
type Flag struct { Description *string `yaml:"description"` Name *string `yaml:"name"` Short *string `yaml:"short"` Bind *bool `yaml:"bind"` Ext map[string]interface{} `yaml:"ext"` }
Flag represents a command line flag.
type FlagUsecase ¶
FlagUsecase represents application logic about Env
type GenCfgFileArgs ¶
type GenCfgFileArgs struct { Src string Dest string TmplPath string Reader FileReader CfgReader CfgReader Generater CodeGenerater Executer CmdExecuter CfgUC CfgUsecase EnvUC EnvUsecase FlagUC FlagUsecase ParamUC ParamUsecase }
GenCfgFileArgs is an argument of usecase.GenCfgFile .
type InitGenCfgFileArgs ¶
type InitGenCfgFileArgs struct { Dest string TmplDest string PNames []string Renderer TemplateRenderer Writer FileWriter Exist FileExist }
InitGenCfgFileArgs is an argument of usecase.InitGenCfgFile .
type Param ¶
type Param struct { Name string `yaml:"name"` CamelCaseName string `yaml:"camel_case_name"` Type string `yaml:"type"` Description string `yaml:"description"` Default interface{} `yaml:"default"` Flag Flag `yaml:"flag"` Env Env `yaml:"env"` Ext map[string]interface{} `yaml:"ext"` }
Param represents a parameter.
type ParamUsecase ¶
type ParamUsecase interface { IsSetDefault(p Param) bool GetDefaultStr(p Param) string GetFlagName(p Param) string GetFlagDescription(p Param) string GetEnvName(p Param) string CamelCaseName(p Param) string CamelCaseLowerName(p Param) string GetType(p Param) string GetPFlagName(p Param) string GetViperGetterName(p Param) string }
ParamUsecase represents application logic about Env
type Params ¶
type Params []Param
Params is array of Param which can be sorted by param's name.
type StrFormatter ¶
type StrFormatter interface {
Format(dest, text string, formatters []string, reader FileReader, executer CmdExecuter) (string, error)
}
StrFormatter formats a string running commands.
type TemplateData ¶
type TemplateData struct { Cfg Cfg CfgUC CfgUsecase EnvUC EnvUsecase FlagUC FlagUsecase ParamUC ParamUsecase }
TemplateData is the argument of domain.TemplateRenderer.Render .
type TemplateRenderer ¶
TemplateRenderer renders a template with data.