render

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProtoFilePostfix    = ".proto"
	RestProtoFilePrefix = "i_"
	GoFilePostfix       = ".go"
)

Variables

This section is empty.

Functions

func RemoveTableCommentSuffix

func RemoveTableCommentSuffix(input string) string

func WriteEntDataPackageCode

func WriteEntDataPackageCode(outputPath string, data DataTemplateData)

WriteEntDataPackageCode writes the Ent data package code to the specified output path.

func WriteGormDataPackageCode

func WriteGormDataPackageCode(outputPath string, data DataTemplateData)

WriteGormDataPackageCode writes the GORM data package code to the specified output path.

func WriteGrpcServiceProto

func WriteGrpcServiceProto(outputPath string, data GrpcProtoTemplateData)

WriteGrpcServiceProto write gRPC service proto file

func WriteInitWireCode

func WriteInitWireCode(outputPath string, data InitWireTemplateData)

WriteInitWireCode writes the initialization wire code to the specified output path.

func WriteMainCode

func WriteMainCode(outputPath string, data MainTemplateData)

WriteMainCode writes the main code to the specified output path.

func WriteRestServiceProto

func WriteRestServiceProto(outputPath string, data RestProtoTemplateData)

WriteRestServiceProto write REST service proto file

func WriteServerPackageCode

func WriteServerPackageCode(outputPath string, data ServerTemplateData)

WriteServerPackageCode writes the server package code to the specified output path.

func WriteServicePackageCode added in v0.0.4

func WriteServicePackageCode(outputPath string, data ServiceTemplateData)

WriteServicePackageCode writes the GRPC service package code to the specified output path.

func WriteWireCode

func WriteWireCode(outputPath string, data WireTemplateData)

WriteWireCode writes the wire code to the specified output path.

Types

type DataTemplateData

type DataTemplateData struct {
	Project string
	Service string
	Name    string

	Module  string
	Version string

	Fields ProtoFieldArray

	UseTimestamp bool
}

func (DataTemplateData) ApiPackage

func (d DataTemplateData) ApiPackage() string

func (DataTemplateData) ClassName

func (d DataTemplateData) ClassName() string

func (DataTemplateData) LowerName

func (d DataTemplateData) LowerName() string

func (DataTemplateData) PascalName

func (d DataTemplateData) PascalName() string

type GrpcProtoTemplateData

type GrpcProtoTemplateData struct {
	Name    string // Proto文件名
	Comment string // Proto文件注释
	Version string // Proto版本号

	Module string // 模块名

	Fields ProtoFieldArray // 字段列表
}

func (GrpcProtoTemplateData) Package

func (d GrpcProtoTemplateData) Package() string

func (GrpcProtoTemplateData) PascalName

func (d GrpcProtoTemplateData) PascalName() string

func (GrpcProtoTemplateData) SnakeName

func (d GrpcProtoTemplateData) SnakeName() string

type InitWireTemplateData

type InitWireTemplateData struct {
	Package      string
	Postfix      string
	ServiceNames []string
}

type MainTemplateData

type MainTemplateData struct {
	Project string
	Service string

	EnableREST  bool
	EnableGRPC  bool
	EnableAsynq bool
	EnableSSE   bool
	EnableKafka bool
	EnableMQTT  bool
}

type ProtoField

type ProtoField struct {
	Number  int    // 字段编号
	Name    string // 字段名
	Type    string // 字段类型
	Comment string // 字段注释
}

ProtoField protobuf字段定义

func (ProtoField) CamelName

func (f ProtoField) CamelName() string

func (ProtoField) EntPascalName

func (f ProtoField) EntPascalName() string

func (ProtoField) EntSetNillableFunc

func (f ProtoField) EntSetNillableFunc() string

func (ProtoField) PascalName

func (f ProtoField) PascalName() string

func (ProtoField) SnakeName

func (f ProtoField) SnakeName() string

type ProtoFieldArray added in v0.0.4

type ProtoFieldArray []ProtoField

type ProtoItem

type ProtoItem struct {
	Module string
	Name   string
}

type RestProtoTemplateData

type RestProtoTemplateData struct {
	Name    string
	Comment string
	Version string

	SourceModule string
	TargetModule string
}

func (RestProtoTemplateData) PascalName

func (d RestProtoTemplateData) PascalName() string

func (RestProtoTemplateData) Path

func (d RestProtoTemplateData) Path() string

func (RestProtoTemplateData) SourcePackage

func (d RestProtoTemplateData) SourcePackage() string

func (RestProtoTemplateData) SourceProto

func (d RestProtoTemplateData) SourceProto() string

func (RestProtoTemplateData) TargetPackage

func (d RestProtoTemplateData) TargetPackage() string

type ServerTemplateData

type ServerTemplateData struct {
	Project  string
	Service  string
	Type     string
	Services map[string]string
}

func (ServerTemplateData) Modules

func (d ServerTemplateData) Modules() []string

type ServiceTemplateData

type ServiceTemplateData struct {
	Project string
	Service string
	Name    string

	Version string

	SourceModuleName string
	TargetModuleName string

	UseRepo bool // 是否使用数据仓库,否则使用GRPC客户端。
	IsGrpc  bool // 是否是GRPC服务。
}

func (ServiceTemplateData) ClassName

func (d ServiceTemplateData) ClassName() string

func (ServiceTemplateData) DataSourceType

func (d ServiceTemplateData) DataSourceType() string

func (ServiceTemplateData) DataSourceVar

func (d ServiceTemplateData) DataSourceVar() string

func (ServiceTemplateData) IsSameApi

func (d ServiceTemplateData) IsSameApi() bool

func (ServiceTemplateData) LowerName

func (d ServiceTemplateData) LowerName() string

func (ServiceTemplateData) PascalName

func (d ServiceTemplateData) PascalName() string

func (ServiceTemplateData) ServiceInterface

func (d ServiceTemplateData) ServiceInterface() string

func (ServiceTemplateData) SourceApiPackage

func (d ServiceTemplateData) SourceApiPackage() string

func (ServiceTemplateData) TargetApiPackage

func (d ServiceTemplateData) TargetApiPackage() string

type WireTemplateData

type WireTemplateData struct {
	Project string
	Service string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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