gojahost

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

The gojahost package provides functionality to execute client-scripts in gost-dom. The package is a pure Go implementation by using goja.

The package may not have full ECMAScript support. If this is a problem, the [v8host] proves a v8 engine implementation, but requires CGo.

See also: https://pkg.go.dev/github.com/dop251/goja

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New() html.ScriptHost

Types

type GojaContext

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

func (*GojaContext) Clock added in v0.3.0

func (c *GojaContext) Clock() html.Clock

func (*GojaContext) Close

func (i *GojaContext) Close()

func (*GojaContext) Compile added in v0.8.0

func (c *GojaContext) Compile(script string) (html.Script, error)

func (*GojaContext) CreateClass added in v0.7.2

func (c *GojaContext) CreateClass(
	name string, extends js.Class[jsTypeParam],
	cb js.FunctionCallback[jsTypeParam],
) js.Class[jsTypeParam]

func (*GojaContext) CreateFunction added in v0.7.2

func (c *GojaContext) CreateFunction(name string, cb js.FunctionCallback[jsTypeParam])

func (*GojaContext) DownloadModule added in v0.8.0

func (c *GojaContext) DownloadModule(script string) (html.Script, error)

func (*GojaContext) DownloadScript added in v0.8.0

func (c *GojaContext) DownloadScript(script string) (html.Script, error)

func (*GojaContext) Eval

func (i *GojaContext) Eval(str string) (res any, err error)

func (*GojaContext) EvalCore

func (i *GojaContext) EvalCore(str string) (res any, err error)

func (*GojaContext) Export

func (i *GojaContext) Export(value any) (res any, err error)

Export create a native Go value out of a javascript value. The value argument must be a goja.Value instance.

This function is intended to be used only for test purposes. The value has an [any] type as the tests are not supposed to know the details of the underlying engine.

The value is expected to be the ourput of [RunFunction] or [EvalCore]

An error will be returned if the value is not a goja Value, or the value could not be converted to a native Go object

func (*GojaContext) Run

func (i *GojaContext) Run(str string) error

func (*GojaContext) RunFunction

func (i *GojaContext) RunFunction(str string, arguments ...any) (res any, err error)

func (*GojaContext) RunScript added in v0.8.0

func (c *GojaContext) RunScript(script, src string)

type GojaScript added in v0.8.0

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

func (GojaScript) Eval added in v0.8.0

func (s GojaScript) Eval() (res any, err error)

func (GojaScript) Run added in v0.8.0

func (s GojaScript) Run() error

type ScriptEngineConfigurer added in v0.7.2

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

func (*ScriptEngineConfigurer) AddConfigurator added in v0.7.2

func (c *ScriptEngineConfigurer) AddConfigurator(configurer js.Configurator[jsTypeParam])

Jump to

Keyboard shortcuts

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