gen

package
v0.0.0-...-61829c1 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2019 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	XNamed       = `x-go-named`
	XField       = `x-go-name`
	XTagJSON     = `x-go-json`
	XTagName     = `x-tag-name`
	XTagXML      = `x-tag-xml`
	XTagStyle    = `x-tag-style`
	XTagFmt      = `x-tag-fmt`
	XTagValidate = `x-go-validate`
	XPointer     = "x-pointer"
	XEnumValues  = `x-enum-values`
	XEnumLabels  = `x-enum-labels`
	XEnumVals    = `x-enum-vals`
)

Variables

View Source
var RxHttpRouterPath = regexp.MustCompile("/:([^/]+)")

Functions

func BindValidateFromValidateTagString

func BindValidateFromValidateTagString(schema *oas.Schema, validate string)

func CommentValuesSplit

func CommentValuesSplit(s string) (values []string)

func ConcatToOperation

func ConcatToOperation(method string, operators ...Operator) *oas.Operation

func FullNameOfType

func FullNameOfType(tpe reflect.Type) string

func IdentOfCallExprSelectExpr

func IdentOfCallExprSelectExpr(selectExpr *ast.SelectorExpr) *ast.Ident

func ParseEnum

func ParseEnum(doc string) (string, bool)

func ParseStrfmt

func ParseStrfmt(doc string) (string, string)

func ParseSuccessMetadata

func ParseSuccessMetadata(doc string) courier.Metadata

Types

type DefinitionScanner

type DefinitionScanner struct {
	EnumScanner *EnumScanner
	// contains filtered or unexported fields
}

func NewDefinitionScanner

func NewDefinitionScanner(program *loader.Program) *DefinitionScanner

func (*DefinitionScanner) BindSchemas

func (scanner *DefinitionScanner) BindSchemas(openapi *oas.OpenAPI)

func (*DefinitionScanner) Def

func (scanner *DefinitionScanner) Def(typeName *types.TypeName) *oas.Schema

type Enum

type Enum enumeration.Enum

func (Enum) Labels

func (enum Enum) Labels() (labels []string)

func (Enum) Sort

func (enum Enum) Sort() Enum

func (Enum) ToSchema

func (enum Enum) ToSchema() *oas.Schema

func (Enum) Vals

func (enum Enum) Vals() (vals []interface{})

func (Enum) Values

func (enum Enum) Values() (values []interface{})

type EnumScanner

type EnumScanner struct {
	Enums map[*types.TypeName]Enum
	// contains filtered or unexported fields
}

func NewEnumScanner

func NewEnumScanner(program *loader.Program) *EnumScanner

func (*EnumScanner) Enum

func (scanner *EnumScanner) Enum(typeName *types.TypeName) Enum

func (*EnumScanner) HasOffset

func (scanner *EnumScanner) HasOffset(typeName *types.TypeName) bool

type Operator

type Operator struct {
	ID                string
	NonBodyParameters map[string]*oas.Parameter
	RequestBody       *oas.RequestBody

	StatusErrors      status_error.StatusErrorCodeMap
	StatusErrorSchema *oas.Schema

	Tag               string
	Summary           string
	SuccessType       types.Type
	SuccessStatus     int
	SuccessResponse   *oas.Response
	WebSocketMessages map[*oas.Schema][]*oas.Schema
}

func (*Operator) AddNonBodyParameter

func (operator *Operator) AddNonBodyParameter(parameter *oas.Parameter)

func (*Operator) AddWebSocketMessage

func (operator *Operator) AddWebSocketMessage(schema *oas.Schema, returns ...*oas.Schema)

func (*Operator) BindOperation

func (operator *Operator) BindOperation(method string, operation *oas.Operation, last bool)

func (*Operator) SetRequestBody

func (operator *Operator) SetRequestBody(requestBody *oas.RequestBody)

type OperatorScanner

type OperatorScanner struct {
	*DefinitionScanner
	*StatusErrorScanner
	// contains filtered or unexported fields
}

func NewOperatorScanner

func NewOperatorScanner(program *loader.Program) *OperatorScanner

func (*OperatorScanner) Operator

func (scanner *OperatorScanner) Operator(typeName *types.TypeName) *Operator

type OperatorTypeNames

type OperatorTypeNames []*types.TypeName

func FromArgs

func FromArgs(pkgInfo *loader.PackageInfo, args ...ast.Expr) OperatorTypeNames

func (OperatorTypeNames) Append

type Route

type Route struct {
	Method string
	Path   string
	// contains filtered or unexported fields
}

func (*Route) SetMethod

func (route *Route) SetMethod(program *loader.Program)

func (*Route) SetPath

func (route *Route) SetPath(program *loader.Program)

type Router

type Router struct {
	// contains filtered or unexported fields
}

func NewRouter

func NewRouter(operators ...*types.TypeName) *Router

func (*Router) AppendOperators

func (router *Router) AppendOperators(operators ...*types.TypeName)

func (*Router) Register

func (router *Router) Register(r *Router)

func (*Router) Route

func (router *Router) Route(program *loader.Program) *Route

func (*Router) Routes

func (router *Router) Routes(program *loader.Program) (routes []*Route)

func (*Router) With

func (router *Router) With(operators ...*types.TypeName)

type RouterScanner

type RouterScanner struct {
	// contains filtered or unexported fields
}

func NewRouterScanner

func NewRouterScanner(program *loader.Program) *RouterScanner

func (*RouterScanner) Router

func (scanner *RouterScanner) Router(typeName *types.Var) *Router

type StatusErrorScanner

type StatusErrorScanner struct {
	// contains filtered or unexported fields
}

func NewStatusErrorScanner

func NewStatusErrorScanner(program *loader.Program) *StatusErrorScanner

func (*StatusErrorScanner) StatusErrorsInFunc

func (scanner *StatusErrorScanner) StatusErrorsInFunc(typeFunc *types.Func) status_error.StatusErrorCodeMap

type StructFieldUniqueChecker

type StructFieldUniqueChecker map[string]*types.Var

func (StructFieldUniqueChecker) Check

func (checker StructFieldUniqueChecker) Check(structType *types.Struct, anonymous bool) error

type SwaggerGenerator

type SwaggerGenerator struct {
	RootRouterName string
	Next           bool
	// contains filtered or unexported fields
}

func (*SwaggerGenerator) Load

func (g *SwaggerGenerator) Load(cwd string)

func (*SwaggerGenerator) Output

func (g *SwaggerGenerator) Output(cwd string) codegen.Outputs

func (*SwaggerGenerator) Pick

func (g *SwaggerGenerator) Pick()

type VendorExtensible

type VendorExtensible interface {
	AddExtension(key string, value interface{})
}

Jump to

Keyboard shortcuts

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