types

package
v0.0.0-...-606d016 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TemplateTypeNodes ...
	TemplateTypeNodes string = "nodes"

	// TemplateEmpty no object will pass
	TemplateEmpty string = "empty"
)

Variables

View Source
var ErrSemaAnalysis = errors.New("sema analysis error")

ErrSemaAnalysis ...

View Source
var ErrValidate = errors.New("validate error")

ErrValidate ...

Functions

func MergeFuncMap

func MergeFuncMap(maps ...template.FuncMap) template.FuncMap

MergeFuncMap merge funcMap

func NodesAll

func NodesAll(nodes []Node, predict func(n Node) bool) bool

NodesAll return true if all of predict(n) == true

func NodesAny

func NodesAny(nodes []Node, predict func(n Node) bool) bool

NodesAny return true if any of predict(n) == true

Types

type FieldFragment

type FieldFragment struct {
	Name     string
	Multiple bool
	Required bool
	Types    []Node
}

FieldFragment ...

func (FieldFragment) FirstType

func (f FieldFragment) FirstType() Node

FirstType return first type

type FieldFragmentOrderedMap

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

FieldFragmentOrderedMap preserve insert order

func MakeFieldFragmentOrderedMap

func MakeFieldFragmentOrderedMap() FieldFragmentOrderedMap

MakeFieldFragmentOrderedMap ...

func (*FieldFragmentOrderedMap) Entities

Entities return entities

func (*FieldFragmentOrderedMap) Get

Get gets ...

func (*FieldFragmentOrderedMap) Has

func (om *FieldFragmentOrderedMap) Has(key string) bool

Has check key exists

func (*FieldFragmentOrderedMap) Index

Index ...

func (*FieldFragmentOrderedMap) MarshalYAML

func (om *FieldFragmentOrderedMap) MarshalYAML() (interface{}, error)

MarshalYAML ...

func (*FieldFragmentOrderedMap) Set

func (om *FieldFragmentOrderedMap) Set(key string, val FieldFragment)

Set sets ...

func (*FieldFragmentOrderedMap) SetDuplicate

func (om *FieldFragmentOrderedMap) SetDuplicate(key string, val FieldFragment) error

SetDuplicate set but error if duplicate

func (*FieldFragmentOrderedMap) Size

func (om *FieldFragmentOrderedMap) Size() int

Size ...

func (*FieldFragmentOrderedMap) UnmarshalYAML

func (om *FieldFragmentOrderedMap) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML ...

func (*FieldFragmentOrderedMap) Values

func (om *FieldFragmentOrderedMap) Values() []FieldFragment

Values get values

type FieldFragmentOrderedMapEntity

type FieldFragmentOrderedMapEntity struct {
	Key string
	Val FieldFragment
}

FieldFragmentOrderedMapEntity key value pair

type Funcs

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

Funcs provide funcmap

func NewFuncs

func NewFuncs(store *Store) *Funcs

NewFuncs ...

func (*Funcs) NewFuncMap

func (f *Funcs) NewFuncMap() template.FuncMap

NewFuncMap ...

type NamedNode

type NamedNode interface {
	Node
	// contains filtered or unexported methods
}

NamedNode ...

type NamedTokenType

type NamedTokenType struct {
	Type string
	// contains filtered or unexported fields
}

NamedTokenType represents complex token node

func (*NamedTokenType) GetType

func (n *NamedTokenType) GetType() string

GetType get type

type NamelessNode

type NamelessNode struct {
	Type string
	// contains filtered or unexported fields
}

NamelessNode ...

func (*NamelessNode) GetQuotedType

func (n *NamelessNode) GetQuotedType() string

GetQuotedType get quoted type

func (*NamelessNode) GetType

func (n *NamelessNode) GetType() string

GetType get type

type Node

type Node interface {
	GetType() string
	// contains filtered or unexported methods
}

Node ...

type NodeSemaAnalysis

type NodeSemaAnalysis struct{}

NodeSemaAnalysis ...

func NewNodeSemaAnalysis

func NewNodeSemaAnalysis() *NodeSemaAnalysis

NewNodeSemaAnalysis ...

func (*NodeSemaAnalysis) Analysis

func (ns *NodeSemaAnalysis) Analysis(nodes []Node) (res *SemaResult, err error)

Analysis do sema analysis

type NodesValidator

type NodesValidator struct{}

NodesValidator ...

func NewNodesValidChecker

func NewNodesValidChecker() *NodesValidator

NewNodesValidChecker ...

func (*NodesValidator) Validate

func (nv *NodesValidator) Validate(nodes []Node) (err error)

Validate checks valid

type NormalTypeNode

type NormalTypeNode struct {
	Type string
	// Children merge into fields
	Fields FieldFragmentOrderedMap
	// contains filtered or unexported fields
}

NormalTypeNode ...

func (*NormalTypeNode) Children

func (n *NormalTypeNode) Children() FieldFragment

Children return children

func (*NormalTypeNode) GetType

func (n *NormalTypeNode) GetType() string

GetType get type

func (*NormalTypeNode) MustFirstField

func (n *NormalTypeNode) MustFirstField() FieldFragment

MustFirstField return first field, if fields have more than one, then panic

type SemaResult

type SemaResult struct {
	// inverted index query type's super type
	SuperTypeQueryTab map[string]*SuperTypeNode
	// get all subtypes by super type
	SubTypesQueryTable map[string][]Node
}

SemaResult contains semantic info

type Store

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

Store impls codegen.TypeStore

func NewStore

func NewStore(nodes []Node, sema *SemaResult) *Store

NewStore new store

func (*Store) GetObjectIterator

func (t *Store) GetObjectIterator(templateType string, unit int) (codegen.Iterator, error)

GetObjectIterator get iterator for object

func (*Store) LeafSubTypes

func (t *Store) LeafSubTypes(node *SuperTypeNode) []Node

LeafSubTypes return all leaf sub types from super type

func (*Store) SuperTypeOf

func (t *Store) SuperTypeOf(node NamedNode) *SuperTypeNode

SuperTypeOf return node's super type, if none, panic

type StoreFuncsLoader

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

StoreFuncsLoader loader for Store and Funcs

func NewStoreFuncsLoader

func NewStoreFuncsLoader(nodes []Node, sema *SemaResult) *StoreFuncsLoader

NewStoreFuncsLoader ...

func (*StoreFuncsLoader) LoadFuncs

func (l *StoreFuncsLoader) LoadFuncs() (template.FuncMap, error)

LoadFuncs impl codegen.FuncsLoader

func (*StoreFuncsLoader) LoadStore

func (l *StoreFuncsLoader) LoadStore() (codegen.TypeStore, error)

LoadStore impl codegen.StoreLoader

type SuperTypeNode

type SuperTypeNode struct {
	Type     string
	SubTypes []Node
	// contains filtered or unexported fields
}

SuperTypeNode ...

func (*SuperTypeNode) GetType

func (n *SuperTypeNode) GetType() string

GetType get type

Jump to

Keyboard shortcuts

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