generator

package
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Amp added in v0.0.4

func Amp(field ast.Expr) *ast.UnaryExpr

func Eq added in v0.0.4

func Eq(left, right ast.Expr) *ast.BinaryExpr

func Field added in v0.0.4

func Field(name string, fieldType ast.Expr, tags string) *ast.Field

func FieldA added in v0.0.4

func FieldA(field *ast.Field) []*ast.Field

func FormatGoLikeIdentifier

func FormatGoLikeIdentifier(name string) string

func Func added in v0.0.4

func Func(name string, receiver *ast.Field, params []*ast.Field, result []*ast.Field, body []ast.Stmt) *ast.FuncDecl

func GetSchemaValidators

func GetSchemaValidators(schema *openapi3.SchemaRef) []string

func GoIdentLowercase

func GoIdentLowercase(name string) string

func I added in v0.0.4

func I(name string) *ast.Ident

func Ne added in v0.0.4

func Ne(left, right ast.Expr) *ast.BinaryExpr

func Ret added in v0.0.4

func Ret() *ast.ReturnStmt

func Ret1 added in v0.0.4

func Ret1(expr ast.Expr) *ast.ReturnStmt

func Ret2 added in v0.0.4

func Ret2(expr1, expr2 ast.Expr) *ast.ReturnStmt

func Sel added in v0.0.4

func Sel(field ast.Expr, sel string) *ast.SelectorExpr

func Star added in v0.0.4

func Star(field ast.Expr) *ast.StarExpr

func Str added in v0.0.4

func Str(value string) *ast.BasicLit

Types

type Generator

type Generator struct {
	Opts *options.Options

	SchemasFile  *SchemasFile
	HandlersFile *HandlersFile

	// strings
	PackageName      string
	ImportPrefix     string
	ModelsImportPath string
	CurrentYAMLFile  string

	YAMLFilesToProcess []string
	YAMLFilesProcessed map[string]bool
	// contains filtered or unexported fields
}

func NewGenerator

func NewGenerator(opts *options.Options) *Generator

func (*Generator) AddArrayValidate added in v0.0.6

func (g *Generator) AddArrayValidate(modelName string, schema *openapi3.SchemaRef) error

func (*Generator) AddContainsNullIfNeeded added in v0.0.6

func (g *Generator) AddContainsNullIfNeeded()

func (*Generator) AddContentTypeHandler added in v0.0.6

func (g *Generator) AddContentTypeHandler(baseName string, rawContentType string)

func (*Generator) AddContentTypeToHandler

func (g *Generator) AddContentTypeToHandler(baseName string, rawContentType string)

func (*Generator) AddCreateResponseModel added in v0.0.6

func (g *Generator) AddCreateResponseModel(baseName string, code string, response *openapi3.ResponseRef) error

func (*Generator) AddDependencyToHandler

func (g *Generator) AddDependencyToHandler(baseName string)

func (*Generator) AddDependencyToHandlers added in v0.0.6

func (g *Generator) AddDependencyToHandlers(baseName string)

func (*Generator) AddHandleOperationMethod

func (g *Generator) AddHandleOperationMethod(baseName string)

func (*Generator) AddHandleOperationMethodHandlers added in v0.0.6

func (g *Generator) AddHandleOperationMethodHandlers(baseName string)

func (*Generator) AddHandlersImport added in v0.0.6

func (g *Generator) AddHandlersImport(path string)

func (*Generator) AddHandlersInterface added in v0.0.6

func (g *Generator) AddHandlersInterface(name string, methodName string, requestName string, responseName string)

func (*Generator) AddHeadersModel added in v0.0.6

func (g *Generator) AddHeadersModel(baseName string, headers openapi3.Headers) error

func (*Generator) AddInterface

func (g *Generator) AddInterface(baseName string)

func (*Generator) AddObjectValidate added in v0.0.6

func (g *Generator) AddObjectValidate(modelName string, schema *openapi3.SchemaRef) error

func (*Generator) AddParamsModel added in v0.0.6

func (g *Generator) AddParamsModel(baseName string, paramType string, params openapi3.Parameters) error

func (*Generator) AddParseCookiesMethod added in v0.0.6

func (g *Generator) AddParseCookiesMethod(baseName string, params openapi3.Parameters) error

func (*Generator) AddParseHeadersMethod added in v0.0.6

func (g *Generator) AddParseHeadersMethod(baseName string, params openapi3.Parameters) error

func (*Generator) AddParseParamsMethods

func (g *Generator) AddParseParamsMethods(baseName string, contentType string, operation *openapi3.Operation) error

func (*Generator) AddParsePathParamsMethod added in v0.0.6

func (g *Generator) AddParsePathParamsMethod(baseName string, params openapi3.Parameters) error

func (*Generator) AddParseQueryParamsMethod added in v0.0.6

func (g *Generator) AddParseQueryParamsMethod(baseName string, params openapi3.Parameters) error

func (*Generator) AddParseRequestBodyMethod added in v0.0.6

func (g *Generator) AddParseRequestBodyMethod(baseName string, contentType string, body *openapi3.RequestBodyRef) error

func (*Generator) AddParseRequestMethod added in v0.0.6

func (g *Generator) AddParseRequestMethod(baseName string, contentType string, pathParams openapi3.Parameters,
	queryParams openapi3.Parameters, headers openapi3.Parameters, cookieParams openapi3.Parameters,
	body *openapi3.RequestBodyRef,
)

func (*Generator) AddResponseCodeModels

func (g *Generator) AddResponseCodeModels(baseName string, code string, response *openapi3.ResponseRef) error

func (*Generator) AddResponseModel

func (g *Generator) AddResponseModel(baseName string, responseCodes []string)

func (*Generator) AddRoute

func (g *Generator) AddRoute(baseName string, method string, pathName string)

func (*Generator) AddRouteToRouter added in v0.0.6

func (g *Generator) AddRouteToRouter(baseName string, method string, pathName string)

func (*Generator) AddSchema added in v0.0.6

func (g *Generator) AddSchema(model SchemaStruct)

func (*Generator) AddSchemasImport added in v0.0.6

func (g *Generator) AddSchemasImport(path string)

func (*Generator) AddSliceAlias added in v0.0.6

func (g *Generator) AddSliceAlias(name string, typeName string)

func (*Generator) AddTypeAlias added in v0.0.6

func (g *Generator) AddTypeAlias(name string, typeName string)

func (*Generator) AddWriteHeadersForResponseCode added in v0.0.16

func (g *Generator) AddWriteHeadersForResponseCode(baseName string, code string, response *openapi3.ResponseRef) error

func (*Generator) AddWriteResponseCode added in v0.0.6

func (g *Generator) AddWriteResponseCode(baseName string, code string, response *openapi3.ResponseRef) error

func (*Generator) AddWriteResponseMethod

func (g *Generator) AddWriteResponseMethod(baseName string, operation *openapi3.Operation) error

func (*Generator) AddWriteResponseMethodHandlers added in v0.0.6

func (g *Generator) AddWriteResponseMethodHandlers(baseName string, codes []string, operation *openapi3.Operation) error

func (*Generator) AssignStringField added in v0.0.6

func (g *Generator) AssignStringField(paramsName string, varName string, fieldName string, param *openapi3.SchemaRef, required bool) []ast.Stmt

func (*Generator) CreateHandler added in v0.0.6

func (g *Generator) CreateHandler(baseName string)

func (*Generator) FinalizeHandlerSwitches added in v0.0.6

func (g *Generator) FinalizeHandlerSwitches()

func (*Generator) Gen added in v0.0.6

func (g *Generator) Gen()

func (*Generator) Generate

func (g *Generator) Generate(ctx context.Context) error

func (*Generator) GenerateFiles added in v0.0.6

func (g *Generator) GenerateFiles() error

func (*Generator) GenerateHandlersFile added in v0.0.6

func (g *Generator) GenerateHandlersFile() *ast.File

func (*Generator) GenerateImportsSpecs added in v0.0.6

func (g *Generator) GenerateImportsSpecs(imp []string) ([]*ast.ImportSpec, []ast.Spec)

func (*Generator) GenerateImportsSpecsSchemas added in v0.0.6

func (g *Generator) GenerateImportsSpecsSchemas(imp []string) ([]*ast.ImportSpec, []ast.Spec)

func (*Generator) GenerateRequestModel added in v0.0.6

func (g *Generator) GenerateRequestModel(baseName string, contentType string, pathParams openapi3.Parameters,
	queryParams openapi3.Parameters, headers openapi3.Parameters, cookieParams openapi3.Parameters,
	body *openapi3.RequestBodyRef,
)

func (*Generator) GetCurrentModelsPackage added in v0.0.8

func (g *Generator) GetCurrentModelsPackage() string

func (*Generator) GetDerefFieldTypeFromSchema added in v0.0.6

func (g *Generator) GetDerefFieldTypeFromSchema(modelName string, fieldName string,
	fieldSchema *openapi3.SchemaRef,
) (string, error)

func (*Generator) GetFieldTypeFromSchema added in v0.0.6

func (g *Generator) GetFieldTypeFromSchema(modelName string, fieldName string,
	fieldSchema *openapi3.SchemaRef,
) (string, error)

func (*Generator) GetHandler added in v0.0.6

func (g *Generator) GetHandler(baseName string) *ast.BlockStmt

func (*Generator) GetHandlersImportForFile added in v0.0.8

func (g *Generator) GetHandlersImportForFile(filename string) string

func (*Generator) GetIntegerType added in v0.0.6

func (g *Generator) GetIntegerType(format string) string

func (*Generator) GetModelName added in v0.0.6

func (g *Generator) GetModelName(yamlFilePath string) string

func (*Generator) GetModelsImportForFile added in v0.0.8

func (g *Generator) GetModelsImportForFile(filename string) string

func (*Generator) GetOperationParamsByType

func (g *Generator) GetOperationParamsByType(operation *openapi3.Operation, paramIn string) openapi3.Parameters

func (*Generator) GetStringType added in v0.0.6

func (g *Generator) GetStringType(format string) string

func (*Generator) GetValidateFuncStmt added in v0.0.8

func (g *Generator) GetValidateFuncStmt(typeName string, ref string) ast.Expr

func (*Generator) GetYAMLFilePath added in v0.0.9

func (g *Generator) GetYAMLFilePath(filename string) string

func (*Generator) InitHandlerConstructor added in v0.0.6

func (g *Generator) InitHandlerConstructor()

func (*Generator) InitHandlerFields added in v0.0.6

func (g *Generator) InitHandlerFields(packageName string)

func (*Generator) InitHandlerImports added in v0.0.6

func (g *Generator) InitHandlerImports()

func (*Generator) InitHandlerStruct added in v0.0.6

func (g *Generator) InitHandlerStruct()

func (*Generator) InitRoutesFunc added in v0.0.6

func (g *Generator) InitRoutesFunc()

func (*Generator) NewHandlersFile added in v0.0.6

func (g *Generator) NewHandlersFile()

func (*Generator) NewSchemasFile added in v0.0.6

func (g *Generator) NewSchemasFile()

func (*Generator) ParseRefTypeName added in v0.0.8

func (g *Generator) ParseRefTypeName(ref string) (string, string)

func (*Generator) PrepareAndRead added in v0.0.6

func (g *Generator) PrepareAndRead(reader io.Reader) error

func (*Generator) PrepareFiles added in v0.0.6

func (g *Generator) PrepareFiles() error

func (*Generator) ProcessApplicationJSONOperation

func (g *Generator) ProcessApplicationJSONOperation(pathName string, method string, contentType string,
	operation *openapi3.Operation,
) error

func (*Generator) ProcessArraySchema added in v0.0.6

func (g *Generator) ProcessArraySchema(modelName string, schema *openapi3.SchemaRef,
) error

func (*Generator) ProcessObjectSchema added in v0.0.6

func (g *Generator) ProcessObjectSchema(modelName string, schema *openapi3.SchemaRef) error

func (*Generator) ProcessOperation

func (g *Generator) ProcessOperation(pathName string, method string, operation *openapi3.Operation) error

func (*Generator) ProcessPaths

func (g *Generator) ProcessPaths(paths *openapi3.Paths) error

func (*Generator) ProcessSchema added in v0.0.6

func (g *Generator) ProcessSchema(modelName string, schema *openapi3.SchemaRef) error

func (*Generator) ProcessSchemas

func (g *Generator) ProcessSchemas(schemas map[string]*openapi3.SchemaRef) error

func (*Generator) ProcessTypeAlias added in v0.0.6

func (g *Generator) ProcessTypeAlias(modelName string, schema *openapi3.SchemaRef) error

func (*Generator) WriteHandlersToOutput added in v0.0.6

func (g *Generator) WriteHandlersToOutput(output io.Writer) error

func (*Generator) WriteOutFiles added in v0.0.6

func (g *Generator) WriteOutFiles() error

func (*Generator) WriteSchemasToOutput added in v0.0.6

func (g *Generator) WriteSchemasToOutput(output io.Writer) error

func (*Generator) WriteToOutput

func (g *Generator) WriteToOutput(modelsOutput io.Writer, handlersOutput io.Writer) error

type HandlersFile

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

type SchemaField

type SchemaField struct {
	Name        string
	Type        string
	TagJSON     []string
	TagValidate []string
	Required    bool
}

type SchemaStruct

type SchemaStruct struct {
	Name   string
	Fields []SchemaField
}

type SchemasFile

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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