Documentation
¶
Index ¶
- Constants
- func ExecuteTemplate(name string, data any) (string, error)
- func IfaceRender(value reflect.Value) (string, error)
- func NewCustomType(s string) (CustomType, Imports)
- func NewHeaderParameter(sr specification.Ref[specification.HeaderParameter]) (zero *HeaderParameter, _ Imports, _ error)
- func NewOperation(s *specification.Operation, components specification.Components) (zero *Operation, _ Imports, _ error)
- func NewOperationParams(params specification.OperationParameters) (zero OperationParams, _ Imports, _ error)
- func NewPathParameter(rs specification.Ref[specification.PathParameter]) (zero *PathParameter, _ Imports, _ error)
- func NewQueryParameter(s *specification.QueryParameter) (zero *QueryParameter, _ Imports, _ error)
- func NewSchema(s specification.Ref[specification.Schema]) (Render, Imports, error)
- func NewStructureField(s specification.SchemaProperty) (zero StructureField, _ Imports, _ error)
- func NewStructureType(s *specification.Schema) (zero StructureType, _ Imports, _ error)
- func PrefixTitle(s specification.Prefix) string
- func PrivateFieldName(name string) string
- func PublicFieldName(name string) string
- func Title(s string) string
- type AssignData
- type BoolType
- type Client
- type ClientHeader
- type ClientOperation
- type Components
- type CookieParameter
- type CustomType
- type ErrorRender
- type ExecTemplater
- type FloatType
- type Formatter
- type FormatterFunc
- type GenOption
- type Generator
- type GeneratorOptions
- type GoFile
- type Handler
- type HandlerOld
- type HandlersFile
- type Header
- type HeaderParameter
- type Import
- type Imports
- type IntType
- type Operation
- type OperationName
- type OperationOld
- type OperationParams
- type Optional
- type Param
- type Parameter
- type Parser
- type ParserFunc
- type PathDir
- type PathItem
- type PathParameter
- type PathParameters
- type QueryParameter
- type QuotedRender
- type RawTemplate
- type Ref
- type Render
- type RenderFunc
- type Renders
- type Response
- type Route
- type RoutePathItem
- type Router
- type RouterPathItem
- type SchemaComponent
- type SliceType
- type StringRender
- type StringType
- type StructureField
- type StructureFieldTag
- type StructureType
- type TData
- type Template
- type Templater
- type TemplaterFunc
- type Templaters
Constants ¶
View Source
const ExtTagGoType = "x-goag-go-type"
Variables ¶
This section is empty.
Functions ¶
func NewCustomType ¶ added in v0.0.8
func NewCustomType(s string) (CustomType, Imports)
func NewHeaderParameter ¶ added in v0.0.2
func NewHeaderParameter(sr specification.Ref[specification.HeaderParameter]) (zero *HeaderParameter, _ Imports, _ error)
func NewOperation ¶ added in v0.0.2
func NewOperation(s *specification.Operation, components specification.Components) (zero *Operation, _ Imports, _ error)
func NewOperationParams ¶ added in v0.0.14
func NewOperationParams(params specification.OperationParameters) (zero OperationParams, _ Imports, _ error)
func NewPathParameter ¶
func NewPathParameter(rs specification.Ref[specification.PathParameter]) (zero *PathParameter, _ Imports, _ error)
func NewQueryParameter ¶ added in v0.0.2
func NewQueryParameter(s *specification.QueryParameter) (zero *QueryParameter, _ Imports, _ error)
func NewSchema ¶
func NewSchema(s specification.Ref[specification.Schema]) (Render, Imports, error)
func NewStructureField ¶ added in v0.0.11
func NewStructureField(s specification.SchemaProperty) (zero StructureField, _ Imports, _ error)
func NewStructureType ¶ added in v0.0.11
func NewStructureType(s *specification.Schema) (zero StructureType, _ Imports, _ error)
func PrefixTitle ¶ added in v0.0.2
func PrefixTitle(s specification.Prefix) string
func PrivateFieldName ¶
func PublicFieldName ¶
Types ¶
type AssignData ¶ added in v0.0.2
type BoolType ¶ added in v0.0.10
type BoolType struct{}
func (BoolType) RenderFormat ¶ added in v0.0.10
func (BoolType) RenderParser ¶ added in v0.0.10
func (b BoolType) RenderParser(from, to Render, mkErr ErrorRender) (string, error)
type Client ¶ added in v0.0.2
type Client struct {
Imports []Import
Operations []ClientOperation
IsDecodeJSONFunc bool
}
type ClientHeader ¶ added in v0.0.14
func (*ClientHeader) RenderFormat ¶ added in v0.0.18
func (c *ClientHeader) RenderFormat(from string) (string, error)
type ClientOperation ¶ added in v0.0.14
type ClientOperation struct {
*Operation
RequestVarName string
IsRequestBody bool
Headers []ClientHeader
}
func NewClientOperation ¶ added in v0.0.14
func NewClientOperation(o *Operation) ClientOperation
func (ClientOperation) PathFormat ¶ added in v0.0.14
func (c ClientOperation) PathFormat() (Renders, error)
type Components ¶
type Components struct {
Imports Imports
Schemas []SchemaComponent
}
func NewComponents ¶
func NewComponents(spec specification.Components) (zero Components, _ error)
type CookieParameter ¶ added in v0.0.14
type CookieParameter struct {
specification.CookieParameter
}
type CustomType ¶ added in v0.0.5
type CustomType string
func (CustomType) Render ¶ added in v0.0.11
func (c CustomType) Render() (string, error)
func (CustomType) RenderFormat ¶ added in v0.0.11
func (c CustomType) RenderFormat(from Render) (string, error)
type ErrorRender ¶ added in v0.0.10
type ExecTemplater ¶ added in v0.0.2
type FloatType ¶ added in v0.0.10
type FloatType struct {
BitSize int
}
func (FloatType) RenderFormat ¶ added in v0.0.10
func (FloatType) RenderParser ¶ added in v0.0.10
func (i FloatType) RenderParser(from, to Render, mkErr ErrorRender) (string, error)
type FormatterFunc ¶ added in v0.0.10
func (FormatterFunc) RenderFormat ¶ added in v0.0.10
func (f FormatterFunc) RenderFormat(from Render) (string, error)
type GenOption ¶ added in v0.0.2
type GenOption interface {
// contains filtered or unexported methods
}
func PackageName ¶ added in v0.0.2
func SkipDoNotEdit ¶ added in v0.0.2
func SkipDoNotEdit() GenOption
func SpecFilename ¶ added in v0.0.14
type Generator ¶ added in v0.0.2
type Generator struct {
Options GeneratorOptions
Spec *specification.Spec
Imports Imports
Operations []*Operation
Paths []*PathItem
Router Router
Client Client
}
func NewGenerator ¶ added in v0.0.2
func NewGenerator(spec *specification.Spec, opts ...GenOption) (*Generator, error)
func (*Generator) ClientFile ¶ added in v0.0.2
func (*Generator) HandlersFile ¶ added in v0.0.2
func (g *Generator) HandlersFile(hs []HandlerOld, isJSON bool) (Templater, error)
func (*Generator) RouterFile ¶ added in v0.0.2
type GeneratorOptions ¶ added in v0.0.14
type Handler ¶
type Handler struct {
Imports Imports
Name OperationName
Method specification.HTTPMethodTitle
HTTPMethod specification.HTTPMethod
Path specification.PathOld2
PathBuilder []PathDir
HandlerTypeName string
HandlerInputTypeName string
RequestTypeName string
RequestVarName string
Params struct {
Query []*QueryParameter
Path PathParameters
Headers []*HeaderParameter
}
IsRequestBody bool
ResponseTypeName string
ResponsePrivateFuncName string
DefaultResponse Optional[*Response]
Responses []*Response
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(o *specification.Operation) (zero Handler, _ error)
type HandlerOld ¶ added in v0.0.2
type HandlerOld struct {
// deprecated
Name OperationName
Description string
Summary string
BasePathPrefix string
CanParseError bool
ResponserInterfaceName string
IsJWT bool
Parameters struct {
Query []Param
Path []Param
Headers []Param
PathParsers []Templater
}
Body struct {
TypeName Templater
}
IsWriteJSONFunc bool
Responses []Templater
}
func (HandlerOld) Execute ¶ added in v0.0.2
func (h HandlerOld) Execute() (string, error)
func (HandlerOld) HandlerFuncName ¶ added in v0.0.2
func (h HandlerOld) HandlerFuncName() string
type HandlersFile ¶ added in v0.0.2
type HandlersFile struct {
Handlers []HandlerOld
IsWriteJSONFunc bool
}
func (HandlersFile) Execute ¶ added in v0.0.2
func (h HandlersFile) Execute() (string, error)
type Header ¶ added in v0.0.2
type Header struct {
Spec specification.HeaderOld
FieldName string
Key string
}
func NewHeader ¶ added in v0.0.2
func NewHeader(spec specification.HeaderOld) Header
type HeaderParameter ¶ added in v0.0.2
type Imports ¶ added in v0.0.14
type Imports []Import
func NewImportsS ¶ added in v0.0.14
func NewParameterSchema ¶ added in v0.0.11
type IntType ¶ added in v0.0.2
type IntType struct {
BitSize int
}
func (IntType) RenderFormat ¶ added in v0.0.10
func (IntType) RenderParser ¶ added in v0.0.10
func (i IntType) RenderParser(from, to Render, mkErr ErrorRender) (string, error)
type Operation ¶ added in v0.0.2
type Operation struct {
*specification.Operation
Name OperationName
Path specification.PathOld2
APIHandlerFieldName string
HandlerTypeName string
RequestTypeName string
ResponseTypeName string
Params OperationParams
DefaultResponse Optional[*Response]
Responses []*Response
}
type OperationName ¶ added in v0.0.2
type OperationName string
func NewOperationName ¶ added in v0.0.14
func NewOperationName(s *specification.Operation) OperationName
func OperationNameOld ¶ added in v0.0.14
func OperationNameOld(operationID string, path specification.PathOld2, method specification.HTTPMethodTitle) OperationName
type OperationOld ¶ added in v0.0.14
type OperationOld struct {
Operation *specification.Operation
Name OperationName
HandlerTypeName string
PathParameters []Parameter[*specification.PathParameter]
QueryParameters []Parameter[*specification.QueryParameter]
HeaderParameters []Parameter[*specification.HeaderParameter]
Handler *HandlerOld // Deprecated
}
func NewOperationOld ¶ added in v0.0.14
func NewOperationOld(operation *specification.Operation) *OperationOld
type OperationParams ¶ added in v0.0.14
type OperationParams struct {
Query specification.Map[*QueryParameter]
Headers specification.Map[*HeaderParameter]
Path specification.Map[*PathParameter]
Cookie specification.Map[*CookieParameter]
}
type Optional ¶ added in v0.0.2
func NewOptional ¶ added in v0.0.14
type Parameter ¶ added in v0.0.2
type Parameter[T interface {
*specification.PathParameter | *specification.QueryParameter | *specification.HeaderParameter
}] struct {
Spec T
FieldName string
}
type Parser ¶ added in v0.0.10
type Parser interface {
RenderParser(from, to Render, mkErr ErrorRender) (string, error)
}
Parser parses 'string' to '<type>'.
type ParserFunc ¶ added in v0.0.10
type ParserFunc func(from, to Render, mkErr ErrorRender) (string, error)
func (ParserFunc) RenderParser ¶ added in v0.0.10
func (p ParserFunc) RenderParser(from, to Render, mkErr ErrorRender) (string, error)
type PathDir ¶ added in v0.0.2
type PathDir struct {
V string
Param *PathParameter
}
func (PathDir) FormatTemplater ¶ added in v0.0.2
type PathItem ¶
type PathItem struct {
*specification.PathItem
Operations []*Operation
}
type PathParameter ¶
type PathParameters ¶ added in v0.0.2
type PathParameters []*PathParameter
func (PathParameters) Get ¶ added in v0.0.2
func (s PathParameters) Get(name string) (zero *PathParameter, _ error)
type QueryParameter ¶ added in v0.0.2
type QueryParameter struct {
Name string
FieldName string
Required bool
Type Formatter
// contains filtered or unexported fields
}
func (QueryParameter) ExecuteFormat ¶ added in v0.0.2
func (p QueryParameter) ExecuteFormat(from, to string) (string, error)
type QuotedRender ¶ added in v0.0.14
type QuotedRender string
func (QuotedRender) Render ¶ added in v0.0.14
func (s QuotedRender) Render() (string, error)
type RawTemplate ¶ added in v0.0.2
type RawTemplate string
func (RawTemplate) Execute ¶ added in v0.0.2
func (t RawTemplate) Execute() (string, error)
func (RawTemplate) String ¶ added in v0.0.2
func (t RawTemplate) String() (string, error)
type RenderFunc ¶ added in v0.0.10
func (RenderFunc) Render ¶ added in v0.0.10
func (r RenderFunc) Render() (string, error)
type Response ¶
type Response struct {
Name string
StatusCode string
Headers []Header
Body Optional[any]
// contains filtered or unexported fields
}
func NewResponse ¶
func NewResponse(handlerName OperationName, response *specification.ResponseOld) *Response
type Route ¶
type Route struct {
Name string
BasePath string
Prefix string
PrefixPathItems []*RoutePathItem
Variable *RoutePathItem
Routes []*Route
VariableRoute *Route
// contains filtered or unexported fields
}
func (*Route) Add ¶ added in v0.0.14
func (r *Route) Add(pi *RouterPathItem)
type RoutePathItem ¶ added in v0.0.14
type RoutePathItem struct {
*RouterPathItem
Prefix string
}
type Router ¶
type Router struct {
BasePath string
SpecFilename string
SpecFileExt string
Imports Imports
PathItems []*RouterPathItem
Operations []*Operation
Routes []*Route
JWT bool
}
func NewRouter ¶
func NewRouter(s *specification.Spec, ps []*PathItem, os []*Operation, opt GeneratorOptions) Router
type RouterPathItem ¶ added in v0.0.14
type SchemaComponent ¶ added in v0.0.11
type StringRender ¶ added in v0.0.10
type StringRender string
func (StringRender) Render ¶ added in v0.0.10
func (s StringRender) Render() (string, error)
type StringType ¶
type StringType struct{}
func (StringType) Render ¶ added in v0.0.11
func (s StringType) Render() (string, error)
func (StringType) RenderFormat ¶ added in v0.0.11
func (_ StringType) RenderFormat(from Render) (string, error)
type StructureField ¶ added in v0.0.11
type StructureField struct {
Comment string
Name string
Type Render
Tags []StructureFieldTag
}
type StructureFieldTag ¶ added in v0.0.11
type StructureType ¶ added in v0.0.11
type StructureType struct {
Fields []StructureField
}
func (StructureType) Render ¶ added in v0.0.11
func (s StructureType) Render() (string, error)
type Template ¶ added in v0.0.2
type Template struct {
// contains filtered or unexported fields
}
func InitTemplate ¶ added in v0.0.2
type Templater ¶ added in v0.0.2
func AssignTemplate ¶ added in v0.0.2
func OldTemplater ¶ added in v0.0.2
func TemplateData ¶ added in v0.0.2
func ToSliceStrings ¶ added in v0.0.2
type TemplaterFunc ¶ added in v0.0.10
func (TemplaterFunc) String ¶ added in v0.0.10
func (t TemplaterFunc) String() (string, error)
type Templaters ¶ added in v0.0.2
type Templaters []Templater
func (Templaters) Execute ¶ added in v0.0.2
func (t Templaters) Execute() (string, error)
func (Templaters) ExecuteArgs ¶ added in v0.0.2
func (t Templaters) ExecuteArgs(args ...any) (string, error)
Click to show internal directories.
Click to hide internal directories.