generator

package
v0.1.5-beta Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Capitalize

func Capitalize(s string) string

Capitalize primeira letra maiúscula

func Pluralize

func Pluralize(s string) string

Pluralize adiciona 's' (versão simples)

func ToLower

func ToLower(s string) string

ToLower converte primeira letra para minúscula

func ToSnakeCase

func ToSnakeCase(s string) string

ToSnakeCase converte CamelCase para snake_case

Types

type ConfigData

type ConfigData struct {
	PackageName          string
	DatabaseDriver       string
	DatabaseDriverImport string
	DatabasePort         string
	DatabaseUser         string
	ProjectName          string
}

ConfigData contém dados para gerar configuração

type Field

type Field struct {
	Name     string
	Type     string
	JSONTag  string
	GORMTag  string
	Validate string
}

Field representa um campo do model

type Generator

type Generator struct {
	TemplatesPath string
	OutputPath    string
}

func NewGenerator

func NewGenerator(templatesPath, outputPath string) *Generator

NewGenerator cria uma nova instância do gerador

func (*Generator) Generate

func (g *Generator) Generate(templateName string, outputFile string, data interface{}) error

Generate processa um template e gera o arquivo

type HandlerData

type HandlerData struct {
	PackageName string
	ModelName   string
	Fields      []Field
}

HandlerData contém dados para gerar um handler

type ModelData

type ModelData struct {
	PackageName string
	ModelName   string
	TableName   string
	Fields      []Field
	Imports     []string
	HasTime     bool
}

ModelData contém dados para gerar um model

type ModelFieldData

type ModelFieldData struct {
	Name       string
	Type       string
	JSONTag    string
	GORMTag    string
	Annotation string
}

ModelFieldData representa um campo do model

type ModuleGenerator

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

ModuleGenerator gera código para módulos

func NewModuleGenerator

func NewModuleGenerator(templatesPath, projectName string) *ModuleGenerator

NewModuleGenerator cria um novo gerador de módulos

func (*ModuleGenerator) GenerateHandler

func (g *ModuleGenerator) GenerateHandler(moduleName, modelName string, methods map[string]bool) error

GenerateHandler gera um handler usando template

func (*ModuleGenerator) GenerateHandlerWithMetadata

func (g *ModuleGenerator) GenerateHandlerWithMetadata(moduleName, modelName string, metadata interface{}, methods map[string]bool) error

GenerateHandlerWithMetadata gera handler usando metadata do model parseado

func (*ModuleGenerator) GenerateRepository

func (g *ModuleGenerator) GenerateRepository(moduleName, modelName string, methods map[string]bool) error

GenerateRepository gera um repository usando template

func (*ModuleGenerator) GenerateService

func (g *ModuleGenerator) GenerateService(moduleName, modelName string, methods map[string]bool) error

GenerateService gera um service usando template

type ModuleHandlerData

type ModuleHandlerData struct {
	ProjectName    string
	ModuleName     string
	ModelName      string
	ModelNameLower string
	HasList        bool
	HasGet         bool
	HasCreate      bool
	HasUpdate      bool
	HasPatch       bool
	HasDelete      bool
}

ModuleHandlerData contém dados para gerar um handler de módulo

type ModuleInitData

type ModuleInitData struct {
	ModuleName string
}

ModuleInitData contém dados para gerar module.go inicial

type ModuleModelData

type ModuleModelData struct {
	ModelName string
	Fields    []ModelFieldData
}

ModuleModelData contém dados para gerar um model

type ModuleRepositoryData

type ModuleRepositoryData struct {
	ProjectName    string
	ModuleName     string
	ModelName      string
	ModelNameLower string
	HasList        bool
	HasGet         bool
	HasCreate      bool
	HasUpdate      bool
	HasDelete      bool
}

ModuleRepositoryData contém dados para gerar um repository de módulo

type ModuleServiceData

type ModuleServiceData struct {
	ProjectName    string
	ModuleName     string
	ModelName      string
	ModelNameLower string
	HasList        bool
	HasGet         bool
	HasCreate      bool
	HasUpdate      bool
	HasDelete      bool
}

ModuleServiceData contém dados para gerar um service de módulo

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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