Documentation ¶
Index ¶
- Constants
- type ActionStatement
- type EntityStatement
- type Expression
- type ExpressionStatement
- type ExpressionType
- type Identifier
- type InfixExpression
- type Node
- type Operator
- type PrefixExpression
- type RelationStatement
- type RelationTypeStatement
- type RelationTypeStatements
- type RelationalReferenceType
- type Schema
- func (sch *Schema) GetRelationReferenceIfExist(name string) ([]RelationTypeStatement, bool)
- func (sch *Schema) GetRelationalReferenceTypeIfExist(r string) (RelationalReferenceType, bool)
- func (sch *Schema) IsEntityReferenceExist(name string) bool
- func (sch *Schema) IsRelationReferenceExist(name string) bool
- func (sch *Schema) SetActionReferences(r map[string]struct{})
- func (sch *Schema) SetEntityReferences(r map[string]struct{})
- func (sch *Schema) SetRelationReferences(r map[string][]RelationTypeStatement)
- func (sch *Schema) SetRelationalReferences(r map[string]RelationalReferenceType)
- func (sch *Schema) ValidateReferences() error
- type Statement
Constants ¶
const ( IDENTIFIER ExpressionType = "identifier" PREFIX ExpressionType = "prefix" INFLIX ExpressionType = "inflix" AND Operator = "and" OR Operator = "or" ACTION RelationalReferenceType = "action" RELATION RelationalReferenceType = "relation" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionStatement ¶
type ActionStatement struct { Token token.Token // token.ACTION Name token.Token // token.IDENT ExpressionStatement Statement }
ActionStatement -
func (*ActionStatement) TokenLiteral ¶
func (ls *ActionStatement) TokenLiteral() string
TokenLiteral -
type EntityStatement ¶
type EntityStatement struct { Token token.Token // token.ENTITY Name token.Token // token.IDENT RelationStatements []Statement ActionStatements []Statement Option token.Token // token.OPTION }
EntityStatement -
func (*EntityStatement) TokenLiteral ¶
func (ls *EntityStatement) TokenLiteral() string
TokenLiteral -
type Expression ¶
type Expression interface { Node IsInfix() bool GetType() ExpressionType GetValue() string // contains filtered or unexported methods }
Expression -
type ExpressionStatement ¶
type ExpressionStatement struct {
Expression Expression
}
ExpressionStatement struct
func (*ExpressionStatement) String ¶
func (es *ExpressionStatement) String() string
func (*ExpressionStatement) TokenLiteral ¶
func (es *ExpressionStatement) TokenLiteral() string
TokenLiteral function on ExpressionStatement
type ExpressionType ¶
type ExpressionType string
type Identifier ¶
Identifier -
type InfixExpression ¶
type InfixExpression struct { Token token.Token // The operator token, e.g. and, or Left Expression Operator Operator Right Expression }
InfixExpression -
func (*InfixExpression) TokenLiteral ¶
func (ie *InfixExpression) TokenLiteral() string
TokenLiteral -
type PrefixExpression ¶
PrefixExpression -
func (*PrefixExpression) TokenLiteral ¶
func (pe *PrefixExpression) TokenLiteral() string
TokenLiteral -
type RelationStatement ¶
type RelationStatement struct { Token token.Token // token.RELATION Name token.Token // token.IDENT RelationTypes []Statement Option token.Token // token.OPTION }
RelationStatement -
func (*RelationStatement) TokenLiteral ¶
func (ls *RelationStatement) TokenLiteral() string
TokenLiteral -
type RelationTypeStatement ¶
type RelationTypeStatement struct { Sign token.Token // token.SIGN Token token.Token // token.IDENT }
RelationTypeStatement -
func (*RelationTypeStatement) IsEntityReference ¶
func (ls *RelationTypeStatement) IsEntityReference() bool
IsEntityReference -
func (*RelationTypeStatement) TokenLiteral ¶
func (ls *RelationTypeStatement) TokenLiteral() string
TokenLiteral -
type RelationTypeStatements ¶
type RelationTypeStatements []RelationTypeStatement
RelationTypeStatements -
func (RelationTypeStatements) GetEntityReference ¶
func (st RelationTypeStatements) GetEntityReference() string
GetEntityReference -
type RelationalReferenceType ¶
type RelationalReferenceType string
type Schema ¶
type Schema struct { Statements []Statement // contains filtered or unexported fields }
Schema -
func (*Schema) GetRelationReferenceIfExist ¶
func (sch *Schema) GetRelationReferenceIfExist(name string) ([]RelationTypeStatement, bool)
GetRelationReferenceIfExist -
func (*Schema) GetRelationalReferenceTypeIfExist ¶
func (sch *Schema) GetRelationalReferenceTypeIfExist(r string) (RelationalReferenceType, bool)
GetRelationalReferenceTypeIfExist -
func (*Schema) IsEntityReferenceExist ¶
IsEntityReferenceExist -
func (*Schema) IsRelationReferenceExist ¶
IsRelationReferenceExist -
func (*Schema) SetActionReferences ¶
SetActionReferences -
func (*Schema) SetEntityReferences ¶
SetEntityReferences -
func (*Schema) SetRelationReferences ¶
func (sch *Schema) SetRelationReferences(r map[string][]RelationTypeStatement)
SetRelationReferences -
func (*Schema) SetRelationalReferences ¶
func (sch *Schema) SetRelationalReferences(r map[string]RelationalReferenceType)
SetRelationalReferences it contains action and relation references
func (*Schema) ValidateReferences ¶
ValidateReferences -