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.