tokens

package
v0.0.0-...-e95280a Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Adapter

type Adapter interface {
	ToTokens(content string) (Tokens, error)
}

Adapter represents a token adapter

type AdapterBuilder

type AdapterBuilder interface {
	Create() AdapterBuilder
	WithRules(rules rules.Rules) AdapterBuilder
	Now() (Adapter, error)
}

AdapterBuilder represents an adapter builder

func NewAdapterBuilder

func NewAdapterBuilder() AdapterBuilder

NewAdapterBuilder creates a new adapter builder instance

type Block

type Block interface {
	Must() Lines
	HasNot() bool
	Not() Lines
}

Block represents a token block

type BlockBuilder

type BlockBuilder interface {
	Create() BlockBuilder
	WithMust(must Lines) BlockBuilder
	WithNot(not Lines) BlockBuilder
	Now() (Block, error)
}

BlockBuilder represents a block builder

func NewBlockBuilder

func NewBlockBuilder() BlockBuilder

NewBlockBuilder creates a new block builder

type Builder

type Builder interface {
	Create() Builder
	WithTokens(tokens []Token) Builder
	Now() (Tokens, error)
}

Builder represents a tokens builder

func NewBuilder

func NewBuilder() Builder

NewBuilder creates a new builder instance

type Cardinality

type Cardinality interface {
	IsNonZeroMultiple() bool
	IsZeroMultiple() bool
	IsSpecific() bool
	Specific() SpecificCardinality
}

Cardinality represents the cardinality of an element

type CardinalityBuilder

type CardinalityBuilder interface {
	Create() CardinalityBuilder
	IsNonZeroMultiple() CardinalityBuilder
	IsZeroMultiple() CardinalityBuilder
	WithSpecific(specific SpecificCardinality) CardinalityBuilder
	Now() (Cardinality, error)
}

CardinalityBuilder represents a cardinality builder

func NewCardinalityBuilder

func NewCardinalityBuilder() CardinalityBuilder

NewCardinalityBuilder creates a new cardinality builder

type Content

type Content interface {
	Name() string
	IsToken() bool
	Token() string
	IsRule() bool
	Rule() rules.Rule
}

Content represents an element content

type ContentBuilder

type ContentBuilder interface {
	Create() ContentBuilder
	WithToken(token string) ContentBuilder
	WithRule(rule rules.Rule) ContentBuilder
	Now() (Content, error)
}

ContentBuilder represents a content builder

func NewContentBuilder

func NewContentBuilder() ContentBuilder

NewContentBuilder creates a new content builder

type Element

type Element interface {
	Content() Content
	Code() string
	HasSubElements() bool
	SubElements() SubElements
	HasCardinality() bool
	Cardinality() Cardinality
}

Element represents a token element

type ElementBuilder

type ElementBuilder interface {
	Create() ElementBuilder
	WithContent(content Content) ElementBuilder
	WithCode(code string) ElementBuilder
	WithSubElements(subElements SubElements) ElementBuilder
	WithCardinality(cardinality Cardinality) ElementBuilder
	Now() (Element, error)
}

ElementBuilder represents an element builder

func NewElementBuilder

func NewElementBuilder() ElementBuilder

NewElementBuilder creates a new element builder

type Line

type Line interface {
	Elements() []Element
}

Line represents a token line

type LineBuilder

type LineBuilder interface {
	Create() LineBuilder
	WithElements(elements []Element) LineBuilder
	Now() (Line, error)
}

LineBuilder represents a line builder

func NewLineBuilder

func NewLineBuilder() LineBuilder

NewLineBuilder creates a new line builder

type Lines

type Lines interface {
	All() []Line
}

Lines represents lines

type LinesBuilder

type LinesBuilder interface {
	Create() LinesBuilder
	WithLines(lines []Line) LinesBuilder
	Now() (Lines, error)
}

LinesBuilder represents a lines builder

func NewLinesBuilder

func NewLinesBuilder() LinesBuilder

NewLinesBuilder creates a new lines builder

type Range

type Range interface {
	Min() uint
	HasMax() bool
	Max() *uint
}

Range represents a range

type RangeBuilder

type RangeBuilder interface {
	Create() RangeBuilder
	WithMinimum(min uint) RangeBuilder
	WithMaximum(max uint) RangeBuilder
	Now() (Range, error)
}

RangeBuilder represents a range builder

func NewRangeBuilder

func NewRangeBuilder() RangeBuilder

NewRangeBuilder creates a new range builder

type SpecificCardinality

type SpecificCardinality interface {
	IsAmount() bool
	Amount() *uint
	IsRange() bool
	Range() Range
}

SpecificCardinality represents a specific cardinaltiy

type SpecificCardinalityBuilder

type SpecificCardinalityBuilder interface {
	Create() SpecificCardinalityBuilder
	WithAmount(amount uint) SpecificCardinalityBuilder
	WithRange(rnge Range) SpecificCardinalityBuilder
	Now() (SpecificCardinality, error)
}

SpecificCardinalityBuilder represents a specific cardinality builder

func NewSpecificCardinalityBuilder

func NewSpecificCardinalityBuilder() SpecificCardinalityBuilder

NewSpecificCardinalityBuilder creates a new specific cardinality builder instance

type SubElement

type SubElement interface {
	Content() Content
	Cardinality() SpecificCardinality
}

SubElement represents a sub element

type SubElementBuilder

type SubElementBuilder interface {
	Create() SubElementBuilder
	WithContent(content Content) SubElementBuilder
	WithCardinality(cardinality SpecificCardinality) SubElementBuilder
	Now() (SubElement, error)
}

SubElementBuilder represents a sub element builder

func NewSubElementBuilder

func NewSubElementBuilder() SubElementBuilder

NewSubElementBuilder creates a new sub element builder

type SubElements

type SubElements interface {
	All() []SubElement
	Find(name string) (SubElement, error)
}

SubElements represents sub elements

type SubElementsBuilder

type SubElementsBuilder interface {
	Create() SubElementsBuilder
	WithSubElements(subElements []SubElement) SubElementsBuilder
	Now() (SubElements, error)
}

SubElementsBuilder represents sub elements builder

func NewSubElementsBuilder

func NewSubElementsBuilder() SubElementsBuilder

NewSubElementsBuilder creates a new sub elements builder

type Token

type Token interface {
	Name() string
	Block() Block
}

Token represents a token

type TokenBuilder

type TokenBuilder interface {
	Create() TokenBuilder
	WithName(name string) TokenBuilder
	WithBlock(block Block) TokenBuilder
	Now() (Token, error)
}

TokenBuilder represents a token builder

func NewTokenBuilder

func NewTokenBuilder() TokenBuilder

NewTokenBuilder creates a new token builder instance

type Tokens

type Tokens interface {
	All() []Token
	Find(name string) (Token, error)
}

Tokens represets tokens

Jump to

Keyboard shortcuts

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