scanner

package
v1.0.10 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2020 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	XID           = "x-id"
	XGoVendorType = `x-go-vendor-type`
	XGoStarLevel  = `x-go-star-level`
	XGoFieldName  = `x-go-field-name`

	XTagValidate = `x-tag-validate`
	XTagMime     = `x-tag-mime`
	XTagJSON     = `x-tag-json`
	XTagXML      = `x-tag-xml`
	XTagName     = `x-tag-name`

	XEnumOptions = `x-enum-options`
	XStatusErrs  = `x-status-errors`
)

Variables

This section is empty.

Functions

func ParseEnum

func ParseEnum(doc string) (string, bool)

func ParseStatusErrMsg added in v1.0.2

func ParseStatusErrMsg(s string) (string, bool)

func ParseStringFormat

func ParseStringFormat(doc string) (string, string)

func ParseType

func ParseType(typeExpr ast.Expr) (keyType, pkgName string, pointer bool)

func RetrievePackageName

func RetrievePackageName(path string) string

func StringifyCommentGroup

func StringifyCommentGroup(commentGroupList ...*ast.CommentGroup) (comments string)

Types

type ByCommentPos

type ByCommentPos []*ast.CommentGroup

func (ByCommentPos) Len

func (a ByCommentPos) Len() int

func (ByCommentPos) Less

func (a ByCommentPos) Less(i, j int) bool

func (ByCommentPos) Swap

func (a ByCommentPos) Swap(i, j int)

type CommentScanner

type CommentScanner struct {
	CommentMap ast.CommentMap
	// contains filtered or unexported fields
}

func NewCommentScanner

func NewCommentScanner(fileSet *token.FileSet, file *ast.File) *CommentScanner

func (*CommentScanner) CommentGroupListOf

func (scanner *CommentScanner) CommentGroupListOf(targetNode ast.Node) (commentGroupList []*ast.CommentGroup)

func (*CommentScanner) CommentsOf

func (scanner *CommentScanner) CommentsOf(targetNode ast.Node) string

type DefinitionScanner added in v1.0.2

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

func NewDefinitionScanner added in v1.0.2

func NewDefinitionScanner(pkg *packagex.Package) *DefinitionScanner

func (*DefinitionScanner) BindSchemas added in v1.0.2

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

func (*DefinitionScanner) Def added in v1.0.2

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

func (*DefinitionScanner) GetSchemaByType added in v1.0.2

func (scanner *DefinitionScanner) GetSchemaByType(typ types.Type) *oas.Schema

type EnumScanner

type EnumScanner struct {
	EnumSet map[*types.TypeName][]enumeration.EnumOption
	// contains filtered or unexported fields
}

func NewEnumScanner

func NewEnumScanner(pkg *packagex.Package) *EnumScanner

func (*EnumScanner) Enum

func (scanner *EnumScanner) Enum(typeName *types.TypeName) []enumeration.EnumOption

func (*EnumScanner) HasOffset

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

type Operator added in v1.0.2

type Operator struct {
	transport_http.RouteMeta

	Tag         string
	Description string

	NonBodyParameters map[string]*oas.Parameter
	RequestBody       *oas.RequestBody

	StatusErrors      []*status_error.StatusError
	StatusErrorSchema *oas.Schema

	SuccessStatus   int
	SuccessType     types.Type
	SuccessResponse *oas.Response
}

func (*Operator) AddNonBodyParameter added in v1.0.2

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

func (*Operator) BindOperation added in v1.0.2

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

func (*Operator) SetRequestBody added in v1.0.2

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

type OperatorScanner

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

func NewOperatorScanner

func NewOperatorScanner(pkg *packagex.Package) *OperatorScanner

func (*OperatorScanner) Operator added in v1.0.2

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

type OperatorWithTypeName added in v1.0.2

type OperatorWithTypeName struct {
	*Operator
	TypeName *types.TypeName
}

func (*OperatorWithTypeName) String added in v1.0.2

func (operator *OperatorWithTypeName) String() string

type Route added in v1.0.2

type Route struct {
	Operators []*OperatorWithTypeName
	// contains filtered or unexported fields
}

func (*Route) Method added in v1.0.2

func (route *Route) Method() string

func (*Route) Path added in v1.0.2

func (route *Route) Path() string

func (*Route) String added in v1.0.2

func (route *Route) String() string

type Router added in v1.0.2

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

func NewRouter added in v1.0.2

func NewRouter(typeVar *types.Var, operators ...*OperatorWithTypeName) *Router

func (*Router) AppendOperators added in v1.0.2

func (router *Router) AppendOperators(operators ...*OperatorWithTypeName)

func (*Router) Name added in v1.0.2

func (router *Router) Name() string

func (*Router) Register added in v1.0.2

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

func (*Router) Route added in v1.0.2

func (router *Router) Route() *Route

func (*Router) Routes added in v1.0.2

func (router *Router) Routes() (routes []*Route)

func (*Router) String added in v1.0.2

func (router *Router) String() string

func (*Router) With added in v1.0.2

func (router *Router) With(operators ...*OperatorWithTypeName)

type RouterScanner added in v1.0.2

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

func NewRouterScanner added in v1.0.2

func NewRouterScanner(pkg *packagex.Package) *RouterScanner

func (*RouterScanner) OperatorScanner added in v1.0.2

func (scanner *RouterScanner) OperatorScanner() *OperatorScanner

func (*RouterScanner) OperatorTypeNameFromType added in v1.0.2

func (scanner *RouterScanner) OperatorTypeNameFromType(typ types.Type) *OperatorWithTypeName

func (*RouterScanner) OperatorTypeNamesFromArgs added in v1.0.2

func (scanner *RouterScanner) OperatorTypeNamesFromArgs(pkg *packagex.Package, args ...ast.Expr) []*OperatorWithTypeName

func (*RouterScanner) Router added in v1.0.2

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

type SchemaRefer added in v1.0.2

type SchemaRefer struct {
	*oas.Schema
}

func NewSchemaRefer added in v1.0.2

func NewSchemaRefer(s *oas.Schema) *SchemaRefer

func (SchemaRefer) RefString added in v1.0.2

func (r SchemaRefer) RefString() string

type StatusErrScanner added in v1.0.2

type StatusErrScanner struct {
	StatusErrType *types.Named
	// contains filtered or unexported fields
}

func NewStatusErrScanner added in v1.0.2

func NewStatusErrScanner(pkg *packagex.Package) *StatusErrScanner

func (*StatusErrScanner) StatusErrorsInFunc added in v1.0.2

func (scanner *StatusErrScanner) StatusErrorsInFunc(typeFunc *types.Func) []*status_error.StatusError

type StatusErrorScanner added in v1.0.2

type StatusErrorScanner struct {
	StatusErrors map[*types.TypeName][]*status_error.StatusError
	// contains filtered or unexported fields
}

func NewStatusErrorScanner added in v1.0.2

func NewStatusErrorScanner(pkg *packagex.Package) *StatusErrorScanner

func (*StatusErrorScanner) StatusError added in v1.0.2

func (scanner *StatusErrorScanner) StatusError(typeName *types.TypeName) []*status_error.StatusError

type StructFieldUniqueChecker added in v1.0.2

type StructFieldUniqueChecker map[string]*types.Var

func (StructFieldUniqueChecker) Check added in v1.0.2

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

type VendorExtensible added in v1.0.2

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