Documentation
¶
Index ¶
- func GenerateServiceMethodContent(pd *CtxData, funcMap template.FuncMap) ([]byte, error)
- func GenerateTemplate(fPath string, tempFile string, data interface{}) error
- func GoModule(ctx *CtxData, command string) string
- func ParsePbFile(inputPath string, src interface{}, xxxSkip []string) (areas []textArea, err error)
- func ToUnique(list []string) []string
- func WritePbFile(inputPath string, areas []textArea, removeTagComment bool) (err error)
- type CtxData
- type Enum
- type GoFileAST
- type ListReqOption
- type Message
- type MessageField
- type MethodAST
- type ProtoVisitor
- func (p *ProtoVisitor) VisitComment(e *proto.Comment)
- func (p *ProtoVisitor) VisitEnum(e *proto.Enum)
- func (p *ProtoVisitor) VisitEnumField(i *proto.EnumField)
- func (p *ProtoVisitor) VisitExtensions(e *proto.Extensions)
- func (p *ProtoVisitor) VisitGroup(g *proto.Group)
- func (p *ProtoVisitor) VisitImport(i *proto.Import)
- func (p *ProtoVisitor) VisitMapField(f *proto.MapField)
- func (p *ProtoVisitor) VisitMessage(m *proto.Message)
- func (p *ProtoVisitor) VisitNormalField(i *proto.NormalField)
- func (p *ProtoVisitor) VisitOneof(o *proto.Oneof)
- func (p *ProtoVisitor) VisitOneofField(o *proto.OneOfField)
- func (p *ProtoVisitor) VisitOption(o *proto.Option)
- func (p *ProtoVisitor) VisitPackage(pkg *proto.Package)
- func (p *ProtoVisitor) VisitRPC(rpc *proto.RPC)
- func (p *ProtoVisitor) VisitReserved(rs *proto.Reserved)
- func (p *ProtoVisitor) VisitService(v *proto.Service)
- func (p *ProtoVisitor) VisitSyntax(s *proto.Syntax)
- type RpcMethod
- type Service
- type StructAST
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateServiceMethodContent ¶ added in v0.1.1
func GenerateTemplate ¶
func ParsePbFile ¶
func WritePbFile ¶
Types ¶
type CtxData ¶ added in v0.1.1
type CtxData struct {
Cfg *config.Config
Command string
GoVersion string
Ports []int
StartErrCode int
EndErrCode int
ModuleID int
// ModulePrefix string
// GoModule string
Name string
Group string
ClientDir string
// from proto file
FilePath string
PackageName string
GoPackage string
Options map[string]string
ImportMap map[string]bool
ServiceImportMap map[string][]string
ListOptionMap map[string]*ListReqOption
ServiceList []*Service
ErrCodeList []Enum
ModelList []*proto.Message
MessageList []*Message
ModelFieldList []string
// Deprecated: from go file
ServiceMethodMap map[string]map[string]struct {
Req string
Rsp string
}
// Deprecated: from go file
ObjectMap map[string]string
// Deprecated: from go file
FuncBodyMap map[string]string
// parse the specified go file
ExistedGoFile *GoFileAST
}
func NewCtxData ¶ added in v0.1.1
func NewCtxData() *CtxData
func ParseProtoFile ¶ added in v0.1.1
ParseProtoFile 解析proto文件
func (*CtxData) GetFirstGoPackage ¶ added in v0.1.1
func (*CtxData) ParseGoFile ¶ added in v0.1.1
ParseGoFile 从一个go文件从找出制定后缀的结构体,然后分析结构体里面的方法函数,并排除私有方法函数。
type GoFileAST ¶ added in v0.1.1
type ListReqOption ¶
type Message ¶
type Message struct {
Name string
FieldList []*MessageField
}
type MessageField ¶
type MessageField struct {
*proto.MapField
*proto.NormalField
*Message
}
type ProtoVisitor ¶
type ProtoVisitor struct {
// proto.Visitor
// proto.RPC
Name string
FieldNameList []string
EnumFieldList []*proto.EnumField
Message *Message
}
func (*ProtoVisitor) VisitComment ¶
func (p *ProtoVisitor) VisitComment(e *proto.Comment)
func (*ProtoVisitor) VisitEnum ¶
func (p *ProtoVisitor) VisitEnum(e *proto.Enum)
func (*ProtoVisitor) VisitEnumField ¶
func (p *ProtoVisitor) VisitEnumField(i *proto.EnumField)
func (*ProtoVisitor) VisitExtensions ¶
func (p *ProtoVisitor) VisitExtensions(e *proto.Extensions)
func (*ProtoVisitor) VisitGroup ¶
func (p *ProtoVisitor) VisitGroup(g *proto.Group)
func (*ProtoVisitor) VisitImport ¶
func (p *ProtoVisitor) VisitImport(i *proto.Import)
func (*ProtoVisitor) VisitMapField ¶
func (p *ProtoVisitor) VisitMapField(f *proto.MapField)
func (*ProtoVisitor) VisitMessage ¶
func (p *ProtoVisitor) VisitMessage(m *proto.Message)
func (*ProtoVisitor) VisitNormalField ¶
func (p *ProtoVisitor) VisitNormalField(i *proto.NormalField)
func (*ProtoVisitor) VisitOneof ¶
func (p *ProtoVisitor) VisitOneof(o *proto.Oneof)
func (*ProtoVisitor) VisitOneofField ¶
func (p *ProtoVisitor) VisitOneofField(o *proto.OneOfField)
func (*ProtoVisitor) VisitOption ¶
func (p *ProtoVisitor) VisitOption(o *proto.Option)
func (*ProtoVisitor) VisitPackage ¶
func (p *ProtoVisitor) VisitPackage(pkg *proto.Package)
func (*ProtoVisitor) VisitRPC ¶
func (p *ProtoVisitor) VisitRPC(rpc *proto.RPC)
func (*ProtoVisitor) VisitReserved ¶
func (p *ProtoVisitor) VisitReserved(rs *proto.Reserved)
func (*ProtoVisitor) VisitService ¶
func (p *ProtoVisitor) VisitService(v *proto.Service)
func (*ProtoVisitor) VisitSyntax ¶
func (p *ProtoVisitor) VisitSyntax(s *proto.Syntax)
Click to show internal directories.
Click to hide internal directories.