builtins

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2026 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PriorityObject         = 0   // Object must be first (base prototype)
	PriorityFunction       = 1   // Function second (inherits from Object)
	PriorityIterator       = 2   // Iterator types (needed for iterables)
	PriorityArray          = 3   // Array third (inherits from Object, implements Iterable)
	PriorityArguments      = 4   // Arguments object (array-like)
	PriorityGenerator      = 5   // Generator objects (inherits from Object, implements Iterable)
	PriorityAsyncGenerator = 6   // AsyncGenerator objects (like Generator but returns Promises)
	PriorityString         = 10  // String primitives
	PriorityNumber         = 11  // Number primitives
	PriorityBoolean        = 12  // Boolean primitives
	PriorityRegExp         = 13  // RegExp constructor
	PriorityMath           = 100 // Math object
	PriorityJSON           = 101 // JSON object
	PriorityConsole        = 102 // Console object
	PriorityDate           = 103 // Date constructor
)

Priority constants for initialization order

View Source
const PriorityAbortController = 195 // Before fetch

Priority constant for AbortController

View Source
const PriorityBlob = 190 // Before fetch

Priority constant for Blob

View Source
const PriorityFetch = 200 // After most builtins

Priority constant for fetch

View Source
const PriorityFormData = 191 // After Blob, before fetch

Priority constant for FormData

View Source
const PriorityPaserati = 200

Priority for Paserati (after standard globals)

Variables

View Source
var (
	SymbolIterator           vm.Value
	SymbolToStringTag        vm.Value
	SymbolHasInstance        vm.Value
	SymbolToPrimitive        vm.Value
	SymbolIsConcatSpreadable vm.Value
	SymbolSpecies            vm.Value
	SymbolMatch              vm.Value
	SymbolMatchAll           vm.Value
	SymbolReplace            vm.Value
	SymbolSearch             vm.Value
	SymbolSplit              vm.Value
	SymbolUnscopables        vm.Value
	SymbolAsyncIterator      vm.Value
)

Well-known symbols

View Source
var ErrVMUnwinding = errors.New("VM unwinding")

ErrVMUnwinding is a sentinel error that indicates the VM is unwinding with an exception. When this error is returned, the caller should abort and return vm.Undefined immediately (without returning an error) to let the exception continue to propagate.

Functions

func ObjectGetOwnPropertyDescriptorForHarness

func ObjectGetOwnPropertyDescriptorForHarness(obj vm.Value, name vm.Value) (vm.Value, error)

ObjectGetOwnPropertyDescriptorForHarness exposes a minimal descriptor getter for the test262 harness

func SetupTypedArrayPrototype

func SetupTypedArrayPrototype(proto *vm.PlainObject, vmInstance *vm.VM)

SetupTypedArrayPrototype adds common TypedArray prototype methods to the given prototype object. This should be called after setting up the type-specific properties.

Types

type AbortController added in v0.9.3

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

AbortController represents the controller object

type AbortControllerInitializer added in v0.9.3

type AbortControllerInitializer struct{}

func (*AbortControllerInitializer) InitRuntime added in v0.9.3

func (a *AbortControllerInitializer) InitRuntime(ctx *RuntimeContext) error

func (*AbortControllerInitializer) InitTypes added in v0.9.3

func (a *AbortControllerInitializer) InitTypes(ctx *TypeContext) error

func (*AbortControllerInitializer) Name added in v0.9.3

func (*AbortControllerInitializer) Priority added in v0.9.3

func (a *AbortControllerInitializer) Priority() int

type AbortError added in v0.9.3

type AbortError struct {
	Message string
}

AbortError represents an abort error

func (*AbortError) Error added in v0.9.3

func (e *AbortError) Error() string

type AbortSignal added in v0.9.3

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

AbortSignal represents the signal object

func (*AbortSignal) Abort added in v0.9.3

func (s *AbortSignal) Abort(reason vm.Value)

Abort aborts the signal with an optional reason

type ArgumentsInitializer

type ArgumentsInitializer struct{}

func (*ArgumentsInitializer) InitRuntime

func (a *ArgumentsInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ArgumentsInitializer) InitTypes

func (a *ArgumentsInitializer) InitTypes(ctx *TypeContext) error

func (*ArgumentsInitializer) Name

func (a *ArgumentsInitializer) Name() string

func (*ArgumentsInitializer) Priority

func (a *ArgumentsInitializer) Priority() int

type ArrayBufferInitializer

type ArrayBufferInitializer struct{}

func (*ArrayBufferInitializer) InitRuntime

func (a *ArrayBufferInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ArrayBufferInitializer) InitTypes

func (a *ArrayBufferInitializer) InitTypes(ctx *TypeContext) error

func (*ArrayBufferInitializer) Name

func (a *ArrayBufferInitializer) Name() string

func (*ArrayBufferInitializer) Priority

func (a *ArrayBufferInitializer) Priority() int

type ArrayInitializer

type ArrayInitializer struct{}

func (*ArrayInitializer) InitRuntime

func (a *ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ArrayInitializer) InitTypes

func (a *ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*ArrayInitializer) Name

func (a *ArrayInitializer) Name() string

func (*ArrayInitializer) Priority

func (a *ArrayInitializer) Priority() int

type AsyncGeneratorInitializer

type AsyncGeneratorInitializer struct{}

func (*AsyncGeneratorInitializer) InitRuntime

func (g *AsyncGeneratorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*AsyncGeneratorInitializer) InitTypes

func (g *AsyncGeneratorInitializer) InitTypes(ctx *TypeContext) error

func (*AsyncGeneratorInitializer) Name

func (*AsyncGeneratorInitializer) Priority

func (g *AsyncGeneratorInitializer) Priority() int

type BigInt64ArrayInitializer

type BigInt64ArrayInitializer struct{}

func (*BigInt64ArrayInitializer) InitRuntime

func (i *BigInt64ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*BigInt64ArrayInitializer) InitTypes

func (i *BigInt64ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*BigInt64ArrayInitializer) Name

func (i *BigInt64ArrayInitializer) Name() string

func (*BigInt64ArrayInitializer) Priority

func (i *BigInt64ArrayInitializer) Priority() int

type BigIntInitializer

type BigIntInitializer struct{}

func (*BigIntInitializer) InitRuntime

func (b *BigIntInitializer) InitRuntime(ctx *RuntimeContext) error

func (*BigIntInitializer) InitTypes

func (b *BigIntInitializer) InitTypes(ctx *TypeContext) error

func (*BigIntInitializer) Name

func (b *BigIntInitializer) Name() string

func (*BigIntInitializer) Priority

func (b *BigIntInitializer) Priority() int

type BigUint64ArrayInitializer

type BigUint64ArrayInitializer struct{}

func (*BigUint64ArrayInitializer) InitRuntime

func (i *BigUint64ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*BigUint64ArrayInitializer) InitTypes

func (i *BigUint64ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*BigUint64ArrayInitializer) Name

func (*BigUint64ArrayInitializer) Priority

func (i *BigUint64ArrayInitializer) Priority() int

type Blob added in v0.9.3

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

Blob represents binary data with a MIME type

type BlobInitializer added in v0.9.3

type BlobInitializer struct{}

func (*BlobInitializer) InitRuntime added in v0.9.3

func (b *BlobInitializer) InitRuntime(ctx *RuntimeContext) error

func (*BlobInitializer) InitTypes added in v0.9.3

func (b *BlobInitializer) InitTypes(ctx *TypeContext) error

func (*BlobInitializer) Name added in v0.9.3

func (b *BlobInitializer) Name() string

func (*BlobInitializer) Priority added in v0.9.3

func (b *BlobInitializer) Priority() int

type BooleanInitializer

type BooleanInitializer struct{}

func (*BooleanInitializer) InitRuntime

func (b *BooleanInitializer) InitRuntime(ctx *RuntimeContext) error

func (*BooleanInitializer) InitTypes

func (b *BooleanInitializer) InitTypes(ctx *TypeContext) error

func (*BooleanInitializer) Name

func (b *BooleanInitializer) Name() string

func (*BooleanInitializer) Priority

func (b *BooleanInitializer) Priority() int

type BuiltinInitializer

type BuiltinInitializer interface {
	// Name returns the module name (e.g., "Array", "String", "Math")
	Name() string

	// Priority returns initialization order (lower = earlier)
	Priority() int

	// InitTypes creates type definitions for the checker
	InitTypes(ctx *TypeContext) error

	// InitRuntime creates runtime values for the VM
	InitRuntime(ctx *RuntimeContext) error
}

BuiltinInitializer is implemented by each builtin module

func GetStandardInitializers

func GetStandardInitializers() []BuiltinInitializer

GetStandardInitializers returns all built-in initializers sorted by priority

func InitError

func InitError() BuiltinInitializer

InitError creates and returns an ErrorInitializer

func InitReferenceError

func InitReferenceError() BuiltinInitializer

InitReferenceError creates and returns a ReferenceErrorInitializer

func InitSyntaxError

func InitSyntaxError() BuiltinInitializer

InitSyntaxError creates and returns a SyntaxErrorInitializer

func InitTypeError

func InitTypeError() BuiltinInitializer

InitTypeError creates and returns a TypeErrorInitializer

type ConsoleInitializer

type ConsoleInitializer struct{}

func (*ConsoleInitializer) InitRuntime

func (c *ConsoleInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ConsoleInitializer) InitTypes

func (c *ConsoleInitializer) InitTypes(ctx *TypeContext) error

func (*ConsoleInitializer) Name

func (c *ConsoleInitializer) Name() string

func (*ConsoleInitializer) Priority

func (c *ConsoleInitializer) Priority() int

type DateInitializer

type DateInitializer struct{}

func (*DateInitializer) InitRuntime

func (d *DateInitializer) InitRuntime(ctx *RuntimeContext) error

func (*DateInitializer) InitTypes

func (d *DateInitializer) InitTypes(ctx *TypeContext) error

func (*DateInitializer) Name

func (d *DateInitializer) Name() string

func (*DateInitializer) Priority

func (d *DateInitializer) Priority() int

type ErrorInitializer

type ErrorInitializer struct{}

ErrorInitializer implements the Error constructor and Error.prototype

func (*ErrorInitializer) InitRuntime

func (e *ErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ErrorInitializer) InitTypes

func (e *ErrorInitializer) InitTypes(ctx *TypeContext) error

func (*ErrorInitializer) Name

func (e *ErrorInitializer) Name() string

func (*ErrorInitializer) Priority

func (e *ErrorInitializer) Priority() int

type EvalErrorInitializer

type EvalErrorInitializer struct{}

EvalError

func (*EvalErrorInitializer) InitRuntime

func (e *EvalErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*EvalErrorInitializer) InitTypes

func (e *EvalErrorInitializer) InitTypes(ctx *TypeContext) error

func (*EvalErrorInitializer) Name

func (e *EvalErrorInitializer) Name() string

func (*EvalErrorInitializer) Priority

func (e *EvalErrorInitializer) Priority() int

type FetchHeaders added in v0.9.3

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

FetchHeaders wraps http.Header for use in fetch API

type FetchInitializer added in v0.9.3

type FetchInitializer struct{}

func (*FetchInitializer) InitRuntime added in v0.9.3

func (f *FetchInitializer) InitRuntime(ctx *RuntimeContext) error

func (*FetchInitializer) InitTypes added in v0.9.3

func (f *FetchInitializer) InitTypes(ctx *TypeContext) error

func (*FetchInitializer) Name added in v0.9.3

func (f *FetchInitializer) Name() string

func (*FetchInitializer) Priority added in v0.9.3

func (f *FetchInitializer) Priority() int

type FetchRequest added in v0.9.3

type FetchRequest struct {
	Method  string
	URL     string
	Headers *FetchHeaders

	Cache          string
	Credentials    string
	Destination    string
	Integrity      string
	Mode           string
	Redirect       string
	Referrer       string
	ReferrerPolicy string
	Signal         vm.Value
	// contains filtered or unexported fields
}

FetchRequest represents the Request object

type FetchResponse added in v0.9.3

type FetchResponse struct {
	OK         bool
	Status     int
	StatusText string
	URL        string
	Headers    *FetchHeaders

	Redirected bool   // Whether this response is the result of a redirect
	Type       string // Response type: "basic", "cors", "default", "error", "opaque", "opaqueredirect"
	// contains filtered or unexported fields
}

FetchResponse represents the Response object with VM reference for async methods

type Float32ArrayInitializer

type Float32ArrayInitializer struct{}

func (*Float32ArrayInitializer) InitRuntime

func (f *Float32ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Float32ArrayInitializer) InitTypes

func (f *Float32ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Float32ArrayInitializer) Name

func (f *Float32ArrayInitializer) Name() string

func (*Float32ArrayInitializer) Priority

func (f *Float32ArrayInitializer) Priority() int

type Float64ArrayInitializer

type Float64ArrayInitializer struct{}

func (*Float64ArrayInitializer) InitRuntime

func (u *Float64ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Float64ArrayInitializer) InitTypes

func (u *Float64ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Float64ArrayInitializer) Name

func (u *Float64ArrayInitializer) Name() string

func (*Float64ArrayInitializer) Priority

func (u *Float64ArrayInitializer) Priority() int

type FormData added in v0.9.3

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

FormData represents form data that can be sent with fetch

func (*FormData) GetEntries added in v0.9.3

func (fd *FormData) GetEntries() []FormDataEntry

GetEntries returns the form data entries for serialization

type FormDataEntry added in v0.9.3

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

FormDataEntry represents a single entry in FormData

type FormDataInitializer added in v0.9.3

type FormDataInitializer struct{}

func (*FormDataInitializer) InitRuntime added in v0.9.3

func (f *FormDataInitializer) InitRuntime(ctx *RuntimeContext) error

func (*FormDataInitializer) InitTypes added in v0.9.3

func (f *FormDataInitializer) InitTypes(ctx *TypeContext) error

func (*FormDataInitializer) Name added in v0.9.3

func (f *FormDataInitializer) Name() string

func (*FormDataInitializer) Priority added in v0.9.3

func (f *FormDataInitializer) Priority() int

type FunctionInitializer

type FunctionInitializer struct{}

FunctionInitializer implements the Function builtin

func (*FunctionInitializer) InitRuntime

func (f *FunctionInitializer) InitRuntime(ctx *RuntimeContext) error

func (*FunctionInitializer) InitTypes

func (f *FunctionInitializer) InitTypes(ctx *TypeContext) error

func (*FunctionInitializer) Name

func (f *FunctionInitializer) Name() string

func (*FunctionInitializer) Priority

func (f *FunctionInitializer) Priority() int

type GeneratorInitializer

type GeneratorInitializer struct{}

func (*GeneratorInitializer) InitRuntime

func (g *GeneratorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*GeneratorInitializer) InitTypes

func (g *GeneratorInitializer) InitTypes(ctx *TypeContext) error

func (*GeneratorInitializer) Name

func (g *GeneratorInitializer) Name() string

func (*GeneratorInitializer) Priority

func (g *GeneratorInitializer) Priority() int

type GlobalsInitializer

type GlobalsInitializer struct{}

func (*GlobalsInitializer) InitRuntime

func (g *GlobalsInitializer) InitRuntime(ctx *RuntimeContext) error

func (*GlobalsInitializer) InitTypes

func (g *GlobalsInitializer) InitTypes(ctx *TypeContext) error

func (*GlobalsInitializer) Name

func (g *GlobalsInitializer) Name() string

func (*GlobalsInitializer) Priority

func (g *GlobalsInitializer) Priority() int

type Int8ArrayInitializer

type Int8ArrayInitializer struct{}

func (*Int8ArrayInitializer) InitRuntime

func (i *Int8ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Int8ArrayInitializer) InitTypes

func (i *Int8ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Int8ArrayInitializer) Name

func (i *Int8ArrayInitializer) Name() string

func (*Int8ArrayInitializer) Priority

func (i *Int8ArrayInitializer) Priority() int

type Int16ArrayInitializer

type Int16ArrayInitializer struct{}

func (*Int16ArrayInitializer) InitRuntime

func (i *Int16ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Int16ArrayInitializer) InitTypes

func (i *Int16ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Int16ArrayInitializer) Name

func (i *Int16ArrayInitializer) Name() string

func (*Int16ArrayInitializer) Priority

func (i *Int16ArrayInitializer) Priority() int

type Int32ArrayInitializer

type Int32ArrayInitializer struct{}

func (*Int32ArrayInitializer) InitRuntime

func (i *Int32ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Int32ArrayInitializer) InitTypes

func (i *Int32ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Int32ArrayInitializer) Name

func (i *Int32ArrayInitializer) Name() string

func (*Int32ArrayInitializer) Priority

func (i *Int32ArrayInitializer) Priority() int

type IteratorInitializer

type IteratorInitializer struct{}

func (*IteratorInitializer) InitRuntime

func (i *IteratorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*IteratorInitializer) InitTypes

func (i *IteratorInitializer) InitTypes(ctx *TypeContext) error

func (*IteratorInitializer) Name

func (i *IteratorInitializer) Name() string

func (*IteratorInitializer) Priority

func (i *IteratorInitializer) Priority() int

type JSONInitializer

type JSONInitializer struct{}

func (*JSONInitializer) InitRuntime

func (j *JSONInitializer) InitRuntime(ctx *RuntimeContext) error

func (*JSONInitializer) InitTypes

func (j *JSONInitializer) InitTypes(ctx *TypeContext) error

func (*JSONInitializer) Name

func (j *JSONInitializer) Name() string

func (*JSONInitializer) Priority

func (j *JSONInitializer) Priority() int

type MapInitializer

type MapInitializer struct{}

func (*MapInitializer) InitRuntime

func (m *MapInitializer) InitRuntime(ctx *RuntimeContext) error

func (*MapInitializer) InitTypes

func (m *MapInitializer) InitTypes(ctx *TypeContext) error

func (*MapInitializer) Name

func (m *MapInitializer) Name() string

func (*MapInitializer) Priority

func (m *MapInitializer) Priority() int

type MathInitializer

type MathInitializer struct{}

func (*MathInitializer) InitRuntime

func (m *MathInitializer) InitRuntime(ctx *RuntimeContext) error

func (*MathInitializer) InitTypes

func (m *MathInitializer) InitTypes(ctx *TypeContext) error

func (*MathInitializer) Name

func (m *MathInitializer) Name() string

func (*MathInitializer) Priority

func (m *MathInitializer) Priority() int

type NumberInitializer

type NumberInitializer struct{}

func (*NumberInitializer) InitRuntime

func (n *NumberInitializer) InitRuntime(ctx *RuntimeContext) error

func (*NumberInitializer) InitTypes

func (n *NumberInitializer) InitTypes(ctx *TypeContext) error

func (*NumberInitializer) Name

func (n *NumberInitializer) Name() string

func (*NumberInitializer) Priority

func (n *NumberInitializer) Priority() int

type ObjectInitializer

type ObjectInitializer struct{}

ObjectInitializer implements the Object builtin

func (*ObjectInitializer) InitRuntime

func (o *ObjectInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ObjectInitializer) InitTypes

func (o *ObjectInitializer) InitTypes(ctx *TypeContext) error

func (*ObjectInitializer) Name

func (o *ObjectInitializer) Name() string

func (*ObjectInitializer) Priority

func (o *ObjectInitializer) Priority() int

type PaseratiInitializer

type PaseratiInitializer struct{}

func (*PaseratiInitializer) InitRuntime

func (p *PaseratiInitializer) InitRuntime(ctx *RuntimeContext) error

func (*PaseratiInitializer) InitTypes

func (p *PaseratiInitializer) InitTypes(ctx *TypeContext) error

func (*PaseratiInitializer) Name

func (p *PaseratiInitializer) Name() string

func (*PaseratiInitializer) Priority

func (p *PaseratiInitializer) Priority() int

type PerformanceEntry

type PerformanceEntry struct {
	Name      string
	EntryType string
	StartTime float64
	Duration  float64
}

PerformanceEntry represents a performance measurement

type PerformanceInitializer

type PerformanceInitializer struct{}

PerformanceInitializer implements the Performance builtin

func (*PerformanceInitializer) InitRuntime

func (p *PerformanceInitializer) InitRuntime(ctx *RuntimeContext) error

func (*PerformanceInitializer) InitTypes

func (p *PerformanceInitializer) InitTypes(ctx *TypeContext) error

func (*PerformanceInitializer) Name

func (p *PerformanceInitializer) Name() string

func (*PerformanceInitializer) Priority

func (p *PerformanceInitializer) Priority() int

type PromiseInitializer

type PromiseInitializer struct{}

func (*PromiseInitializer) InitRuntime

func (p *PromiseInitializer) InitRuntime(ctx *RuntimeContext) error

func (*PromiseInitializer) InitTypes

func (p *PromiseInitializer) InitTypes(ctx *TypeContext) error

func (*PromiseInitializer) Name

func (p *PromiseInitializer) Name() string

func (*PromiseInitializer) Priority

func (p *PromiseInitializer) Priority() int

type ProxyInitializer

type ProxyInitializer struct{}

func (*ProxyInitializer) InitRuntime

func (p *ProxyInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ProxyInitializer) InitTypes

func (p *ProxyInitializer) InitTypes(ctx *TypeContext) error

func (*ProxyInitializer) Name

func (p *ProxyInitializer) Name() string

func (*ProxyInitializer) Priority

func (p *ProxyInitializer) Priority() int

type RangeErrorInitializer

type RangeErrorInitializer struct{}

RangeError

func (*RangeErrorInitializer) InitRuntime

func (e *RangeErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*RangeErrorInitializer) InitTypes

func (e *RangeErrorInitializer) InitTypes(ctx *TypeContext) error

func (*RangeErrorInitializer) Name

func (e *RangeErrorInitializer) Name() string

func (*RangeErrorInitializer) Priority

func (e *RangeErrorInitializer) Priority() int

type ReferenceErrorInitializer

type ReferenceErrorInitializer struct{}

ReferenceErrorInitializer implements the ReferenceError constructor and ReferenceError.prototype

func (*ReferenceErrorInitializer) InitRuntime

func (r *ReferenceErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ReferenceErrorInitializer) InitTypes

func (r *ReferenceErrorInitializer) InitTypes(ctx *TypeContext) error

func (*ReferenceErrorInitializer) Name

func (*ReferenceErrorInitializer) Priority

func (r *ReferenceErrorInitializer) Priority() int

type ReflectInitializer

type ReflectInitializer struct{}

func (*ReflectInitializer) InitRuntime

func (r *ReflectInitializer) InitRuntime(ctx *RuntimeContext) error

func (*ReflectInitializer) InitTypes

func (r *ReflectInitializer) InitTypes(ctx *TypeContext) error

func (*ReflectInitializer) Name

func (r *ReflectInitializer) Name() string

func (*ReflectInitializer) Priority

func (r *ReflectInitializer) Priority() int

type RegExpInitializer

type RegExpInitializer struct{}

func (*RegExpInitializer) InitRuntime

func (r *RegExpInitializer) InitRuntime(ctx *RuntimeContext) error

func (*RegExpInitializer) InitTypes

func (r *RegExpInitializer) InitTypes(ctx *TypeContext) error

func (*RegExpInitializer) Name

func (r *RegExpInitializer) Name() string

func (*RegExpInitializer) Priority

func (r *RegExpInitializer) Priority() int

type RuntimeContext

type RuntimeContext struct {
	// The VM instance
	VM *vm.VM

	// The driver instance (for Function constructor)
	Driver interface{}

	// Define a global value
	DefineGlobal func(name string, value vm.Value) error

	// Get built-in prototypes (set as initializers run)
	ObjectPrototype   vm.Value
	FunctionPrototype vm.Value
	ArrayPrototype    vm.Value
}

RuntimeContext provides everything needed for runtime initialization

type SetInitializer

type SetInitializer struct{}

func (*SetInitializer) InitRuntime

func (s *SetInitializer) InitRuntime(ctx *RuntimeContext) error

func (*SetInitializer) InitTypes

func (s *SetInitializer) InitTypes(ctx *TypeContext) error

func (*SetInitializer) Name

func (s *SetInitializer) Name() string

func (*SetInitializer) Priority

func (s *SetInitializer) Priority() int

type StringInitializer

type StringInitializer struct{}

func (*StringInitializer) InitRuntime

func (s *StringInitializer) InitRuntime(ctx *RuntimeContext) error

func (*StringInitializer) InitTypes

func (s *StringInitializer) InitTypes(ctx *TypeContext) error

func (*StringInitializer) Name

func (s *StringInitializer) Name() string

func (*StringInitializer) Priority

func (s *StringInitializer) Priority() int

type SymbolInitializer

type SymbolInitializer struct{}

func (*SymbolInitializer) InitRuntime

func (s *SymbolInitializer) InitRuntime(ctx *RuntimeContext) error

func (*SymbolInitializer) InitTypes

func (s *SymbolInitializer) InitTypes(ctx *TypeContext) error

func (*SymbolInitializer) Name

func (s *SymbolInitializer) Name() string

func (*SymbolInitializer) Priority

func (s *SymbolInitializer) Priority() int

type SyntaxErrorInitializer

type SyntaxErrorInitializer struct{}

SyntaxErrorInitializer implements the SyntaxError constructor and SyntaxError.prototype

func (*SyntaxErrorInitializer) InitRuntime

func (s *SyntaxErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*SyntaxErrorInitializer) InitTypes

func (s *SyntaxErrorInitializer) InitTypes(ctx *TypeContext) error

func (*SyntaxErrorInitializer) Name

func (s *SyntaxErrorInitializer) Name() string

func (*SyntaxErrorInitializer) Priority

func (s *SyntaxErrorInitializer) Priority() int

type TypeContext

type TypeContext struct {
	// Define a global type (constructor, namespace, etc.)
	DefineGlobal func(name string, typ types.Type) error

	// Define a type alias (e.g., "number" -> types.Number)
	DefineTypeAlias func(name string, typ types.Type) error

	// Get a previously defined type
	GetType func(name string) (types.Type, bool)

	// Store prototype types for primitives (for checker's getBuiltinType)
	SetPrimitivePrototype func(primitiveName string, prototypeType *types.ObjectType)
}

TypeContext provides everything needed for type initialization

type TypeErrorInitializer

type TypeErrorInitializer struct{}

TypeErrorInitializer implements the TypeError constructor and TypeError.prototype

func (*TypeErrorInitializer) InitRuntime

func (t *TypeErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*TypeErrorInitializer) InitTypes

func (t *TypeErrorInitializer) InitTypes(ctx *TypeContext) error

func (*TypeErrorInitializer) Name

func (t *TypeErrorInitializer) Name() string

func (*TypeErrorInitializer) Priority

func (t *TypeErrorInitializer) Priority() int

type TypedArrayInitializer

type TypedArrayInitializer struct{}

TypedArrayInitializer sets up the abstract %TypedArray% intrinsic. This is the parent of all TypedArray constructors (Int8Array, Uint8Array, etc.)

func (*TypedArrayInitializer) InitRuntime

func (i *TypedArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*TypedArrayInitializer) InitTypes

func (i *TypedArrayInitializer) InitTypes(ctx *TypeContext) error

func (*TypedArrayInitializer) Name

func (i *TypedArrayInitializer) Name() string

func (*TypedArrayInitializer) Priority

func (i *TypedArrayInitializer) Priority() int

type URIErrorInitializer

type URIErrorInitializer struct{}

URIError

func (*URIErrorInitializer) InitRuntime

func (e *URIErrorInitializer) InitRuntime(ctx *RuntimeContext) error

func (*URIErrorInitializer) InitTypes

func (e *URIErrorInitializer) InitTypes(ctx *TypeContext) error

func (*URIErrorInitializer) Name

func (e *URIErrorInitializer) Name() string

func (*URIErrorInitializer) Priority

func (e *URIErrorInitializer) Priority() int

type Uint8ArrayInitializer

type Uint8ArrayInitializer struct{}

func (*Uint8ArrayInitializer) InitRuntime

func (u *Uint8ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Uint8ArrayInitializer) InitTypes

func (u *Uint8ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Uint8ArrayInitializer) Name

func (u *Uint8ArrayInitializer) Name() string

func (*Uint8ArrayInitializer) Priority

func (u *Uint8ArrayInitializer) Priority() int

type Uint8ClampedArrayInitializer

type Uint8ClampedArrayInitializer struct{}

func (*Uint8ClampedArrayInitializer) InitRuntime

func (u *Uint8ClampedArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Uint8ClampedArrayInitializer) InitTypes

func (u *Uint8ClampedArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Uint8ClampedArrayInitializer) Name

func (*Uint8ClampedArrayInitializer) Priority

func (u *Uint8ClampedArrayInitializer) Priority() int

type Uint16ArrayInitializer

type Uint16ArrayInitializer struct{}

func (*Uint16ArrayInitializer) InitRuntime

func (u *Uint16ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Uint16ArrayInitializer) InitTypes

func (u *Uint16ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Uint16ArrayInitializer) Name

func (u *Uint16ArrayInitializer) Name() string

func (*Uint16ArrayInitializer) Priority

func (u *Uint16ArrayInitializer) Priority() int

type Uint32ArrayInitializer

type Uint32ArrayInitializer struct{}

func (*Uint32ArrayInitializer) InitRuntime

func (u *Uint32ArrayInitializer) InitRuntime(ctx *RuntimeContext) error

func (*Uint32ArrayInitializer) InitTypes

func (u *Uint32ArrayInitializer) InitTypes(ctx *TypeContext) error

func (*Uint32ArrayInitializer) Name

func (u *Uint32ArrayInitializer) Name() string

func (*Uint32ArrayInitializer) Priority

func (u *Uint32ArrayInitializer) Priority() int

type UtilityTypesInitializer

type UtilityTypesInitializer struct{}

func (*UtilityTypesInitializer) InitRuntime

func (u *UtilityTypesInitializer) InitRuntime(ctx *RuntimeContext) error

func (*UtilityTypesInitializer) InitTypes

func (u *UtilityTypesInitializer) InitTypes(ctx *TypeContext) error

func (*UtilityTypesInitializer) Name

func (u *UtilityTypesInitializer) Name() string

func (*UtilityTypesInitializer) Priority

func (u *UtilityTypesInitializer) Priority() int

type WeakMapInitializer added in v0.9.3

type WeakMapInitializer struct{}

func (*WeakMapInitializer) InitRuntime added in v0.9.3

func (w *WeakMapInitializer) InitRuntime(ctx *RuntimeContext) error

func (*WeakMapInitializer) InitTypes added in v0.9.3

func (w *WeakMapInitializer) InitTypes(ctx *TypeContext) error

func (*WeakMapInitializer) Name added in v0.9.3

func (w *WeakMapInitializer) Name() string

func (*WeakMapInitializer) Priority added in v0.9.3

func (w *WeakMapInitializer) Priority() int

type WeakSetInitializer added in v0.9.3

type WeakSetInitializer struct{}

func (*WeakSetInitializer) InitRuntime added in v0.9.3

func (w *WeakSetInitializer) InitRuntime(ctx *RuntimeContext) error

func (*WeakSetInitializer) InitTypes added in v0.9.3

func (w *WeakSetInitializer) InitTypes(ctx *TypeContext) error

func (*WeakSetInitializer) Name added in v0.9.3

func (w *WeakSetInitializer) Name() string

func (*WeakSetInitializer) Priority added in v0.9.3

func (w *WeakSetInitializer) Priority() int

Jump to

Keyboard shortcuts

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