builtins

package
v0.9.12 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 27 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)

View Source
const PriorityTemporal = 105 // After Date

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
	SymbolDispose            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 SetupTypedArrayConstructorProperties added in v0.9.9

func SetupTypedArrayConstructorProperties(ctor vm.Value, proto *vm.PlainObject, bytesPerElement int)

SetupTypedArrayConstructorProperties sets up the constructor properties with correct descriptors. Per ECMAScript spec: - BYTES_PER_ELEMENT: { writable: false, enumerable: false, configurable: false } - prototype: { writable: false, enumerable: false, configurable: false } - length: { writable: false, enumerable: false, configurable: true } - value is 3

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.

func SetupTypedArrayPrototypeProperties added in v0.9.9

func SetupTypedArrayPrototypeProperties(proto *vm.PlainObject, vmInstance *vm.VM, bytesPerElement int)

SetupTypedArrayPrototypeProperties sets up the prototype properties with correct descriptors. Per ECMAScript spec: - BYTES_PER_ELEMENT: { writable: false, enumerable: false, configurable: false } Note: buffer, byteLength, byteOffset, length accessors are on %TypedArray%.prototype (base), not on each subtype prototype. See typedarray_base_init.go.

func SetupTypedArrayToStringTag added in v0.9.9

func SetupTypedArrayToStringTag(proto *vm.PlainObject, typedArrayName string)

SetupTypedArrayToStringTag adds Symbol.toStringTag getter to a TypedArray prototype. Per ECMAScript spec, %TypedArray%.prototype[@@toStringTag] is "TypedArray" and each specific TypedArray prototype has its own [@@toStringTag] (e.g., "Uint8Array"). The property is: { writable: false, enumerable: false, configurable: true }

func TypedArrayGPFC added in v0.9.10

func TypedArrayGPFC(vmInstance *vm.VM) error

TypedArrayGPFC calls GetPrototypeFromConstructor if newTarget is set. This implements the GPFC portion of AllocateTypedArray.

func TypedArrayToIndex added in v0.9.10

func TypedArrayToIndex(vmInstance *vm.VM, arg vm.Value) (int, error)

TypedArrayToIndex validates a non-object argument for TypedArray constructors. Per spec, ToIndex calls ToNumber which throws TypeError for Symbol and BigInt.

func ValidateTypedArrayBufferAlignment added in v0.9.9

func ValidateTypedArrayBufferAlignment(vmInstance *vm.VM, buffer *vm.ArrayBufferObject, byteOffset, elementSize int) error

ValidateTypedArrayBufferAlignment checks that when length is undefined (auto-calculate), the remaining buffer bytes after byteOffset is aligned to elementSize. Per ECMAScript spec 22.2.4.5 step 13a: - If bufferByteLength modulo elementSize ≠ 0, throw a RangeError

func ValidateTypedArrayBufferAlignmentShared added in v0.9.9

func ValidateTypedArrayBufferAlignmentShared(vmInstance *vm.VM, buffer *vm.SharedArrayBufferObject, byteOffset, elementSize int) error

ValidateTypedArrayBufferAlignmentShared is the SharedArrayBuffer version of ValidateTypedArrayBufferAlignment

func ValidateTypedArrayByteOffset added in v0.9.9

func ValidateTypedArrayByteOffset(vmInstance *vm.VM, byteOffsetArg vm.Value, elementSize int) (int, error)

ValidateTypedArrayByteOffset converts byteOffset to integer (calling valueOf if needed) and validates that it's aligned to the element size. Per ECMAScript spec 22.2.4.5: - Step 7: Let offset be ? ToInteger(byteOffset) - Step 10: If offset modulo elementSize ≠ 0, throw a RangeError

func ValidateTypedArrayByteOffsetShared added in v0.9.9

func ValidateTypedArrayByteOffsetShared(vmInstance *vm.VM, byteOffsetArg vm.Value, elementSize int) (int, error)

ValidateTypedArrayByteOffsetShared is the SharedArrayBuffer version of ValidateTypedArrayByteOffset

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 AggregateErrorInitializer added in v0.9.9

type AggregateErrorInitializer struct{}

AggregateError - used by Promise.any when all promises reject

func (*AggregateErrorInitializer) InitRuntime added in v0.9.9

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

func (*AggregateErrorInitializer) InitTypes added in v0.9.9

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

func (*AggregateErrorInitializer) Name added in v0.9.9

func (*AggregateErrorInitializer) Priority added in v0.9.9

func (e *AggregateErrorInitializer) Priority() int

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 AtomicsInitializer added in v0.9.9

type AtomicsInitializer struct{}

func (*AtomicsInitializer) InitRuntime added in v0.9.9

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

func (*AtomicsInitializer) InitTypes added in v0.9.9

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

func (*AtomicsInitializer) Name added in v0.9.9

func (a *AtomicsInitializer) Name() string

func (*AtomicsInitializer) Priority added in v0.9.9

func (a *AtomicsInitializer) 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 DataViewInitializer added in v0.9.9

type DataViewInitializer struct{}

func (*DataViewInitializer) InitRuntime added in v0.9.9

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

func (*DataViewInitializer) InitTypes added in v0.9.9

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

func (*DataViewInitializer) Name added in v0.9.9

func (d *DataViewInitializer) Name() string

func (*DataViewInitializer) Priority added in v0.9.9

func (d *DataViewInitializer) 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 SharedArrayBufferInitializer added in v0.9.9

type SharedArrayBufferInitializer struct{}

func (*SharedArrayBufferInitializer) InitRuntime added in v0.9.9

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

func (*SharedArrayBufferInitializer) InitTypes added in v0.9.9

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

func (*SharedArrayBufferInitializer) Name added in v0.9.9

func (*SharedArrayBufferInitializer) Priority added in v0.9.9

func (s *SharedArrayBufferInitializer) 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 TemporalInitializer added in v0.9.9

type TemporalInitializer struct{}

func (*TemporalInitializer) InitRuntime added in v0.9.9

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

func (*TemporalInitializer) InitTypes added in v0.9.9

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

func (*TemporalInitializer) Name added in v0.9.9

func (t *TemporalInitializer) Name() string

func (*TemporalInitializer) Priority added in v0.9.9

func (t *TemporalInitializer) Priority() int

type TextDecoderInitializer added in v0.9.11

type TextDecoderInitializer struct{}

TextDecoderInitializer implements TextDecoder constructor and prototype

func (*TextDecoderInitializer) InitRuntime added in v0.9.11

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

func (*TextDecoderInitializer) InitTypes added in v0.9.11

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

func (*TextDecoderInitializer) Name added in v0.9.11

func (t *TextDecoderInitializer) Name() string

func (*TextDecoderInitializer) Priority added in v0.9.11

func (t *TextDecoderInitializer) Priority() int

type TextEncoderInitializer added in v0.9.11

type TextEncoderInitializer struct{}

TextEncoderInitializer implements TextEncoder constructor and prototype

func (*TextEncoderInitializer) InitRuntime added in v0.9.11

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

func (*TextEncoderInitializer) InitTypes added in v0.9.11

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

func (*TextEncoderInitializer) Name added in v0.9.11

func (t *TextEncoderInitializer) Name() string

func (*TextEncoderInitializer) Priority added in v0.9.11

func (t *TextEncoderInitializer) 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 WeakRefInitializer added in v0.9.9

type WeakRefInitializer struct{}

func (*WeakRefInitializer) InitRuntime added in v0.9.9

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

func (*WeakRefInitializer) InitTypes added in v0.9.9

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

func (*WeakRefInitializer) Name added in v0.9.9

func (w *WeakRefInitializer) Name() string

func (*WeakRefInitializer) Priority added in v0.9.9

func (w *WeakRefInitializer) 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