generator

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2025 License: MIT Imports: 18 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.Expr

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 ParseRefTypeName

func ParseRefTypeName(ref string) string

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.Expr

func Star added in v0.0.4

func Star(field ast.Expr) ast.Expr

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
	// 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) 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)

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) 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) 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) 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) InitHandlerConstructor added in v0.0.6

func (g *Generator) InitHandlerConstructor()

func (*Generator) InitHandlerFields added in v0.0.6

func (g *Generator) InitHandlerFields(packageName string, modelsImportPath string)

func (*Generator) InitHandlerImports added in v0.0.6

func (g *Generator) InitHandlerImports(modelsImportPath string)

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) 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