ast

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: May 16, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyAccessorsDetailed added in v0.3.0

func ApplyAccessorsDetailed(value ResolvedValue, accessors []ValueAccessor) (ResolvedValue, AccessError)

func GetArgNameFromCompCallArg added in v0.2.0

func GetArgNameFromCompCallArg(compCallArg Node) string

func GetArgValueFromCompCallArg added in v0.2.0

func GetArgValueFromCompCallArg(compCallArg Node) string

func GetContextKey added in v0.4.0

func GetContextKey(node Node) string

func GetIndexesFromRaw added in v0.3.0

func GetIndexesFromRaw(raw string) []int

func GetNameFromIndexedRaw added in v0.3.0

func GetNameFromIndexedRaw(raw string) string

func GetParamDefValFromCompParam added in v0.2.0

func GetParamDefValFromCompParam(compParam Node) string

func GetParamNameFromCompParam added in v0.2.0

func GetParamNameFromCompParam(compParam Node) string

func GetParamRefIndexes added in v0.3.0

func GetParamRefIndexes(node Node) []int

func GetParamRefName added in v0.3.0

func GetParamRefName(node Node) string

func GetParamRefRaw added in v0.3.0

func GetParamRefRaw(node Node) string

func GetTypeFromCompCallArg added in v0.2.0

func GetTypeFromCompCallArg(compCallArg Node) string

func GetTypeFromCompParam added in v0.2.0

func GetTypeFromCompParam(compParam Node) string

func IsRuleName

func IsRuleName(node Node, name string) bool

func IsRuleNameOneOf

func IsRuleNameOneOf(node Node, names []string) bool

Types

type AccessError added in v0.3.0

type AccessError struct {
	Kind AccessErrorKind
	Key  string
}

type AccessErrorKind added in v0.4.2

type AccessErrorKind string
const (
	AccessErrorUnknownRecordKey     AccessErrorKind = "unknown_record_key"
	AccessErrorArrayIndexOutOfRange AccessErrorKind = "array_index_out_of_range"
	AccessErrorInvalidKeyAccess     AccessErrorKind = "invalid_key_access"
	AccessErrorInvalidIndexAccess   AccessErrorKind = "invalid_index_access"
)

type Node

type Node interface {
	Rule() rule.Rule
	SetRule(rule.Rule)
	Parent() Node
	SetParent(Node)
	Children() []Node
	SetChildren([]Node)
	HasChildren() bool
	Raw() []byte
	SetRaw([]byte)
}

func DefaultEmptyNode

func DefaultEmptyNode() Node

func DefaultRootNode

func DefaultRootNode() Node

func FilterNodes

func FilterNodes(nodes []Node, filter func(Node) bool) []Node

func FilterNodesInTree

func FilterNodesInTree(node Node, filter func(Node) bool) []Node

func FindBuiltinCompDef added in v0.3.0

func FindBuiltinCompDef(root Node, name string) Node

func FindCompDef added in v0.3.0

func FindCompDef(root Node, compCallNode Node, name string) Node

func FindGlobalCompDef

func FindGlobalCompDef(root Node, name string) Node

func FindLocalCompDef

func FindLocalCompDef(srcNode Node, name string) Node

func FindNode

func FindNode(nodes []Node, filter func(Node) bool) Node

func FindNodeByRuleName

func FindNodeByRuleName(nodes []Node, name string) Node

func GetAncestors

func GetAncestors(node Node) []Node

func GetCompCallArgByParamName added in v0.2.0

func GetCompCallArgByParamName(compCallArgs []Node, paramName string) Node

func GetCompCallArgsFromCompCall added in v0.2.0

func GetCompCallArgsFromCompCall(compCall Node) []Node

func GetCompDefHeadFromCompDef added in v0.2.0

func GetCompDefHeadFromCompDef(compDef Node) Node

func GetCompParamsFromCompDef added in v0.2.0

func GetCompParamsFromCompDef(compDef Node) []Node

func GetCompParamsFromCompHead added in v0.2.0

func GetCompParamsFromCompHead(head Node) []Node

func GetLocalCompSourceFromNode added in v0.3.0

func GetLocalCompSourceFromNode(node Node, root Node) Node

type ResolvedValue added in v0.3.0

type ResolvedValue struct {
	Type              string
	Raw               string
	Items             []ResolvedValue
	Fields            map[string]ResolvedValue
	Scope             Node
	MissingContextKey string
}

func ApplyAccessors added in v0.3.0

func ApplyAccessors(value ResolvedValue, accessors []ValueAccessor) ResolvedValue

func ApplyIndexes added in v0.3.0

func ApplyIndexes(value ResolvedValue, indexes []int) ResolvedValue

func ResolveCompCallArgValue added in v0.3.0

func ResolveCompCallArgValue(root Node, compCallArg Node, invokerAncestors []Node, currentCompCall Node) ResolvedValue

func ResolveCompParamDefaultFromCompDef added in v0.3.0

func ResolveCompParamDefaultFromCompDef(root Node, compDef Node, paramName string) ResolvedValue

func ResolveContextReferenceValue added in v0.4.0

func ResolveContextReferenceValue(root Node, node Node) ResolvedValue

func ResolveContextValue added in v0.4.0

func ResolveContextValue(root Node, key string) ResolvedValue

func ResolveParamDefaultFromCompCall added in v0.3.0

func ResolveParamDefaultFromCompCall(root Node, compCallNode Node, paramName string) ResolvedValue

func ResolveParamFromAncestors added in v0.3.0

func ResolveParamFromAncestors(root Node, paramName string, accessors []ValueAccessor, invokerAncestors []Node) ResolvedValue

func (ResolvedValue) IsZero added in v0.3.0

func (rv ResolvedValue) IsZero() bool

type ValueAccessor added in v0.3.0

type ValueAccessor struct {
	Kind  string
	Key   string
	Index int
}

func GetContextAccessors added in v0.4.0

func GetContextAccessors(node Node) []ValueAccessor

func GetContextPathFromRaw added in v0.4.0

func GetContextPathFromRaw(raw string) (string, []ValueAccessor)

func GetParamRefAccessors added in v0.3.0

func GetParamRefAccessors(node Node) []ValueAccessor

func GetValuePathFromRaw added in v0.3.0

func GetValuePathFromRaw(raw string) (string, []ValueAccessor)

Jump to

Keyboard shortcuts

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