generator

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatGoLikeIdentifier

func FormatGoLikeIdentifier(name string) string

func Generate

func Generate(ctx context.Context, opts *options.Options) error

func GenerateToIO

func GenerateToIO(ctx context.Context, input io.Reader, schemasOutput io.Writer, handlersOutput io.Writer,
	importPrefix string, packageName string, opts *options.Options,
) error

func GetModelName

func GetModelName(yamlFilePath string) string

func GetSchemaValidators

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

func GoIdentLowercase

func GoIdentLowercase(name string) string

func ParseRefTypeName

func ParseRefTypeName(ref string) string

Types

type Generator

type Generator struct {
	SchemasFile  *SchemasFile
	HandlersFile *HandlersFile
}

func NewGenerator

func NewGenerator(importPrefix string, packageName string, requiredFieldsArePointers bool) *Generator

func (*Generator) AddContentTypeToHandler

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

func (*Generator) AddDependencyToHandler

func (g *Generator) AddDependencyToHandler(baseName string)

func (*Generator) AddHandleOperationMethod

func (g *Generator) AddHandleOperationMethod(baseName string)

func (*Generator) AddInterface

func (g *Generator) AddInterface(baseName string)

func (*Generator) AddParseParamsMethods

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

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

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

func (*Generator) Generate

func (g *Generator) Generate(yaml *openapi3.T)

func (*Generator) GetOperationParamsByType

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

func (*Generator) ProcessApplicationJSONOperation

func (g *Generator) ProcessApplicationJSONOperation(pathName string, method string, contentType string,
	operation *openapi3.Operation,
) 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) ProcessSchemas

func (g *Generator) ProcessSchemas(schemas map[string]*openapi3.SchemaRef) 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
}

func NewHandlersFile

func NewHandlersFile(packageName string, importPrefix string, modelsImportPath string, requiredFieldsArePointers bool) *HandlersFile

func (*HandlersFile) AddContentTypeHandler

func (h *HandlersFile) AddContentTypeHandler(baseName string, rawContentType string)

func (*HandlersFile) AddCreateResponseModel added in v0.0.2

func (h *HandlersFile) AddCreateResponseModel(baseName string, code string, response *openapi3.ResponseRef) error

func (*HandlersFile) AddDependencyToHandler

func (h *HandlersFile) AddDependencyToHandler(baseName string)

func (*HandlersFile) AddHandleOperationMethod

func (h *HandlersFile) AddHandleOperationMethod(baseName string)

func (*HandlersFile) AddImport

func (h *HandlersFile) AddImport(path string)

func (*HandlersFile) AddInterface

func (h *HandlersFile) AddInterface(name string, methodName string, requestName string, responseName string)

func (*HandlersFile) AddParseHeadersMethod

func (h *HandlersFile) AddParseHeadersMethod(baseName string, params openapi3.Parameters) error

func (*HandlersFile) AddParsePathParamsMethod

func (h *HandlersFile) AddParsePathParamsMethod(baseName string, params openapi3.Parameters) error

func (*HandlersFile) AddParseQueryParamsMethod

func (h *HandlersFile) AddParseQueryParamsMethod(baseName string, params openapi3.Parameters) error

func (*HandlersFile) AddParseRequestBodyMethod

func (h *HandlersFile) AddParseRequestBodyMethod(baseName string, contentType string, body *openapi3.RequestBodyRef) error

func (*HandlersFile) AddParseRequestMethod

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

func (*HandlersFile) AddRouteToRouter

func (h *HandlersFile) AddRouteToRouter(baseName string, method string, pathName string)

func (*HandlersFile) AddWriteResponseCode

func (h *HandlersFile) AddWriteResponseCode(baseName string, code string, response *openapi3.ResponseRef) error

func (*HandlersFile) AddWriteResponseMethod

func (h *HandlersFile) AddWriteResponseMethod(baseName string, codes []string)

func (*HandlersFile) AssignStringField

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

func (*HandlersFile) CreateHandler

func (h *HandlersFile) CreateHandler(baseName string)

func (*HandlersFile) FinalizeHandlerSwitches

func (h *HandlersFile) FinalizeHandlerSwitches()

func (*HandlersFile) GenerateFile

func (h *HandlersFile) GenerateFile() *ast.File

func (*HandlersFile) GenerateImportsSpecs

func (h *HandlersFile) GenerateImportsSpecs(imp []string) ([]*ast.ImportSpec, []ast.Spec)

func (*HandlersFile) GetHandler

func (h *HandlersFile) GetHandler(baseName string) *ast.BlockStmt

func (*HandlersFile) InitFields

func (h *HandlersFile) InitFields(packageName string, modelsImportPath string)

func (*HandlersFile) InitHandlerConstructor

func (h *HandlersFile) InitHandlerConstructor()

func (*HandlersFile) InitHandlerStruct

func (h *HandlersFile) InitHandlerStruct()

func (*HandlersFile) InitImports

func (h *HandlersFile) InitImports(modelsImportPath string)

func (*HandlersFile) InitRoutesFunc

func (h *HandlersFile) InitRoutesFunc()

func (*HandlersFile) WriteToOutput

func (h *HandlersFile) WriteToOutput(output io.Writer) error

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
}

func NewSchemasFile

func NewSchemasFile(requiredFieldsArePointers bool) *SchemasFile

func (*SchemasFile) AddHeadersModel

func (m *SchemasFile) AddHeadersModel(baseName string, headers openapi3.Headers) error

func (*SchemasFile) AddImport

func (m *SchemasFile) AddImport(path string)

func (*SchemasFile) AddParamsModel

func (m *SchemasFile) AddParamsModel(baseName string, paramType string, params openapi3.Parameters) error

func (*SchemasFile) AddSchema

func (m *SchemasFile) AddSchema(model SchemaStruct)

func (*SchemasFile) AddSliceAlias

func (m *SchemasFile) AddSliceAlias(name string, typeName string)

func (*SchemasFile) AddTypeAlias

func (m *SchemasFile) AddTypeAlias(name string, typeName string)

func (*SchemasFile) GenerateImportsSpecs

func (m *SchemasFile) GenerateImportsSpecs(imp []string) ([]*ast.ImportSpec, []ast.Spec)

func (*SchemasFile) GenerateRequestModel

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

func (*SchemasFile) GetFieldTypeFromSchema

func (m *SchemasFile) GetFieldTypeFromSchema(modelName string, fieldName string,
	fieldSchema *openapi3.SchemaRef,
) (string, error)

func (*SchemasFile) GetIntegerType

func (m *SchemasFile) GetIntegerType(format string) string

func (*SchemasFile) GetStringType

func (m *SchemasFile) GetStringType(format string) string

func (*SchemasFile) ProcessArraySchema

func (m *SchemasFile) ProcessArraySchema(modelName string, schema *openapi3.SchemaRef,
) error

func (*SchemasFile) ProcessObjectSchema

func (m *SchemasFile) ProcessObjectSchema(modelName string, schema *openapi3.SchemaRef) error

func (*SchemasFile) ProcessSchema

func (m *SchemasFile) ProcessSchema(modelName string, schema *openapi3.SchemaRef) error

func (*SchemasFile) ProcessTypeAlias

func (m *SchemasFile) ProcessTypeAlias(modelName string, schema *openapi3.SchemaRef) error

func (*SchemasFile) WriteToOutput

func (m *SchemasFile) WriteToOutput(output io.Writer) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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