errors

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2023 License: Apache-2.0 Imports: 1 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	WriterFailedToWriteValueErr      = New().WithReason(WriterFailedToWriteValueReason)
	FastprinterFailedToPrintValueErr = New().WithReason(FastprinterFailedToPrintValueReason)
	RangerFailedToGetRangerErr       = New().WithReason(RangerFailedToGetRangerReason)
	UnquoterFailedToUnquoteErr       = New().WithReason(UnquoterFailedToUnquoteReason)
	ScannerFailedToScanErr           = New().WithReason(ScannerFailedToScanReason)

	InvalidNodeErr              = New().WithReason(InvalidNodeReason)
	InvalidVariableErr          = New().WithReason(InvalidVariableReason)
	InvalidValueErr             = New().WithReason(InvalidValueReason)
	InvalidIndexErr             = New().WithReason(InvalidIndexReason)
	InvalidArgumentsErr         = New().WithReason(InvalidArgumentsReason)
	InvalidNumberOfArgumentsErr = New().WithReason(InvalidNumberOfArgumentsReason)
	InvalidParseErr             = New().WithReason(InvalidParseReason)
	InvalidTypeErr              = New().WithReason(InvalidTypeReason)
	InvalidCallErr              = New().WithReason(InvalidCallReason)
	InvalidCommandErr           = New().WithReason(InvalidCommandReason)
	InvalidRangerErr            = New().WithReason(InvalidRangerReason)
	InvalidExpressionErr        = New().WithReason(InvalidExpressionReason)

	UnexpectedErr               = New().WithReason(UnexpectedReason)
	UnexpectedKeywordErr        = New().WithReason(UnexpectedKeywordReason)
	UnexpectedTokenErr          = New().WithReason(UnexpectedTokenReason)
	UnexpectedNodeErr           = New().WithReason(UnexpectedNodeReason)
	UnexpectedNodeTypeErr       = New().WithReason(UnexpectedNodeTypeReason)
	UnexpectedExpressionTypeErr = New().WithReason(UnexpectedExpressionTypeReason)
	UnexpectedCommandErr        = New().WithReason(UnexpectedCommandReason)
	UnexpectedClauseErr         = New().WithReason(UnexpectedClauseReason)

	NotFoundBlockErr         = New().WithReason(NotFoundBlockReason)
	NotFoundFieldOrMethodErr = New().WithReason(NotFoundFieldOrMethodReason)

	EmptyCommandErr = New().WithReason(EmptyCommandReason)

	ItemErrorErr = New().WithReason(ItemErrorReason)

	ConflictErr  = New().WithReason(ConflictReason)
	MalformedErr = New().WithReason(MalformedReason)
	OverflowErr  = New().WithReason(OverflowReason)
	BadSyntaxErr = New().WithReason(BadSyntaxReason)

	NotAvailableIdentifierErr = New().WithReason(NotAvailableIdentifierReason)

	MissingNameErr = New().WithReason(MissingNameReason)

	UnresolvedBlockErr = New().WithReason(UnresolvedBlockReason)

	NotAllowedSignal = New().WithReason(NotAllowedSignalReason)

	NonNumericValueErr = func(expression string) Error {
		return InvalidValueErr.WithMessageFmt("a non numeric value in numeric %s expression", expression)
	}

	NonNumericValueComparativeErr    = NonNumericValueErr("comparative")
	NonNumericValueMultiplicativeErr = NonNumericValueErr("multiplicative")

	UnexpectedNumberOfOperandsErr = New().WithReason(UnexpectedNumberOfOperandsReason).WithMessage("unexpected number of operands in assign on range")
)

Functions

This section is empty.

Types

type Builder

type Builder struct {
	T Template `json:"template,omitempty"`
	R Reason   `json:"reason,omitempty"`
	M Message  `json:"message,omitempty"`
	P Position `json:"position,omitempty"`
	C Cause    `json:"cause,omitempty"`
	D Details  `json:"details,omitempty"`
}

func New

func New() *Builder

func (*Builder) Cause added in v0.0.7

func (b *Builder) Cause() error

func (*Builder) Details

func (b *Builder) Details() Details

func (*Builder) Error

func (b *Builder) Error() string

func (*Builder) Message

func (b *Builder) Message() Message

func (*Builder) Position

func (b *Builder) Position() Position

func (*Builder) Reason

func (b *Builder) Reason() Reason

func (*Builder) Template added in v0.0.7

func (b *Builder) Template() Template

func (*Builder) WithCause added in v0.0.7

func (b *Builder) WithCause(c error) Error

func (*Builder) WithColumn

func (b *Builder) WithColumn(c Column) Error

func (*Builder) WithDetail

func (b *Builder) WithDetail(k, v string) Error

func (*Builder) WithDetails

func (b *Builder) WithDetails(d Details) Error

func (*Builder) WithLine

func (b *Builder) WithLine(l Line) Error

func (*Builder) WithMessage

func (b *Builder) WithMessage(m Message) Error

func (*Builder) WithMessageFmt added in v0.0.7

func (b *Builder) WithMessageFmt(f Format, args ...interface{}) Error

func (*Builder) WithPosition

func (b *Builder) WithPosition(l Line, c Column) Error

func (*Builder) WithReason

func (b *Builder) WithReason(r Reason) Error

func (*Builder) WithTemplate added in v0.0.7

func (b *Builder) WithTemplate(t Template) Error

type Cause added in v0.0.7

type Cause = error

type Column

type Column = int

type Details

type Details = map[string]interface{}

type Error

type Error interface {
	error

	Template() Template
	WithTemplate(Template) Error

	Reason() Reason
	WithReason(Reason) Error

	Message() Message
	WithMessage(Message) Error
	WithMessageFmt(Format, ...interface{}) Error

	Position() Position
	WithPosition(Line, Column) Error
	WithLine(Line) Error
	WithColumn(Column) Error

	Cause() error
	WithCause(error) Error

	Details() Details
	WithDetail(string, string) Error
	WithDetails(Details) Error
}

func Build

func Build(t Template, r Reason, m Message, p Position) Error

type Format added in v0.0.7

type Format = string

type Line

type Line = int

type Message

type Message = string

type Position

type Position struct {
	L Line   `json:"line,omitempty"`
	C Column `json:"column,omitempty"`
}

type Reason

type Reason string
const (
	TemplateErrorReason Reason = "jet.template.error"
	RuntimeErrorReason  Reason = "jet.runtime.error"

	WriterFailedToWriteValueReason      Reason = "writer.failed_to_write_value"
	FastprinterFailedToPrintValueReason Reason = "fastprinter.failed_to_print_value"
	RangerFailedToGetRangerReason       Reason = "ranger.failed_to_get_ranger"
	UnquoterFailedToUnquoteReason       Reason = "unquoter.failed_to_unquote"
	ScannerFailedToScanReason           Reason = "scanner.failed_to_scan"

	InvalidNodeReason              Reason = "invalid.node"
	InvalidVariableReason          Reason = "invalid.variable"
	InvalidValueReason             Reason = "invalid.value"
	InvalidIndexReason             Reason = "invalid.index"
	InvalidArgumentsReason         Reason = "invalid.arguments"
	InvalidNumberOfArgumentsReason Reason = "invalid.number_of_arguments"
	InvalidParseReason             Reason = "invalid.parse"
	InvalidTypeReason              Reason = "invalid.type"
	InvalidCallReason              Reason = "invalid.call"
	InvalidCommandReason           Reason = "invalid.command"
	InvalidRangerReason            Reason = "invalid.ranger"
	InvalidExpressionReason        Reason = "invalid.expression"

	UnexpectedReason                 Reason = "unexpected"
	UnexpectedKeywordReason          Reason = "unexpected.keyword"
	UnexpectedTokenReason            Reason = "unexpected.token"
	UnexpectedNodeReason             Reason = "unexpected.node"
	UnexpectedNodeTypeReason         Reason = "unexpected.node.type"
	UnexpectedExpressionTypeReason   Reason = "unexpected.expression.type"
	UnexpectedCommandReason          Reason = "unexpected.command"
	UnexpectedClauseReason           Reason = "unexpected.clause"
	UnexpectedNumberOfOperandsReason Reason = "unexpected.number_of_operands"

	NotFoundBlockReason         Reason = "not_found.block"
	NotFoundFieldOrMethodReason Reason = "not_found.field_or_method"

	EmptyCommandReason Reason = "empty.command"

	ItemErrorReason Reason = "item.error"

	ConflictReason  Reason = "conflict"
	MalformedReason Reason = "malformed"
	OverflowReason  Reason = "overflow"
	BadSyntaxReason Reason = "bad_syntax"

	NotAvailableIdentifierReason Reason = "not_available.identifier"

	MissingNameReason Reason = "missing.name"

	UnresolvedBlockReason Reason = "unresolved.block"

	NotAllowedSignalReason Reason = "not_allowed.signal"
)

func (Reason) Is added in v0.0.7

func (r Reason) Is(reason Reason) bool

type Template

type Template = string

Jump to

Keyboard shortcuts

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