generator

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const ExtTagGoType = "x-goag-go-type"

Variables

View Source
var CustomImports []string

Functions

func ExecuteTemplate added in v0.0.10

func ExecuteTemplate(name string, data any) (string, error)

func OperationName added in v0.0.2

func OperationName(operationID string, path specification.Path, method string) string

func PrefixTitle added in v0.0.2

func PrefixTitle(s specification.Prefix) string

func PrivateFieldName

func PrivateFieldName(name string) string

func PublicFieldName

func PublicFieldName(name string) string

func Title added in v0.0.2

func Title(s string) string

Types

type AssignData added in v0.0.2

type AssignData struct {
	From, To Templater
	IsNew    bool
}

type BoolType added in v0.0.10

type BoolType struct{}

func (BoolType) RenderFormat added in v0.0.10

func (b BoolType) RenderFormat(from Render) (string, error)

func (BoolType) RenderParser added in v0.0.10

func (b BoolType) RenderParser(from, to Render, mkErr ErrorRender) (string, error)

type Client added in v0.0.2

type Client struct {
	Handlers []Handler

	IsDecodeJSONFunc bool
}

func NewClient added in v0.0.2

func NewClient(handlers []Handler) Client

func (Client) Execute added in v0.0.2

func (c Client) Execute() (string, error)

type CustomType added in v0.0.5

type CustomType string

func NewCustomType added in v0.0.8

func NewCustomType(s string) CustomType

func (CustomType) Format added in v0.0.5

func (c CustomType) Format(s string) source.Templater

func (CustomType) Parser added in v0.0.5

func (c CustomType) Parser(from, to string, mkErr source.ErrorWrapper) source.Render

func (CustomType) String added in v0.0.5

func (c CustomType) String() (string, error)

func (CustomType) TemplateToString added in v0.0.8

func (c CustomType) TemplateToString(t Templater) Templater

type CustomTypeParser added in v0.0.5

type CustomTypeParser struct {
	Type  string
	From  string
	To    string
	Error source.ErrorWrapper
}

func (CustomTypeParser) String added in v0.0.5

func (c CustomTypeParser) String() (string, error)

type ErrorRender added in v0.0.10

type ErrorRender interface {
	Wrap(message string) string
	New(message string) string
}

type ExecTemplater added in v0.0.2

type ExecTemplater interface {
	Execute() (string, error)
}

type FloatType added in v0.0.10

type FloatType struct {
	BitSize int
}

func (FloatType) RenderFormat added in v0.0.10

func (i FloatType) RenderFormat(from Render) (string, error)

func (FloatType) RenderParser added in v0.0.10

func (i FloatType) RenderParser(from, to Render, mkErr ErrorRender) (string, error)

type Formatter added in v0.0.10

type Formatter interface {
	RenderFormat(from Render) (string, error)
}

type FormatterFunc added in v0.0.10

type FormatterFunc func(from Render) (string, error)

func (FormatterFunc) RenderFormat added in v0.0.10

func (f FormatterFunc) RenderFormat(from Render) (string, error)

type GenOption added in v0.0.2

type GenOption interface {
	// contains filtered or unexported methods
}

func IfOption added in v0.0.2

func IfOption(opt GenOption, ifCond ...bool) GenOption

func PackageName added in v0.0.2

func PackageName(packageName string) GenOption

func SkipDoNotEdit added in v0.0.2

func SkipDoNotEdit() GenOption

type Generator added in v0.0.2

type Generator struct {
	Options Options

	Spec *specification.Spec

	Handlers []Handler
	Client   Client

	Paths      []*PathItem
	Operations []*Operation
}

func NewGenerator added in v0.0.2

func NewGenerator(spec *specification.Spec, opts ...GenOption) (*Generator, error)

func (*Generator) ClientFile added in v0.0.2

func (g *Generator) ClientFile() (Templater, error)

func (*Generator) HandlersFile added in v0.0.2

func (g *Generator) HandlersFile(hs []HandlerOld, isJSON bool) (Templater, error)

func (*Generator) RouterFile added in v0.0.2

func (g *Generator) RouterFile(basePath, baseFilename string, hs []HandlerOld, oldRouter any) (Templater, error)

type GoFile

type GoFile struct {
	SkipDoNotEdit bool
	PackageName   string
	Imports       []string
	Body          Templater
}

func (GoFile) Execute added in v0.0.2

func (g GoFile) Execute() (string, error)

type Handler

type Handler struct {
	Name       string
	Method     string
	HTTPMethod string
	Path       specification.Path

	PathBuilder []PathDir

	HandlerTypeName      string
	HandlerInputTypeName string
	RequestTypeName      string
	RequestVarName       string

	Params struct {
		Query   []QueryParameter
		Path    PathParameters
		Headers []HeaderParameter
	}

	IsRequestBody bool

	ResponseTypeName        string
	ResponsePrivateFuncName string

	DefaultResponse Optional[*Response]
	Responses       []*Response
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler(o *specification.Operation) (zero Handler, _ error)

type HandlerOld added in v0.0.2

type HandlerOld struct {

	// deprecated
	Name        string
	Description string
	Summary     string

	BasePathPrefix string

	CanParseError bool

	ResponserInterfaceName string

	Parameters struct {
		Query   []Param
		Path    []Param
		Headers []Param

		PathParsers []Templater
	}

	Body struct {
		TypeName Templater
	}

	IsWriteJSONFunc bool

	Responses []Templater
}

func (HandlerOld) Execute added in v0.0.2

func (h HandlerOld) Execute() (string, error)

func (HandlerOld) HandlerFuncName added in v0.0.2

func (h HandlerOld) HandlerFuncName() string

type HandlersFile added in v0.0.2

type HandlersFile struct {
	Handlers []HandlerOld

	IsWriteJSONFunc bool
}

func (HandlersFile) Execute added in v0.0.2

func (h HandlersFile) Execute() (string, error)
type Header struct {
	Spec specification.Header

	FieldName string
	Key       string
}

func NewHeader added in v0.0.2

func NewHeader(spec specification.Header) Header

type HeaderParameter added in v0.0.2

type HeaderParameter struct {
	Name          string
	FieldName     string
	FieldTypeName string
	Type          Schema
	Required      bool
	// contains filtered or unexported fields
}

func NewHeaderParameter added in v0.0.2

func NewHeaderParameter(s *specification.HeaderParameter) HeaderParameter

type IntType added in v0.0.2

type IntType struct {
	BitSize int
}

func (IntType) RenderFormat added in v0.0.10

func (i IntType) RenderFormat(from Render) (string, error)

func (IntType) RenderParser added in v0.0.10

func (i IntType) RenderParser(from, to Render, mkErr ErrorRender) (string, error)

type Operation added in v0.0.2

type Operation struct {
	Operation *specification.Operation

	Name            string
	HandlerTypeName string

	PathParameters   []Parameter[*specification.PathParameter]
	QueryParameters  []Parameter[specification.QueryParameter]
	HeaderParameters []Parameter[*specification.HeaderParameter]

	Handler *HandlerOld // Deprecated
}

func NewOperation added in v0.0.2

func NewOperation(operation *specification.Operation) *Operation

type Optional added in v0.0.2

type Optional[T any] struct {
	Value T
	OK    bool
}

func (*Optional[T]) Set added in v0.0.2

func (o *Optional[T]) Set(v T)

type Options added in v0.0.2

type Options struct {
	DoNotEdit   bool
	PackageName string
}

type Param

type Param struct {
	Field  Templater
	Parser Templater
}

type Parameter added in v0.0.2

type Parameter[T interface {
	*specification.PathParameter | specification.QueryParameter | *specification.HeaderParameter
}] struct {
	Spec T

	FieldName string
}

type Parser added in v0.0.10

type Parser interface {
	RenderParser(from, to Render, mkErr ErrorRender) (string, error)
}

type ParserFunc added in v0.0.10

type ParserFunc func(from, to Render, mkErr ErrorRender) (string, error)

func (ParserFunc) RenderParser added in v0.0.10

func (p ParserFunc) RenderParser(from, to Render, mkErr ErrorRender) (string, error)

type PathDir added in v0.0.2

type PathDir struct {
	V     string
	Param *PathParameter
}

func (PathDir) FormatTemplater added in v0.0.2

func (p PathDir) FormatTemplater(varName string) Templater

type PathItem

type PathItem struct {
	PathItem   *specification.PathItem
	Operations []*Operation
}

type PathParameter

type PathParameter struct {
	Name          string
	FieldName     string
	FieldTypeName string
	Type          Schema
	// contains filtered or unexported fields
}

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 PointerType added in v0.0.2

type PointerType struct {
	From, T Templater
}

func (PointerType) FormatAssignTemplater added in v0.0.2

func (_ PointerType) FormatAssignTemplater(from, to Templater, isNew bool) Templater

func (PointerType) TemplateToString added in v0.0.2

func (_ PointerType) TemplateToString(t Templater) Templater

type QueryParameter added in v0.0.2

type QueryParameter struct {
	Name      string
	FieldName string
	Required  bool
	Type      Schema
	// contains filtered or unexported fields
}

func NewQueryParameter added in v0.0.2

func NewQueryParameter(s specification.QueryParameter) QueryParameter

func (QueryParameter) ExecuteFormat added in v0.0.2

func (p QueryParameter) ExecuteFormat(from, to string) (string, error)

type RawTemplate added in v0.0.2

type RawTemplate string

func (RawTemplate) Execute added in v0.0.2

func (t RawTemplate) Execute() (string, error)

func (RawTemplate) String added in v0.0.2

func (t RawTemplate) String() (string, error)

type Render

type Render interface {
	Render() (string, error)
}

type RenderFunc added in v0.0.10

type RenderFunc func() (string, error)

func (RenderFunc) Render added in v0.0.10

func (r RenderFunc) Render() (string, error)

type Response

type Response struct {
	Name       string
	StatusCode string

	Headers []Header

	Body Optional[any]
	// contains filtered or unexported fields
}

func NewResponse

func NewResponse(handlerName string, response *specification.Response) *Response

type RouterFile added in v0.0.2

type RouterFile struct {
	BasePath         string
	BaseSpecFilename string
	SpecFileExt      string

	Handlers []routerHandler
	Routes   []routeMethod
}

func (RouterFile) Execute added in v0.0.2

func (r RouterFile) Execute() (string, error)

type Schema added in v0.0.2

type Schema interface {
	// FormatQuery()
	TemplateToString(Templater) Templater
}

func NewSchema

func NewSchema(spec specification.Schema) Schema

type SchemaFunc added in v0.0.10

type SchemaFunc func(Templater) Templater

func (SchemaFunc) TemplateToString added in v0.0.10

func (s SchemaFunc) TemplateToString(t Templater) Templater

type SliceType added in v0.0.2

type SliceType struct {
	Items Schema
}

func (SliceType) TemplateToString added in v0.0.2

func (s SliceType) TemplateToString(t Templater) Templater

type StringConst added in v0.0.2

type StringConst string

func (StringConst) Execute added in v0.0.2

func (s StringConst) Execute() (string, error)

func (StringConst) String added in v0.0.2

func (s StringConst) String() (string, error)

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{}

func (StringType) FormatAssignTemplater added in v0.0.2

func (_ StringType) FormatAssignTemplater(from, to Templater, isNew bool) Templater

func (StringType) TemplateToString added in v0.0.2

func (_ StringType) TemplateToString(t Templater) Templater

type StringerType added in v0.0.5

type StringerType struct {
	T Templater
}

func (StringerType) TemplateToString added in v0.0.5

func (_ StringerType) TemplateToString(t Templater) Templater

type TData added in v0.0.2

type TData map[string]any

type Template added in v0.0.2

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

func InitTemplate added in v0.0.2

func InitTemplate(name, text string) *Template

func (*Template) Execute added in v0.0.2

func (t *Template) Execute(data interface{}) (string, error)

func (*Template) ExecuteTemplate added in v0.0.2

func (t *Template) ExecuteTemplate(name string, data interface{}) (string, error)

type Templater added in v0.0.2

type Templater interface {
	// Execute() (string, error)
	String() (string, error)
}

func AssignTemplate added in v0.0.2

func AssignTemplate(from, to Templater, isNew bool) Templater

func OldTemplater added in v0.0.2

func OldTemplater(t interface{ Execute() (string, error) }) Templater

func TemplateData added in v0.0.2

func TemplateData(name string, data interface{}) Templater

func ToSliceStrings added in v0.0.2

func ToSliceStrings(t Templater) Templater

type TemplaterFunc added in v0.0.10

type TemplaterFunc func() (string, error)

func (TemplaterFunc) String added in v0.0.10

func (t TemplaterFunc) String() (string, error)

type Templaters added in v0.0.2

type Templaters []Templater

func (Templaters) Execute added in v0.0.2

func (t Templaters) Execute() (string, error)

func (Templaters) ExecuteArgs added in v0.0.2

func (t Templaters) ExecuteArgs(args ...any) (string, error)

Jump to

Keyboard shortcuts

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