gojahost

package
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2025 License: MIT Imports: 14 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

Jump to

Keyboard shortcuts

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