unified

package
v0.0.0-...-17e6b21 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ASTOperations

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

type ASTProcessor

type ASTProcessor interface {
	ProcessNode(ctx context.Context, node *Node) error
	GetCapabilities() []string
}

type ASTValidator

type ASTValidator interface {
	ValidateNode(ctx context.Context, node *Node) error
	GetValidationType() string
}

type Node

type Node struct {
	ID        string                 `json:"id"`
	Type      NodeType               `json:"type"`
	Value     interface{}            `json:"value"`
	Children  []*Node                `json:"children,omitempty"`
	Parent    *Node                  `json:"-"`
	Metadata  map[string]interface{} `json:"metadata"`
	Hash      string                 `json:"hash"`
	Version   string                 `json:"version"`
	CreatedAt time.Time              `json:"created_at"`
	UpdatedAt time.Time              `json:"updated_at"`
	Context   context.Context        `json:"-"`
}

type NodeBuilder

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

func NewNode

func NewNode() *NodeBuilder

func (*NodeBuilder) AddChild

func (b *NodeBuilder) AddChild(child *Node) *NodeBuilder

func (*NodeBuilder) Build

func (b *NodeBuilder) Build() (*Node, error)

func (*NodeBuilder) WithContext

func (b *NodeBuilder) WithContext(ctx context.Context) *NodeBuilder

func (*NodeBuilder) WithID

func (b *NodeBuilder) WithID(id string) *NodeBuilder

func (*NodeBuilder) WithMetadata

func (b *NodeBuilder) WithMetadata(key string, value interface{}) *NodeBuilder

func (*NodeBuilder) WithType

func (b *NodeBuilder) WithType(nodeType NodeType) *NodeBuilder

func (*NodeBuilder) WithValue

func (b *NodeBuilder) WithValue(value interface{}) *NodeBuilder

type NodeComparator

type NodeComparator func(*Node, *Node) bool

type NodeFilter

type NodeFilter func(*Node) bool

type NodeTransformer

type NodeTransformer func(*Node) error

type NodeType

type NodeType string
const (
	NodeTypeDocument  NodeType = "document"
	NodeTypeControl   NodeType = "control"
	NodeTypeComponent NodeType = "component"
	NodeTypePolicy    NodeType = "policy"
	NodeTypeResource  NodeType = "resource"
	NodeTypeReference NodeType = "reference"
)
const (
	NodeTypeDocument   NodeType = "document"
	NodeTypeControl    NodeType = "control"
	NodeTypeComponent  NodeType = "component"
	NodeTypePolicy     NodeType = "policy"
	NodeTypeResource   NodeType = "resource"
	NodeTypeBackMatter NodeType = "back_matter"
)

type NodeVisitor

type NodeVisitor interface {
	Visit(ctx context.Context, node *Node) error
}

type TraversalMode

type TraversalMode int
const (
	TraversalPreOrder TraversalMode = iota
	TraversalPostOrder
	TraversalBreadthFirst
)

type UnifiedAST

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

func NewUnifiedAST

func NewUnifiedAST(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
) *UnifiedAST

func (*UnifiedAST) AddNode

func (ast *UnifiedAST) AddNode(
	ctx context.Context,
	parent *Node,
	node *Node,
) error

func (*UnifiedAST) CloneSubtree

func (ast *UnifiedAST) CloneSubtree(
	ctx context.Context,
	node *Node,
) (*Node, error)

Node cloning with quantum-safe verification

func (*UnifiedAST) CompareNodes

func (ast *UnifiedAST) CompareNodes(
	ctx context.Context,
	node1, node2 *Node,
	comparator NodeComparator,
) (bool, error)

Quantum-safe node comparison

func (*UnifiedAST) FindNodes

func (ast *UnifiedAST) FindNodes(
	ctx context.Context,
	filter NodeFilter,
) ([]*Node, error)

Advanced node operations

func (*UnifiedAST) TransformNodes

func (ast *UnifiedAST) TransformNodes(
	ctx context.Context,
	filter NodeFilter,
	transformer NodeTransformer,
) error

func (*UnifiedAST) Traverse

func (ast *UnifiedAST) Traverse(
	ctx context.Context,
	mode TraversalMode,
	visitor NodeVisitor,
) error

Jump to

Keyboard shortcuts

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