operator

package
v1.4.7 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CmdGenerateGetRevertID = "generate_get_revert_id"
	CmdGenerateInterface   = "generate_interface"
	CmdGenerateImplement   = "generate_implement"
)

Variables

This section is empty.

Functions

func AsCommentLines

func AsCommentLines(comment string) string

func BasicType

func BasicType(schemaType string, format string, ipt *importer.PackageImporter) string

func GetEnumByServiceName

func GetEnumByServiceName(serviceName string) map[string]enumeration.Enum

func PathFromSwaggerPath

func PathFromSwaggerPath(str string) string

func RefName

func RefName(ref oas.Refer) string

func RegisterEnum

func RegisterEnum(serviceName string, tpe string, options ...enumeration.EnumOption)

func RequestOf

func RequestOf(id string) string

func ResponseOf

func ResponseOf(id string) string

Types

type Annotation

type Annotation interface {
	ID() string
	Extension() string
	SetArgs(args ...string)
	Importer() *importer.PackageImporter
	Run(cmd string, op Op) string
}

func NewAnnotationRevert

func NewAnnotationRevert(id, extension string) Annotation

type AnnotationRevert

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

func (*AnnotationRevert) Extension

func (a *AnnotationRevert) Extension() string

func (*AnnotationRevert) ID

func (a *AnnotationRevert) ID() string

func (*AnnotationRevert) Importer

func (a *AnnotationRevert) Importer() *importer.PackageImporter

func (*AnnotationRevert) Run

func (a *AnnotationRevert) Run(cmd string, op Op) string

func (*AnnotationRevert) SetArgs

func (a *AnnotationRevert) SetArgs(args ...string)

type Field

type Field struct {
	Comment string
	Name    string
	Type    string
	Tags    Tags
}

func NewField

func NewField(name string) *Field

func (*Field) AddTag

func (f *Field) AddTag(tagKey, tagValue string, flags ...string)

func (*Field) Anonymous

func (f *Field) Anonymous() bool

func (*Field) String

func (f *Field) String() string

type Op

type Op interface {
	ID() string
	Method() string
	Path() string
	HasRequest() bool
	Annotation() map[string]Annotation
	WriteReqType(w io.Writer, ipt *importer.PackageImporter) error
	WriteRespBodyType(w io.Writer, ipt *importer.PackageImporter) error

	CanRevert() bool
	RevertIDField() string
	RevertTarget() string
}

type Operation

type Operation struct {
	*oas.Operation
	// contains filtered or unexported fields
}

func NewOperation

func NewOperation(serviceName string, method string, path string, operation *oas.Operation, components oas.Components, extension map[string]interface{}) *Operation

func (*Operation) Annotation

func (o *Operation) Annotation() map[string]Annotation

func (*Operation) CanRevert

func (o *Operation) CanRevert() bool

func (*Operation) HasRequest

func (o *Operation) HasRequest() bool

func (*Operation) ID

func (o *Operation) ID() string

func (*Operation) Method

func (o *Operation) Method() string

func (*Operation) Path

func (o *Operation) Path() string

func (*Operation) RevertIDField

func (o *Operation) RevertIDField() string

func (*Operation) RevertTarget

func (o *Operation) RevertTarget() string

func (*Operation) WriteReqType

func (o *Operation) WriteReqType(w io.Writer, ipt *importer.PackageImporter) error

func (*Operation) WriteRespBodyType

func (o *Operation) WriteRespBodyType(w io.Writer, ipt *importer.PackageImporter) error

type Tag

type Tag struct {
	Key   string
	Value string
	Flags map[string]bool
}

func NewTag

func NewTag(key, value string) *Tag

func (*Tag) String

func (tag *Tag) String() string

func (Tag) WithFlags

func (tag Tag) WithFlags(flags ...string) *Tag

type Tags

type Tags map[string]*Tag

func (Tags) String

func (tags Tags) String() string

type TypeGenerator

type TypeGenerator struct {
	ServiceName string
	Importer    *importer.PackageImporter
}

func NewTypeGenerator

func NewTypeGenerator(serviceName string, ipt *importer.PackageImporter) *TypeGenerator

func (*TypeGenerator) FieldFrom

func (g *TypeGenerator) FieldFrom(name string, propSchema *oas.Schema, requiredFields ...string) *Field

func (*TypeGenerator) PrefixType

func (g *TypeGenerator) PrefixType(tpe string) string

func (*TypeGenerator) Type

func (g *TypeGenerator) Type(schema *oas.Schema) (string, bool)

func (*TypeGenerator) TypeIndirect

func (g *TypeGenerator) TypeIndirect(schema *oas.Schema) (string, bool)

func (*TypeGenerator) WriteFields

func (g *TypeGenerator) WriteFields(w io.Writer, schema *oas.Schema) error

Jump to

Keyboard shortcuts

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