scanner

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildSchemaFromConfig

func BuildSchemaFromConfig(cfg *config.Config) string

BuildSchemaFromConfig computes the build schema from config.

Types

type PrimitiveAllocation

type PrimitiveAllocation struct {
	AnchorKey                   string
	Class                       PrimitiveClass
	Kind                        PrimitiveKind
	Ordinal                     int
	Conditional                 bool
	DebugName                   string
	TypeExpr                    string
	SchemaID                    string
	IsPersisted                 bool
	HasVangoSchemaID            bool
	InitializerExpr             string
	InitializerDependsOnProps   bool
	InitializerNonDeterministic bool
	Source                      SourceLocation
}

PrimitiveAllocation represents a single reactive primitive allocation.

type PrimitiveClass

type PrimitiveClass string

PrimitiveClass represents the persistence scope.

const (
	ClassLocal   PrimitiveClass = "local"
	ClassSession PrimitiveClass = "session"
	ClassGlobal  PrimitiveClass = "global"
)

type PrimitiveKind

type PrimitiveKind string

PrimitiveKind represents the primitive type.

const (
	KindSignal   PrimitiveKind = "signal"
	KindMemo     PrimitiveKind = "memo"
	KindResource PrimitiveKind = "resource"
	KindAction   PrimitiveKind = "action"
	KindEffect   PrimitiveKind = "effect"
	KindOnMount  PrimitiveKind = "onmount"
	KindOnChange PrimitiveKind = "onchange"
)

type ScanResult

type ScanResult struct {
	SetupCallsites []SetupCallsite
	SessionKeys    []SessionKeyDecl
	WithKeyUses    []SourceLocation
	BuildSchema    string
	ToolVersion    string
}

ScanResult contains all discovered state information from source files.

type Scanner

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

Scanner discovers Setup callsites, primitives, and SessionKeys.

func NewScanner

func NewScanner(rootDir string, buildTags []string, generatorInputs []string) *Scanner

NewScanner creates a new scanner rooted at the project directory.

func (*Scanner) Scan

func (s *Scanner) Scan() (*ScanResult, error)

Scan walks Go source and returns a scan result.

type SessionKeyDecl

type SessionKeyDecl struct {
	KeyName              string
	StableID             string
	TypeExpr             string
	SchemaID             string
	HasVangoSchemaID     bool
	HasDefault           bool
	Fingerprint          string
	PackageImportPath    string
	VarName              string
	Source               SourceLocation
	Discoverable         bool
	UndiscoverableReason string
}

SessionKeyDecl represents a SessionKey declaration found during scanning.

type SetupCallsite

type SetupCallsite struct {
	ScopeID           string
	PackageImportPath string
	FunctionName      string
	SetupIndex        int
	Primitives        []PrimitiveAllocation
	Source            SourceLocation
}

SetupCallsite represents a single vango.Setup(p, fn) callsite.

type SourceLocation

type SourceLocation struct {
	File   string
	Line   int
	Column int
}

SourceLocation identifies a location in a source file.

Jump to

Keyboard shortcuts

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