Documentation
¶
Index ¶
- func Assign(to, from string, isNew bool) string
- func ExecuteTemplate(name string, data any) (string, error)
- func NewCustomType(s string, baseSchema SchemaType) (CustomType, Imports)
- func NewHandler(o *Operation, basePathPrefix string, cfg Config) (zero *Handler, _ Imports, _ error)
- func NewHandlerHeaderParameter(p *HeaderParameter, cfg Config) (zero HandlerHeaderParameter, _ Imports, _ error)
- func NewHandlerParameters(p OperationParams, cfg Config) (zero HandlerParameters, _ Imports, _ error)
- func NewHandlerPathParameter(p *PathParameter) (zero HandlerPathParameter, _ Imports, _ error)
- func NewHandlerQueryParameter(p *QueryParameter, cfg Config) (zero HandlerQueryParameter, _ Imports, _ error)
- 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(refP specification.Ref[specification.QueryParameter]) (zero *QueryParameter, _ Imports, _ error)
- func NewResponse(handlerName OperationName, status string, response *specification.Response) (*Response, Imports, error)
- func NewResponseHeader(name string, ref specification.Ref[specification.Header]) (zero ResponseHeader, _ Imports, _ error)
- func NewSchema(s specification.Ref[specification.Schema]) (SchemaType, 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 BoolType
- type Client
- type ClientHeader
- type ClientOperation
- type Components
- type Config
- type CookieParameter
- type CustomType
- type ErrorRender
- type FileHandler
- type FloatType
- type Formatter
- type FormatterFunc
- type GenOption
- type Generator
- type GeneratorOptions
- type GoFile
- type Handler
- type HandlerHeaderParameter
- type HandlerParameter
- type HandlerParameters
- type HandlerPathParameter
- type HandlerQueryParameter
- type HandlerResponse
- type HeaderComponent
- type HeaderParameter
- type HeaderParameterComponent
- type Import
- type Imports
- type IntType
- type MapType
- type Maybe
- type Multivalue
- type Operation
- type OperationName
- type OperationParams
- type OperationPathElement
- type OptionalType
- type Parser
- type ParserFunc
- type PathItem
- type PathParameter
- type PathParameterComponent
- type PathParameters
- type PathParserConstant
- type PathParserVariable
- type QueryParameter
- type QueryParameterComponent
- type QuotedRender
- type Ref
- func (r Ref[T]) IsMultivalue() bool
- func (r Ref[T]) ParseQuery(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
- func (r Ref[T]) ParseSchema(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
- func (r Ref[T]) ParseString(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
- func (r Ref[T]) Render() (string, error)
- func (r Ref[T]) RenderFormat(from string) (string, error)
- type Render
- type RenderFunc
- type Renders
- type RequestBodyComponent
- type Response
- type ResponseArg
- type ResponseCode
- type ResponseComponent
- type ResponseHeader
- type ResponseUsedIn
- type Route
- type RoutePathItem
- type Router
- type RouterPathItem
- type RouterPathItemOperation
- type Schema
- type SchemaComponent
- type SchemaType
- type SingleValue
- type SliceType
- func (s SliceType) ParseString(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
- func (s SliceType) ParseStrings(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
- func (s SliceType) Render() (string, error)
- func (s SliceType) RenderFormat(from string) (string, error)
- type StringRender
- type StringType
- type StructureField
- type StructureFieldTag
- type StructureType
- type TData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCustomType ¶ added in v0.0.8
func NewCustomType(s string, baseSchema SchemaType) (CustomType, Imports)
func NewHandler ¶
func NewHandlerHeaderParameter ¶ added in v0.1.0
func NewHandlerHeaderParameter(p *HeaderParameter, cfg Config) (zero HandlerHeaderParameter, _ Imports, _ error)
func NewHandlerParameters ¶ added in v0.1.0
func NewHandlerParameters(p OperationParams, cfg Config) (zero HandlerParameters, _ Imports, _ error)
func NewHandlerPathParameter ¶ added in v0.1.0
func NewHandlerPathParameter(p *PathParameter) (zero HandlerPathParameter, _ Imports, _ error)
func NewHandlerQueryParameter ¶ added in v0.1.0
func NewHandlerQueryParameter(p *QueryParameter, cfg Config) (zero HandlerQueryParameter, _ Imports, _ error)
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(refP specification.Ref[specification.QueryParameter]) (zero *QueryParameter, _ Imports, _ error)
func NewResponse ¶
func NewResponse(handlerName OperationName, status string, response *specification.Response) (*Response, Imports, error)
func NewResponseHeader ¶ added in v0.1.0
func NewResponseHeader(name string, ref specification.Ref[specification.Header]) (zero ResponseHeader, _ Imports, _ error)
func NewSchema ¶
func NewSchema(s specification.Ref[specification.Schema]) (SchemaType, 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 BoolType ¶ added in v0.0.10
type BoolType struct {
SingleValue
}
func (BoolType) ParseString ¶ added in v0.1.0
type Client ¶ added in v0.0.2
type Client struct {
Imports []Import
Operations []ClientOperation
IsDecodeJSONFunc bool
}
type ClientHeader ¶ added in v0.0.14
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 {
HasComponent bool
Imports Imports
Schemas []SchemaComponent
Headers []HeaderComponent
RequestBodies []RequestBodyComponent
QueryParameters []QueryParameterComponent
HeaderParameters []HeaderParameterComponent
PathParameters []PathParameterComponent
Responses []ResponseComponent
HasContentJSON bool
}
func NewComponents ¶
func NewComponents(spec specification.Components) (zero Components, _ error)
func (Components) Render ¶ added in v0.1.0
func (c Components) Render() (string, error)
type Config ¶ added in v0.1.7
type Config struct {
Maybe struct {
Import string `yaml:"import"`
Type string `yaml:"type"`
} `yaml:"maybe"`
Cors struct {
Enable bool `yaml:"enable"`
} `yaml:"cors"`
}
func LoadConfig ¶ added in v0.1.7
type CookieParameter ¶ added in v0.0.14
type CookieParameter struct {
specification.CookieParameter
}
type CustomType ¶ added in v0.0.5
type CustomType struct {
Multivalue
Type string
Import string
Base SchemaType
}
func (CustomType) ParseString ¶ added in v0.1.0
func (c CustomType) ParseString(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
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 string) (string, error)
type ErrorRender ¶ added in v0.0.10
type FileHandler ¶ added in v0.1.0
type FileHandler struct {
Imports []Import
Handlers []*Handler
IsWriteJSONFunc bool
IsCustomMaybe bool
}
func NewFileHandler ¶ added in v0.1.0
func NewFileHandler(os []*Operation, basePathPrefix string, cfg Config) (zero FileHandler, _ error)
func (FileHandler) Render ¶ added in v0.1.0
func (f FileHandler) Render() (string, error)
type FloatType ¶ added in v0.0.10
type FloatType struct {
SingleValue
BitSize int
}
func (FloatType) ParseString ¶ added in v0.1.0
type FormatterFunc ¶ added in v0.0.10
func (FormatterFunc) RenderFormat ¶ added in v0.0.10
func (f FormatterFunc) RenderFormat(from string) (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
Client Client
Components Components
Router Router
FileHandler FileHandler
}
func NewGenerator ¶ added in v0.0.2
func (*Generator) ClientFile ¶ added in v0.0.2
func (*Generator) ComponentsFile ¶ added in v0.1.0
func (*Generator) HandlerFile ¶ added in v0.1.0
func (*Generator) RouterFile ¶ added in v0.0.2
type GeneratorOptions ¶ added in v0.0.14
type Handler ¶
type Handler struct {
*Operation
HandlerFuncName string
BasePathPrefix string
CanParseError bool
Parameters HandlerParameters
PathParsers []Parser
DefaultResponse *HandlerResponse
Responses []HandlerResponse
}
type HandlerHeaderParameter ¶ added in v0.1.0
type HandlerHeaderParameter struct {
HandlerParameter
ParameterName string
Required bool
Parser Parser
}
type HandlerParameter ¶ added in v0.1.0
func (HandlerParameter) Render ¶ added in v0.1.0
func (h HandlerParameter) Render() (string, error)
type HandlerParameters ¶ added in v0.1.0
type HandlerParameters struct {
Query []HandlerQueryParameter
Path []HandlerPathParameter
Header []HandlerHeaderParameter
}
type HandlerPathParameter ¶ added in v0.1.0
type HandlerPathParameter struct {
HandlerParameter
ParameterName string
Parser Parser
}
type HandlerQueryParameter ¶ added in v0.1.0
type HandlerQueryParameter struct {
HandlerParameter
ParameterName string
Required bool
Parser Parser
}
func (HandlerQueryParameter) ParseStrings ¶ added in v0.1.0
func (p HandlerQueryParameter) ParseStrings(to, from string, isNew bool, mkErr ErrorRender) (string, error)
type HandlerResponse ¶ added in v0.1.0
type HandlerResponse struct {
*Response
Name string
// PrivateName string
HandlerName OperationName
Status string
IsDefault bool
UsedIn []ResponseUsedIn
IsBody bool
BodyTypeName Render
Body Render
BodyRenders Renders
ContentType string
Struct StructureType
Args []ResponseArg
}
func NewHandlerResponse ¶ added in v0.1.0
func NewHandlerResponse(r *Response, name OperationName, status string, ifaceNames ...ResponseUsedIn) HandlerResponse
func (HandlerResponse) Render ¶ added in v0.1.0
func (h HandlerResponse) Render() (string, error)
type HeaderComponent ¶ added in v0.1.2
func (HeaderComponent) Render ¶ added in v0.1.2
func (s HeaderComponent) Render() (string, error)
type HeaderParameter ¶ added in v0.0.2
type HeaderParameter struct {
Name string
FieldName string
FieldTypeName string
Type SchemaType
Required bool
// contains filtered or unexported fields
}
type HeaderParameterComponent ¶ added in v0.1.2
type HeaderParameterComponent struct {
Name string
Description string
Type SchemaType
}
func (HeaderParameterComponent) Render ¶ added in v0.1.2
func (c HeaderParameterComponent) Render() (string, error)
type IntType ¶ added in v0.0.2
type IntType struct {
SingleValue
BitSize int
}
func (IntType) ParseString ¶ added in v0.1.0
type MapType ¶ added in v0.1.0
type MapType struct {
SingleValue
Key SchemaType
Value SchemaType
}
func NewMapType ¶ added in v0.1.0
func NewMapType(k, v SchemaType) MapType
func (MapType) ParseString ¶ added in v0.1.0
type Multivalue ¶ added in v0.1.4
type Multivalue struct{}
func (Multivalue) IsMultivalue ¶ added in v0.1.4
func (Multivalue) IsMultivalue() bool
type Operation ¶ added in v0.0.2
type Operation struct {
*specification.Operation
Name OperationName
Description string
Summary string
PathBuilder []OperationPathElement
APIHandlerFieldName string
HandlerTypeName string
RequestTypeName string
ResponseTypeName string
Params OperationParams
Body struct {
TypeName Render
}
DefaultResponse *ResponseCode
Responses []*ResponseCode
}
type OperationName ¶ added in v0.0.2
type OperationName string
func NewOperationName ¶ added in v0.0.14
func NewOperationName(s *specification.Operation) OperationName
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 OperationPathElement ¶ added in v0.1.0
type OperationPathElement struct {
Raw string
Param Maybe[*PathParameter]
}
type OptionalType ¶ added in v0.1.5
type OptionalType struct {
V SchemaType
MaybeType string
}
func NewOptionalType ¶ added in v0.1.5
func NewOptionalType(v SchemaType, typename string) OptionalType
func (OptionalType) IsMultivalue ¶ added in v0.1.5
func (p OptionalType) IsMultivalue() bool
func (OptionalType) ParseString ¶ added in v0.1.5
func (p OptionalType) ParseString(to string, from string, _ bool, mkErr ErrorRender) (string, error)
func (OptionalType) Render ¶ added in v0.1.5
func (p OptionalType) Render() (string, error)
func (OptionalType) RenderFormat ¶ added in v0.1.5
func (p OptionalType) RenderFormat(from string) (string, error)
type Parser ¶ added in v0.0.10
type Parser interface {
ParseString(to, from string, isNew bool, mkErr ErrorRender) (string, error)
IsMultivalue() bool
}
Parser parses 'string' to '<type>'.
type ParserFunc ¶ added in v0.0.10
type ParserFunc func(to, from string, isNew bool, mkErr ErrorRender) (string, error)
func (ParserFunc) ParseString ¶ added in v0.1.0
func (p ParserFunc) ParseString(to, from string, isNew bool, mkErr ErrorRender) (string, error)
type PathItem ¶
type PathItem struct {
*specification.PathItem
Operations []*Operation
}
type PathParameter ¶
type PathParameter struct {
Name string
FieldName string
FieldTypeName string
Type SchemaType
// contains filtered or unexported fields
}
type PathParameterComponent ¶ added in v0.1.2
type PathParameterComponent struct {
Name string
Description string
Type SchemaType
}
func (PathParameterComponent) Render ¶ added in v0.1.2
func (c PathParameterComponent) Render() (string, error)
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 PathParserConstant ¶ added in v0.1.0
type PathParserConstant struct {
SingleValue
Prefix string
FullPath string
}
func (PathParserConstant) ParseString ¶ added in v0.1.0
func (p PathParserConstant) ParseString(_, _ string, _ bool, _ ErrorRender) (string, error)
type PathParserVariable ¶ added in v0.1.0
type PathParserVariable struct {
SingleValue
FieldName string
Name string
Convert Parser
}
func (PathParserVariable) ParseString ¶ added in v0.1.0
func (p PathParserVariable) ParseString(to, from string, isNew bool, mkErr ErrorRender) (string, error)
type QueryParameter ¶ added in v0.0.2
type QueryParameter struct {
Name string
FieldName string
Required bool
Type SchemaType
// contains filtered or unexported fields
}
func (QueryParameter) ExecuteFormat ¶ added in v0.0.2
func (p QueryParameter) ExecuteFormat(to, from string) (string, error)
type QueryParameterComponent ¶ added in v0.1.2
type QueryParameterComponent struct {
Name string
Description string
Type SchemaType
IsStringsParser bool
IsArray bool
}
func (QueryParameterComponent) Render ¶ added in v0.1.2
func (c QueryParameterComponent) Render() (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 Ref ¶
type Ref[T any] struct { // Multivalue Ref string SchemaType specification.Ref[T] }
func NewRef ¶
func NewRef[T any](ref *specification.Object[string, specification.Ref[T]]) Ref[T]
func (Ref[T]) IsMultivalue ¶ added in v0.1.4
func (Ref[T]) ParseQuery ¶ added in v0.1.2
func (Ref[T]) ParseSchema ¶ added in v0.1.4
func (Ref[T]) ParseString ¶ added in v0.1.0
type RenderFunc ¶ added in v0.0.10
func (RenderFunc) Render ¶ added in v0.0.10
func (r RenderFunc) Render() (string, error)
type RequestBodyComponent ¶ added in v0.1.2
func (RequestBodyComponent) Render ¶ added in v0.1.2
func (s RequestBodyComponent) Render() (string, error)
type Response ¶
type Response struct {
*specification.Response
Name string
Headers []ResponseHeader
// Content specification.Map[specification.Ref[SchemaType]]
ContentJSON Maybe[Schema]
}
type ResponseArg ¶
type ResponseCode ¶ added in v0.1.8
type ResponseCode struct {
*Response
StatusCode string
ComponentRef *specification.Object[string, specification.Ref[specification.Response]]
}
type ResponseComponent ¶ added in v0.1.8
type ResponseComponent struct {
Name string
Description string
Alias string
IsComponent bool
HandlerResponse
}
func (ResponseComponent) Render ¶ added in v0.1.8
func (c ResponseComponent) Render() (string, error)
type ResponseHeader ¶
type ResponseHeader struct {
Spec *specification.Header
FieldName string
Key string
Required bool
Schema SchemaType
Formatter Formatter
IsMultivalue bool
}
type ResponseUsedIn ¶ added in v0.1.8
type ResponseUsedIn struct {
OperationName OperationName
Status string
}
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
Cors bool
}
func NewRouter ¶
func NewRouter(s *specification.Spec, ps []*PathItem, os []*Operation, opt GeneratorOptions) Router
type RouterPathItem ¶ added in v0.0.14
type RouterPathItem struct {
RawPath string
Operations []RouterPathItemOperation
JWT bool
HasOptions bool
}
type RouterPathItemOperation ¶ added in v0.1.14
type RouterPathItemOperation struct {
Name OperationName
Method specification.HTTPMethodTitle
PathSpec string
Handler string
}
type Schema ¶ added in v0.0.2
type Schema struct {
Spec specification.Ref[specification.Schema]
Type SchemaType
}
type SchemaComponent ¶ added in v0.0.11
type SchemaComponent struct {
Name string
Description string
Type SchemaType
IgnoreParseFormat bool
IsMultivalue bool
IsAlias bool
CustomJSONMarshaler bool
StructureType StructureType
}
func (SchemaComponent) Render ¶ added in v0.1.0
func (s SchemaComponent) Render() (string, error)
type SchemaType ¶ added in v0.1.0
type SingleValue ¶ added in v0.1.4
type SingleValue struct{}
func (SingleValue) IsMultivalue ¶ added in v0.1.4
func (SingleValue) IsMultivalue() bool
type SliceType ¶ added in v0.0.2
type SliceType struct {
Multivalue
Items SchemaType
}
func (SliceType) ParseString ¶ added in v0.1.0
func (SliceType) ParseStrings ¶ added in v0.1.0
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 {
SingleValue
}
func (StringType) ParseString ¶ added in v0.1.0
func (_ StringType) ParseString(to, from string, isNew bool, mkErr ErrorRender) (string, error)
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 string) (string, error)
type StructureField ¶ added in v0.0.11
type StructureField struct {
Comment string
Name string
Type Render
Tags []StructureFieldTag
JSONTag string
}
func (StructureField) GetTag ¶ added in v0.1.0
func (sf StructureField) GetTag(k string) (zero StructureFieldTag, _ bool)
func (StructureField) Render ¶ added in v0.1.0
func (s StructureField) Render() (string, error)
type StructureFieldTag ¶ added in v0.0.11
type StructureType ¶ added in v0.0.11
type StructureType struct {
SingleValue
Fields []StructureField
AdditionalProperties Maybe[SchemaType]
}
func (StructureType) ParseString ¶ added in v0.1.0
func (s StructureType) ParseString(to string, from string, isNew bool, mkErr ErrorRender) (string, error)
func (StructureType) Render ¶ added in v0.0.11
func (s StructureType) Render() (string, error)
func (StructureType) RenderFormat ¶ added in v0.1.0
func (s StructureType) RenderFormat(from string) (string, error)
Click to show internal directories.
Click to hide internal directories.